Merge branch 'develop' into IobMan

This commit is contained in:
Samuele E. Locatelli
2019-12-23 11:39:10 +01:00
6 changed files with 123 additions and 40 deletions
+4 -3
View File
@@ -7,8 +7,9 @@
<add key="checkPeriod" value="20" />
<add key="chekMult" value="25"/>
<add key="watchDogMult" value="1000"/>
<add key="targetExe" value="C:\tmp\IOB-WIN\IOB-WIN.exe" />
<add key="ArgsList" value="SIMUL_01,SIMUL_02" />
<!--<add key="ArgsList" value="SIMUL_01,SIMUL_02,SIMUL_03,SIMUL_04" />-->
<add key="closeOnChildUpdate" value="true"/>
<add key="targetExe" value="C:\Steamware\IOB-WIN\IOB-WIN.exe" />
<add key="BaseArg" value="MODE=MAN IOB=" />
<add key="ArgsList" value="SIMUL_01,SIMUL_02,SIMUL_03,SIMUL_04" />
</appSettings>
</configuration>
+11 -15
View File
@@ -149,7 +149,7 @@ namespace IOB_MAN
psi = new ProcessStartInfo
{
FileName = TargetExe,
Arguments = item,
Arguments = $"{utils.CRS("BaseArg")}{item}",
WindowStyle = ProcessWindowStyle.Minimized
};
@@ -183,15 +183,19 @@ namespace IOB_MAN
psi = new ProcessStartInfo
{
FileName = TargetExe,
Arguments = "NONE",
Arguments = "MODE=UPD IOB=NONE",
WindowStyle = ProcessWindowStyle.Normal
};
// avvio processo con using...
using (Process p = Process.Start(psi))
{
p.WaitForExit();
// ora chiudo current...
this.Close();
// ora chiudo current... SE configurato
if (utils.CRB("closeOnChildUpdate"))
{
this.Close();
}
}
}
/// <summary>
@@ -373,13 +377,6 @@ namespace IOB_MAN
item.isRunning = true;
}
}
#if false
// ora procdedo alla cancellazione...
foreach (var item in item2rem)
{
ElencoIOB.Remove(item);
}
#endif
// aggiorno datagrid!
dgvManagedItems.Invalidate();
updateStatus();
@@ -414,7 +411,7 @@ namespace IOB_MAN
}
}
// per sicurezza CERCO i processi x nome...
string nomeProc = Path.GetFileName(TargetExe).Replace(".exe","");
string nomeProc = Path.GetFileName(TargetExe).Replace(".exe", "");
var stillRunningProc = Process.GetProcessesByName(nomeProc);
if (stillRunningProc != null)
{
@@ -444,7 +441,7 @@ namespace IOB_MAN
{
bool selected = (dgvManagedItems.SelectedRows.Count > 0);
btnClose.Enabled = selected;
}
}
private void dgvManagedItems_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
@@ -574,7 +571,7 @@ namespace IOB_MAN
// apre solo 1 con conf "fake" x condurre update...
apriOneUpdate();
}
private void btnCloseAll_Click(object sender, EventArgs e)
{
// chiude tutto
@@ -617,7 +614,6 @@ namespace IOB_MAN
updateStatus();
// apre solo 1 con conf "fake" x condurre update...
apriOneUpdate();
}
}
+2 -2
View File
@@ -1005,8 +1005,8 @@ namespace IOB_WIN
start.Enabled = false;
break;
}
lblCNC.Text = string.Format("CNC: {0} [{1}:{2}]", IOBConf.tipoIob, IOBConf.cncIpAddr, IOBConf.cncPort);
lblSrvUrl.Text = string.Format("SRV: {0} | URL: {1}{2}", IOBConf.serverData.MPIP, IOBConf.serverData.MPURL, IOBConf.serverData.CMDBASE);
lblCNC.Text = $"CNC: {IOBConf.tipoIob} [{IOBConf.cncIpAddr}:{IOBConf.cncPort}]";
lblSrvUrl.Text = $"SRV: {IOBConf.serverData.MPIP} | URL: {IOBConf.serverData.MPURL}{IOBConf.serverData.CMDBASE}";
// aggancio evento refresh
iobObj.eh_refreshed += IobObj_eh_refreshed;
+13 -1
View File
@@ -5,7 +5,19 @@ using System.Text;
namespace IOB_WIN
{
public class Enums
public enum StartMode
{
/// <summary>
/// modalità standard (standalone, multi IOB)
/// </summary>
STD = 0,
/// <summary>
/// Modalità managed (da IOB-MAN)
/// </summary>
MAN = 1,
/// <summary>
/// Modalità update (per aggiornare IOB-WIN) senza IOB
/// </summary>
UPD = 2
}
}
+92 -18
View File
@@ -23,10 +23,18 @@ namespace IOB_WIN
#region variabili globali, utils ed helpers
/// <summary>
/// PArametri (opzionali) di avvio
/// Parametri (opzionali) di avvio
/// </summary>
protected string[] myArgs;
/// <summary>
/// Dizionario dei parametri di avvio (da elenco args...)
/// </summary>
protected Dictionary<string, string> startParams = new Dictionary<string, string>();
/// <summary>
/// Modalità di avvio
/// </summary>
protected StartMode ModoAvvio = StartMode.STD;
/// <summary>
/// Ramo applicazione (x update)
/// </summary>
protected string branchName = "master";
@@ -299,8 +307,8 @@ namespace IOB_WIN
/// </summary>
public MainForm(string[] args)
{
// salgo args di avvio
myArgs = args;
// salvo aprametri avvio...
saveArgs(args);
// continuo iNIT!!!
InitializeComponent();
myInit();
@@ -320,6 +328,37 @@ namespace IOB_WIN
}
}
}
/// <summary>
/// effettua salvataggio argomenti
/// </summary>
/// <param name="args"></param>
protected void saveArgs(string[] args)
{
if (args != null)
{
// salvo args di avvio (sono parametri tipo param1=val1 param2=test1,test2,test3
myArgs = args;
if (myArgs.Length > 0)
{
// salvo dictionary!
foreach (var item in myArgs)
{
var kvp = item.Split('=');
startParams.Add(kvp[0], kvp[1]);
}
}
// verifico gli args...
if (startParams.ContainsKey("MODE"))
{
try
{
ModoAvvio = (StartMode)Enum.Parse(typeof(StartMode), startParams["MODE"]);
}
catch
{ }
}
}
}
protected void myInit()
{
@@ -335,7 +374,7 @@ namespace IOB_WIN
notifyIcon1.Icon = Icon.ExtractAssociatedIcon(utils.defIconFilePath);
// fix versione!
lblApp.Text = string.Format("{0}", ConfigurationManager.AppSettings.Get("appName"));
lblApp.Text = $"{ConfigurationManager.AppSettings.Get("appName")} ({ModoAvvio})";
lblVers.Text = string.Format(" v.{0}", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
@@ -363,7 +402,6 @@ namespace IOB_WIN
{
try
{
loadIniFile(utils.mainConfFilePath);
lgInfo("INI LOADED");
// avvio child come richiesto!
@@ -470,13 +508,37 @@ namespace IOB_WIN
CMDIOB2CALL = fIni.ReadString("SERVER", "CMDIOB2CALL", "/IOB/getIob2call?GWIP=");
MAXCNC = fIni.ReadInteger("IOB", "MAXCNC", 1);
string STARTLIST = fIni.ReadString("IOB", "STARTLIST", "");
if (STARTLIST != "")
// Gestione IOB da avviare
IOB2START = new List<string>();
// SE se sono in modo UPD --> nessuno
if (ModoAvvio == StartMode.UPD)
{
IOB2START = new List<string>();
string[] elenco = STARTLIST.Split(',');
foreach (var item in elenco)
IOB2START.Add("NONE");
}
else
{
string[] elenco = null;
// se modalità MAN CERCO se sostituire STARTLIST
if (ModoAvvio == StartMode.MAN)
{
IOB2START.Add(item);
if (!string.IsNullOrEmpty(startParams["IOB"]))
{
STARTLIST = startParams["IOB"];
}
}
// se ho qualcosa...
if (!string.IsNullOrEmpty(STARTLIST))
{
elenco = STARTLIST.Split(',');
// inserisco da elenco!
foreach (var item in elenco)
{
IOB2START.Add(item);
}
}
else
{
IOB2START.Add("NONE");
}
}
}
@@ -870,11 +932,19 @@ namespace IOB_WIN
{
WindowState = FormWindowState.Minimized;
}
// controllo cosa devo mostrare...
if (WindowState == FormWindowState.Minimized)
// SOLO SE se sono in modo STD
if (ModoAvvio == StartMode.STD)
{
notifyIcon1.Visible = false;
sendToTray();
// controllo cosa devo mostrare...
if (WindowState == FormWindowState.Minimized)
{
notifyIcon1.Visible = false;
sendToTray();
}
else
{
notifyIcon1.Visible = false;
}
}
else
{
@@ -987,11 +1057,15 @@ namespace IOB_WIN
/// <param name="e"></param>
private void MainForm_Shown(object sender, EventArgs e)
{
// avvio minimizzato se richiesto
if (utils.CRB("startMinimized"))
// SOLO SE se sono in modo STD
if (ModoAvvio == StartMode.STD)
{
// controllo e mando a tray...
sendToTray();
// avvio minimizzato se richiesto
if (utils.CRB("startMinimized"))
{
// controllo e mando a tray...
sendToTray();
}
}
displayTaskAndLog("Main Form SHOWN");
}
Vendored
+1 -1
View File
@@ -16,7 +16,7 @@ pipeline {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=615']) {
withEnv(['NEXT_BUILD_NUMBER=617']) {
// env.versionNumber = VersionNumber(versionNumberString : '3.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '3.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'MAPO-IOB-WIN'