private void IfConditionHelper_CellContentClick(object sender, DataGridViewCellEventArgs e) { var senderGrid = (DataGridView)sender; if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0) { var buttonSelected = senderGrid.Rows[e.RowIndex].Cells[e.ColumnIndex] as DataGridViewButtonCell; var selectedRow = v_IfConditionsTable.Rows[e.RowIndex]; if (buttonSelected.Value.ToString() == "Edit") { //launch editor var statement = selectedRow["Statement"]; var commandData = selectedRow["CommandData"].ToString(); var ifCommand = JsonConvert.DeserializeObject <BeginIfCommand>(commandData); var automationCommands = UIControlsHelper.GenerateCommandsandControls().Where(f => f.Command is BeginIfCommand).ToList(); frmCommandEditor editor = new frmCommandEditor(automationCommands, null); editor.SelectedCommand = ifCommand; editor.EditingCommand = ifCommand; editor.OriginalCommand = ifCommand; editor.CreationModeInstance = CreationMode.Edit; editor.ScriptVariables = _scriptVariables; editor.ScriptElements = _scriptElements; if (editor.ShowDialog() == DialogResult.OK) { var editedCommand = editor.EditingCommand as BeginIfCommand; var displayText = editedCommand.GetDisplayValue(); var serializedData = JsonConvert.SerializeObject(editedCommand); selectedRow["Statement"] = displayText; selectedRow["CommandData"] = serializedData; } } else if (buttonSelected.Value.ToString() == "Delete") { //delete v_IfConditionsTable.Rows.Remove(selectedRow); } else { throw new NotImplementedException("Requested Action is not implemented."); } } }
private void CreateLoopCondition(object sender, EventArgs e) { var automationCommands = UIControlsHelper.GenerateCommandsandControls().Where(f => f.Command is BeginLoopCommand).ToList(); frmCommandEditor editor = new frmCommandEditor(automationCommands, null); editor.SelectedCommand = new BeginLoopCommand(); var res = editor.ShowDialog(); if (res == DialogResult.OK) { //get data var configuredCommand = editor.SelectedCommand as BeginLoopCommand; var displayText = configuredCommand.GetDisplayValue(); var serializedData = JsonConvert.SerializeObject(configuredCommand); //add to list v_LoopConditionsTable.Rows.Add(displayText, serializedData); } }
private void frmScriptBuilder_Load(object sender, EventArgs e) { //load all commands _automationCommands = UIControlsHelper.GenerateCommandsandControls(); //set controls double buffered foreach (Control control in Controls) { typeof(Control).InvokeMember("DoubleBuffered", BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic, null, control, new object[] { true }); } //get app settings _appSettings = new ApplicationSettings(); _appSettings = _appSettings.GetOrCreateApplicationSettings(); string clientLoggerFilePath = Path.Combine(Folders.GetFolder(FolderType.LogFolder), "OpenBots Automation Client Logs.txt"); Logger automationClientLogger = new Logging().CreateFileLogger(clientLoggerFilePath, Serilog.RollingInterval.Day); //Core.Sockets.SocketClient.Initialize(); //Core.Sockets.SocketClient.associatedBuilder = this; //handle action bar preference //hide action panel if (_editMode) { tlpControls.RowStyles[0].SizeType = SizeType.Absolute; tlpControls.RowStyles[0].Height = 0; tlpControls.RowStyles[1].SizeType = SizeType.Absolute; tlpControls.RowStyles[1].Height = 81; } else if (_appSettings.ClientSettings.UseSlimActionBar) { tlpControls.RowStyles[1].SizeType = SizeType.Absolute; tlpControls.RowStyles[1].Height = 0; } else { tlpControls.RowStyles[0].SizeType = SizeType.Absolute; tlpControls.RowStyles[0].Height = 0; } //get scripts folder var rpaScriptsFolder = Folders.GetFolder(FolderType.ScriptsFolder); if (!Directory.Exists(rpaScriptsFolder)) { frmDialog userDialog = new frmDialog("Would you like to create a folder to save your scripts in now? " + "A script folder is required to save scripts generated with this application. " + "The new script folder path would be '" + rpaScriptsFolder + "'.", "Unable to locate Script Folder!", DialogType.YesNo, 0); if (userDialog.ShowDialog() == DialogResult.OK) { Directory.CreateDirectory(rpaScriptsFolder); } } //get latest files for recent files list on load GenerateRecentFiles(); //no height for status bar HideNotificationRow(); //instantiate for script variables if (!_editMode) { _scriptVariables = new List <ScriptVariable>(); _scriptElements = new List <ScriptElement>(); } //pnlHeader.BackColor = Color.FromArgb(255, 214, 88); //instantiate and populate display icons for commands _uiImages = UIImage.UIImageList(); //set image list _selectedTabScriptActions.SmallImageList = _uiImages; //set listview column size frmScriptBuilder_SizeChanged(null, null); var groupedCommands = _automationCommands.GroupBy(f => f.DisplayGroup); foreach (var cmd in groupedCommands) { TreeNode newGroup = new TreeNode(cmd.Key); foreach (var subcmd in cmd) { TreeNode subNode = new TreeNode(subcmd.ShortName); subNode.ToolTipText = subcmd.Description; newGroup.Nodes.Add(subNode); } tvCommands.Nodes.Add(newGroup); } tvCommands.Sort(); //tvCommands.ImageList = uiImages; _tvCommandsCopy = new TreeView(); _tvCommandsCopy.ShowNodeToolTips = true; CopyTreeView(tvCommands, _tvCommandsCopy); txtCommandSearch.Text = _txtCommandWatermark; //start attended mode if selected if (_appSettings.ClientSettings.StartupMode == "Attended Task Mode") { WindowState = FormWindowState.Minimized; var frmAttended = new frmAttendedMode(ScriptProjectPath); frmAttended.Show(); } }