private void RunCommand(object sender, EventArgs e) { Log.Info("Running command from execute widget"); Button realsender = ((Button)sender); ExecuteTemplate widgetSender = (ExecuteTemplate)realsender.Parent.Parent; IndexOfRunWidget = Int32.Parse(widgetSender.Tag.ToString()); var widgets = Json.ReadJson(); // 7ms for reading a empty file var widget = widgets[IndexOfRunWidget]; string command = widgetSender.CommandName.Text; if (command != "") { Widget thisWidget = new Widget { WidgetUseLongProcessTime = widget.WidgetUseLongProcessTime, WidgetCommand = command }; BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += getWidgetResult_doWork; bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(getWidgetResult_workFinished); bw.RunWorkerAsync(thisWidget); } }
private void getWidgetsAsync_runCompleted(object sender, RunWorkerCompletedEventArgs e) { int indexWidget = 0; foreach (var item in ReadyWidgets) { if (item.WidgetType == "Informatie") { var newPanel = new InfoTemplate { Name = "Panel" + indexWidget, Tag = indexWidget.ToString(), TitleWidgetLabel = { Text = item.WidgetName }, CommandName = { Text = item.WidgetCommand } }; newPanel.CloseWidgetPicturebox.Click += new EventHandler(RemoveWidget); newPanel.MaxWidgetPicturebox.Click += new EventHandler(MaximizeWidget); if (item.WidgetUseSelection == true) { string finalString = Responses.GetStringFromResponse(item.WidgetOutput, item.WidgetEnterCountBeforeString, item.WidgetEnterCountInString); newPanel.Outputbox.Text = finalString; } else { newPanel.Outputbox.Text = item.WidgetOutput; } MainTableLayoutPanel.Controls.Add(newPanel); } else //execute widget { var newPanel = new ExecuteTemplate { Name = "Panel" + indexWidget, Tag = indexWidget.ToString(), TitleWidgetLabel = { Text = item.WidgetName }, CommandName = { Text = item.WidgetCommand } }; newPanel.CloseWidgetPicturebox.Click += new EventHandler(RemoveWidget); newPanel.RunButton.Click += new EventHandler(RunCommand); newPanel.MaxWidgetPicturebox.Click += new EventHandler(MaximizeWidget); newPanel.RunButton.Text = "Uitvoeren"; MainTableLayoutPanel.Controls.Add(newPanel); } indexWidget++; } if ((bool)e.Result == true) { PictureBox addButton = new PictureBox { Size = new Size(100, 100), BackColor = Color.Transparent, Image = Properties.Resources.add_1, SizeMode = PictureBoxSizeMode.Zoom, Anchor = AnchorStyles.None }; addButton.Click += new EventHandler(AddButtonClick); MainTableLayoutPanel.Controls.Add(addButton); MainTableLayoutPanel.Enabled = true; } }
private void getWidgetPageInfo_runCompleted(object sender, RunWorkerCompletedEventArgs e) { List <Widget> widgets = Json.ReadJson(); int indexWidget = 0; if (_listOfWidgetItems[0].WidgetOutput == null && _listOfWidgetItems[1].WidgetOutput == null)// check if command received timeout { MessageBox.Show("Er vond een timeout plaats - controleer de gegevens en probeer het opnieuw"); Log.Info("A timeout has occured while trying to get widgets - check router details"); } else { foreach (var item in _listOfWidgetItems) { if (item.WidgetTag == "PID") { string totalOutput = item.WidgetOutput; string pid = TelnetConnection.FindPid(totalOutput); routerType.Text = pid; } else if (item.WidgetTag == "showRun") { runningConfigOutputField.Text = item.WidgetOutput; } else { int index = Int32.Parse(item.WidgetTag); if (widgets[index].WidgetType == "Informatie") { var newPanel = new InfoTemplate { Name = "Panel" + indexWidget.ToString(), Tag = indexWidget.ToString(), TitleWidgetLabel = { Text = widgets[indexWidget].WidgetName }, CommandName = { Text = widgets[indexWidget].WidgetCommand } }; newPanel.CloseWidgetPicturebox.Click += new EventHandler(RemoveWidget); newPanel.MaxWidgetPicturebox.Click += new EventHandler(MaximizeWidget); if (widgets[indexWidget].WidgetUseSelection == true) { string finalString = Responses.GetStringFromResponse(item.WidgetOutput, widgets[indexWidget].WidgetEnterCountBeforeString, widgets[indexWidget].WidgetEnterCountInString); newPanel.Outputbox.Text = finalString; } else { newPanel.Outputbox.Text = item.WidgetOutput; } MainTableLayoutPanel.Controls.Add(newPanel); } else //execute widget { var newPanel = new ExecuteTemplate { Name = "Panel" + indexWidget.ToString(), Tag = indexWidget.ToString(), TitleWidgetLabel = { Text = widgets[indexWidget].WidgetName }, CommandName = { Text = widgets[indexWidget].WidgetCommand } }; newPanel.CloseWidgetPicturebox.Click += new EventHandler(RemoveWidget); newPanel.RunButton.Click += new EventHandler(RunCommand); newPanel.MaxWidgetPicturebox.Click += new EventHandler(MaximizeWidget); newPanel.RunButton.Text = "Uitvoeren"; MainTableLayoutPanel.Controls.Add(newPanel); } indexWidget++; } } PictureBox addButton = new PictureBox { Size = new Size(100, 100), BackColor = Color.Transparent, Image = Properties.Resources.add_1, SizeMode = PictureBoxSizeMode.Zoom, Anchor = AnchorStyles.None }; addButton.Click += new EventHandler(AddButtonClick); MainTableLayoutPanel.Controls.Add(addButton); MainTableLayoutPanel.Enabled = true; } }