public List <Control> CreateConditionActionParameterTable(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            var noCSharpControls = new List <Control>();

            RecorderControl = new CommandItemControl("guirecorder_helper", Resources.command_camera, "Element Recorder");
            RecorderControl.Hide();

            noCSharpControls.Add(commandControls.CreateDefaultLabelFor("v_ActionType", ConditionCommand));
            ActionDropdown = commandControls.CreateDropdownFor("v_ActionType", ConditionCommand);
            noCSharpControls.AddRange(commandControls.CreateUIHelpersFor("v_ActionType", ConditionCommand, new Control[] { ActionDropdown }, editor));
            ActionDropdown.SelectionChangeCommitted += Action_SelectionChangeCommitted;
            noCSharpControls.Add(ActionDropdown);

            noCSharpControls.Add(commandControls.CreateDefaultLabelFor("v_ActionParameterTable", ConditionCommand));

            RecorderControl.Click += (sender, e) => ShowElementRecorder(sender, e, editor, commandControls);
            noCSharpControls.Add(RecorderControl);

            ActionGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_ActionParameterTable", ConditionCommand);
            ActionGridViewHelper.AllowUserToAddRows    = false;
            ActionGridViewHelper.AllowUserToDeleteRows = false;
            ActionGridViewHelper.MouseEnter           += ActionGridViewHelper_MouseEnter;

            noCSharpControls.AddRange(commandControls.CreateUIHelpersFor("v_ActionParameterTable", ConditionCommand, new Control[] { ActionGridViewHelper }, editor));
            noCSharpControls.Add(ActionGridViewHelper);
            return(noCSharpControls);
        }
Пример #2
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            _actionDropdown = commandControls.CreateDropdownFor("v_LoopActionType", this);
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_LoopActionType", this));
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_LoopActionType", this, new Control[] { _actionDropdown }, editor));
            _actionDropdown.SelectionChangeCommitted += loopAction_SelectionChangeCommitted;
            RenderedControls.Add(_actionDropdown);

            _parameterControls = new List <Control>();
            _parameterControls.Add(commandControls.CreateDefaultLabelFor("v_ActionParameterTable", this));
            _recorderControl.Click += (sender, e) => ShowLoopElementRecorder(sender, e, editor, commandControls);
            _parameterControls.Add(_recorderControl);

            _loopGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_ActionParameterTable", this);
            _loopGridViewHelper.AllowUserToAddRows    = false;
            _loopGridViewHelper.AllowUserToDeleteRows = false;
            _loopGridViewHelper.MouseEnter           += LoopGridViewHelper_MouseEnter;

            _parameterControls.AddRange(commandControls.CreateUIHelpersFor("v_ActionParameterTable", this, new Control[] { _loopGridViewHelper }, editor));
            _parameterControls.Add(_loopGridViewHelper);

            RenderedControls.AddRange(_parameterControls);

            return(RenderedControls);
        }
Пример #3
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_DataTable", this, editor));

            CommandItemControl loadSchemaControl = new CommandItemControl("columnNameLoader", Resources.command_spreadsheet, "Load Column Names From Existing DataTable");

            loadSchemaControl.Click += LoadSchemaControl_Click;

            var dataRowDataControls = new List <Control>();

            dataRowDataControls.Add(commandControls.CreateDefaultLabelFor("v_DataRowDataTable", this));
            var gridview = commandControls.CreateDefaultDataGridViewFor("v_DataRowDataTable", this);

            dataRowDataControls.AddRange(commandControls.CreateUIHelpersFor("v_DataRowDataTable", this, new Control[] { gridview }, editor));
            dataRowDataControls.Add(loadSchemaControl);
            dataRowDataControls.Add(gridview);

            RenderedControls.AddRange(dataRowDataControls);

            _dataTableCreationCommands = editor.ConfiguredCommands.Where(f => f is CreateDataTableCommand)
                                         .Select(f => (CreateDataTableCommand)f)
                                         .ToList();

            RenderedControls.AddRange(commandControls.CreateDefaultOutputGroupFor("v_OutputUserVariableName", this, editor));

            return(RenderedControls);
        }
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InputText", this, editor));

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_TextExtractionType", this));
            var selectionControl = commandControls.CreateDropdownFor("v_TextExtractionType", this);

            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_TextExtractionType", this, new Control[] { selectionControl }, editor));
            selectionControl.SelectionChangeCommitted += TextExtraction_SelectionChangeCommitted;
            RenderedControls.Add(selectionControl);

            var textExtractionGridViewControls = new List <Control>();

            textExtractionGridViewControls.Add(commandControls.CreateDefaultLabelFor("v_TextExtractionTable", this));

            var textExtractionGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_TextExtractionTable", this);

            textExtractionGridViewHelper.AllowUserToAddRows    = false;
            textExtractionGridViewHelper.AllowUserToDeleteRows = false;

            textExtractionGridViewControls.AddRange(commandControls.CreateUIHelpersFor("v_TextExtractionTable", this, new Control[] { textExtractionGridViewHelper }, editor));
            textExtractionGridViewControls.Add(textExtractionGridViewHelper);
            RenderedControls.AddRange(textExtractionGridViewControls);

            RenderedControls.AddRange(commandControls.CreateDefaultOutputGroupFor("v_OutputUserVariableName", this, editor));

            return(RenderedControls);
        }
Пример #5
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultWindowControlGroupFor("v_WindowName", this, editor));

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_KeyActions", this));

            _keystrokeGridHelper = commandControls.CreateDefaultDataGridViewFor("v_KeyActions", this);
            _keystrokeGridHelper.AutoGenerateColumns = false;

            DataGridViewComboBoxColumn propertyName = new DataGridViewComboBoxColumn();

            propertyName.DataSource       = CommonMethods.GetAvailableKeys();
            propertyName.HeaderText       = "Selected Key";
            propertyName.DataPropertyName = "Key";
            _keystrokeGridHelper.Columns.Add(propertyName);

            DataGridViewComboBoxColumn propertyValue = new DataGridViewComboBoxColumn();

            propertyValue.DataSource = new List <string> {
                "Key Press (Down + Up)", "Key Down", "Key Up"
            };
            propertyValue.HeaderText       = "Selected Action";
            propertyValue.DataPropertyName = "Action";
            _keystrokeGridHelper.Columns.Add(propertyValue);

            RenderedControls.Add(_keystrokeGridHelper);

            RenderedControls.AddRange(commandControls.CreateDefaultDropdownGroupFor("v_KeyUpDefault", this, editor));

            return(RenderedControls);
        }
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            var imageCapture = commandControls.CreateDefaultPictureBoxFor("v_ImageCapture", this);

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_ImageCapture", this));
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_ImageCapture", this, new Control[] { imageCapture }, editor));
            RenderedControls.Add(imageCapture);

            _imageActionDropdown = commandControls.CreateDropdownFor("v_ImageAction", this);
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_ImageAction", this));
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_ImageAction", this, new Control[] { _imageActionDropdown }, editor));
            _imageActionDropdown.SelectionChangeCommitted += ImageAction_SelectionChangeCommitted;
            RenderedControls.Add(_imageActionDropdown);

            _imageParameterControls = new List <Control>();
            _imageParameterControls.Add(commandControls.CreateDefaultLabelFor("v_ImageActionParameterTable", this));

            _imageGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_ImageActionParameterTable", this);
            _imageGridViewHelper.AllowUserToAddRows    = false;
            _imageGridViewHelper.AllowUserToDeleteRows = false;
            //_imageGridViewHelper.AllowUserToResizeRows = false;
            _imageGridViewHelper.MouseEnter += ImageGridViewHelper_MouseEnter;

            _imageParameterControls.AddRange(commandControls.CreateUIHelpersFor("v_ImageActionParameterTable", this, new Control[] { _imageGridViewHelper }, editor));
            _imageParameterControls.Add(_imageGridViewHelper);
            RenderedControls.AddRange(_imageParameterControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_MatchAccuracy", this, editor));

            return(RenderedControls);
        }
Пример #7
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            _userInputGridViewHelper          = commandControls.CreateDefaultDataGridViewFor("v_UserInputConfig", this);
            _userInputGridViewHelper.KeyDown += UserInputDataGridView_KeyDown;

            var typefield = new DataGridViewComboBoxColumn();

            typefield.Items.Add("TextBox");
            typefield.Items.Add("CheckBox");
            typefield.Items.Add("ComboBox");
            typefield.HeaderText       = "Input Type";
            typefield.DataPropertyName = "Type";
            _userInputGridViewHelper.Columns.Add(typefield);

            var field = new DataGridViewTextBoxColumn();

            field.HeaderText       = "Input Label";
            field.DataPropertyName = "Label";
            _userInputGridViewHelper.Columns.Add(field);

            field                  = new DataGridViewTextBoxColumn();
            field.HeaderText       = "Input Size (X,Y)";
            field.DataPropertyName = "Size";
            _userInputGridViewHelper.Columns.Add(field);

            field                  = new DataGridViewTextBoxColumn();
            field.HeaderText       = "Default Value";
            field.DataPropertyName = "DefaultValue";
            _userInputGridViewHelper.Columns.Add(field);

            field                  = new DataGridViewTextBoxColumn();
            field.HeaderText       = "Assigned Variable";
            field.DataPropertyName = "StoreInVariable";
            _userInputGridViewHelper.Columns.Add(field);

            _userInputGridViewHelper.AllowUserToAddRows = false;
            _userInputGridViewHelper.AllowDrop          = true;
            _userInputGridViewHelper.MouseDown         += UserInputGridViewHelper_MouseDown;
            _userInputGridViewHelper.MouseUp           += UserInputGridViewHelper_MouseUp;
            _userInputGridViewHelper.MouseMove         += UserInputGridViewHelper_MouseMove;
            _userInputGridViewHelper.DragOver          += UserInputGridViewHelper_DragOver;
            _userInputGridViewHelper.DragDrop          += UserInputGridViewHelper_DragDrop;

            _addRowControl        = new CommandItemControl("AddInput", Resources.command_input, "Add Input Parameter");
            _addRowControl.Click += (sender, e) => AddInputParameter(sender, e, editor);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InputHeader", this, editor));
            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InputDirections", this, editor));

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_UserInputConfig", this));
            RenderedControls.Add(_addRowControl);
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_UserInputConfig", this, new Control[] { _userInputGridViewHelper }, editor));
            RenderedControls.Add(_userInputGridViewHelper);

            return(RenderedControls);
        }
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InstanceName", this, editor));
            RenderedControls.AddRange(commandControls.CreateDefaultDropdownGroupFor("v_QueryType", this, editor));

            var queryControls = commandControls.CreateDefaultInputGroupFor("v_Query", this, editor);
            var queryBox      = (TextBox)queryControls[2];

            queryBox.Multiline = true;
            queryBox.Height    = 150;
            RenderedControls.AddRange(queryControls);

            //set up query parameter controls
            _queryParametersGridView = commandControls.CreateDefaultDataGridViewFor("v_QueryParameters", this);
            _queryParametersGridView.AutoGenerateColumns = false;
            _queryParametersGridView.AllowUserToAddRows  = false;

            var selectColumn = new DataGridViewComboBoxColumn();

            selectColumn.HeaderText       = "Type";
            selectColumn.DataPropertyName = "Parameter Type";
            selectColumn.DataSource       = new string[] { "STRING", "BOOLEAN", "DECIMAL", "INT16",
                                                           "INT32", "INT64", "DATETIME", "DOUBLE",
                                                           "SINGLE", "GUID", "BYTE", "BYTE[]" };
            _queryParametersGridView.Columns.Add(selectColumn);

            var paramNameColumn = new DataGridViewTextBoxColumn();

            paramNameColumn.HeaderText       = "Name";
            paramNameColumn.DataPropertyName = "Parameter Name";
            _queryParametersGridView.Columns.Add(paramNameColumn);

            var paramValueColumn = new DataGridViewTextBoxColumn();

            paramValueColumn.HeaderText       = "Value";
            paramValueColumn.DataPropertyName = "Parameter Value";
            _queryParametersGridView.Columns.Add(paramValueColumn);

            _queryParametersControls = new List <Control>();
            _queryParametersControls.Add(commandControls.CreateDefaultLabelFor("v_QueryParameters", this));
            _queryParametersControls.AddRange(commandControls.CreateUIHelpersFor("v_QueryParameters", this, new Control[] { _queryParametersGridView }, editor));

            CommandItemControl helperControl = new CommandItemControl("add_param_helper", Resources.command_database, "Add Parameter");

            helperControl.Click += (sender, e) => AddParameter(sender, e);

            _queryParametersControls.Add(helperControl);
            _queryParametersControls.Add(_queryParametersGridView);
            RenderedControls.AddRange(_queryParametersControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_QueryTimeout", this, editor));
            RenderedControls.AddRange(commandControls.CreateDefaultOutputGroupFor("v_OutputUserVariableName", this, editor));
            return(RenderedControls);
        }
Пример #9
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            NativeHelper.AddDefaultSearchRows(v_SeleniumSearchParameters);
            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InstanceName", this, editor));

            CommandItemControl obWebRecorderControl = new CommandItemControl("OBWebRecorder", Resources.command_camera, "OB Web Element Recorder");

            obWebRecorderControl.Click += new EventHandler((s, e) => ShowRecorder(s, e, editor, commandControls));

            //disabled native chrome recorder for 1.5.0
            var searchParameterControls = commandControls.CreateDefaultWebElementDataGridViewGroupFor("v_SeleniumSearchParameters", this, editor,
                                                                                                      new Control[] { obWebRecorderControl, NativeHelper.NativeChromeRecorderControl(v_SeleniumSearchParameters, editor) });

            searchParameterControls.Last().MouseEnter += ActionParametersGridViewHelper_MouseEnter;
            RenderedControls.AddRange(searchParameterControls);

            RenderedControls.AddRange(commandControls.CreateDefaultDropdownGroupFor("v_SeleniumSearchOption", this, editor));

            _elementActionDropdown = commandControls.CreateDropdownFor("v_SeleniumElementAction", this);
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_SeleniumElementAction", this));
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_SeleniumElementAction", this, new Control[] { _elementActionDropdown }, editor));
            _elementActionDropdown.SelectionChangeCommitted += SeleniumAction_SelectionChangeCommitted;
            RenderedControls.Add(_elementActionDropdown);

            _actionParametersControls = new List <Control>();
            _actionParametersControls.Add(commandControls.CreateDefaultLabelFor("v_WebActionParameterTable", this));

            _actionParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_WebActionParameterTable", this);
            _actionParametersGridViewHelper.AllowUserToAddRows    = false;
            _actionParametersGridViewHelper.AllowUserToDeleteRows = false;
            _actionParametersGridViewHelper.MouseEnter           += ActionParametersGridViewHelper_MouseEnter;

            _actionParametersControls.AddRange(commandControls.CreateUIHelpersFor("v_WebActionParameterTable", this,
                                                                                  new Control[] { _actionParametersGridViewHelper }, editor));
            _actionParametersControls.Add(_actionParametersGridViewHelper);
            RenderedControls.AddRange(_actionParametersControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_Timeout", this, editor));

            return(RenderedControls);
        }
Пример #10
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            //create file path and helpers
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_TaskPath", this));
            var taskPathControl = commandControls.CreateDefaultInputFor("v_TaskPath", this);

            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_TaskPath", this, new Control[] { taskPathControl }, editor));
            RenderedControls.Add(taskPathControl);
            taskPathControl.TextChanged += TaskPathControl_TextChanged;

            _passParameters           = new CheckBox();
            _passParameters.AutoSize  = true;
            _passParameters.Text      = "Assign Arguments";
            _passParameters.Font      = new Font("Segoe UI Light", 12);
            _passParameters.ForeColor = Color.White;
            _passParameters.DataBindings.Add("Checked", this, "v_AssignArguments", false, DataSourceUpdateMode.OnPropertyChanged);
            _passParameters.CheckedChanged += async(sender, e) => await PassParametersCheckbox_CheckedChanged(sender, e, editor);

            commandControls.CreateDefaultToolTipFor("v_AssignArguments", this, _passParameters);
            RenderedControls.Add(_passParameters);

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_ArgumentAssignments", this));
            _assignmentsGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_ArgumentAssignments", this);
            _assignmentsGridViewHelper.AllowUserToAddRows    = false;
            _assignmentsGridViewHelper.AllowUserToDeleteRows = false;
            //refresh gridview
            _assignmentsGridViewHelper.MouseEnter += async(sender, e) => await PassParametersCheckbox_CheckedChanged(_passParameters, null, editor, true);

            if (!_passParameters.Checked)
            {
                _assignmentsGridViewHelper.Hide();
            }

            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_ArgumentAssignments", this, new Control[] { _assignmentsGridViewHelper }, editor));
            RenderedControls.Add(_assignmentsGridViewHelper);

            return(RenderedControls);
        }
Пример #11
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_BaseURL", this, editor));
            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_APIEndPoint", this, editor));

            var apiMethodLabel    = commandControls.CreateDefaultLabelFor("v_APIMethodType", this);
            var apiMethodDropdown = (ComboBox)commandControls.CreateDropdownFor("v_APIMethodType", this);

            foreach (Method method in (Method[])Enum.GetValues(typeof(Method)))
            {
                apiMethodDropdown.Items.Add(method.ToString());
            }
            RenderedControls.Add(apiMethodLabel);
            RenderedControls.Add(apiMethodDropdown);

            RenderedControls.AddRange(commandControls.CreateDefaultDropdownGroupFor("v_RequestFormat", this, editor));
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_RESTParameters", this));

            _RESTParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_RESTParameters", this);
            _RESTParametersGridViewHelper.AutoGenerateColumns = false;

            var selectColumn = new DataGridViewComboBoxColumn();

            selectColumn.HeaderText       = "Type";
            selectColumn.DataPropertyName = "Parameter Type";
            selectColumn.DataSource       = new string[] { "HEADER", "PARAMETER", "JSON BODY", "FILE" };
            _RESTParametersGridViewHelper.Columns.Add(selectColumn);

            var paramNameColumn = new DataGridViewTextBoxColumn();

            paramNameColumn.HeaderText       = "Name";
            paramNameColumn.DataPropertyName = "Parameter Name";
            _RESTParametersGridViewHelper.Columns.Add(paramNameColumn);

            var paramValueColumn = new DataGridViewTextBoxColumn();

            paramValueColumn.HeaderText       = "Value";
            paramValueColumn.DataPropertyName = "Parameter Value";
            _RESTParametersGridViewHelper.Columns.Add(paramValueColumn);

            RenderedControls.Add(_RESTParametersGridViewHelper);

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_AdvancedParameters", this));

            //advanced parameters
            _advancedRESTParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_AdvancedParameters", this);
            _advancedRESTParametersGridViewHelper.AutoGenerateColumns = false;

            var advParamNameColumn = new DataGridViewTextBoxColumn();

            advParamNameColumn.HeaderText       = "Name";
            advParamNameColumn.DataPropertyName = "Parameter Name";
            _advancedRESTParametersGridViewHelper.Columns.Add(advParamNameColumn);

            var advParamValueColumns = new DataGridViewTextBoxColumn();

            advParamValueColumns.HeaderText       = "Value";
            advParamValueColumns.DataPropertyName = "Parameter Value";
            _advancedRESTParametersGridViewHelper.Columns.Add(advParamValueColumns);

            var advParamContentType = new DataGridViewTextBoxColumn();

            advParamContentType.HeaderText       = "Content Type";
            advParamContentType.DataPropertyName = "Content Type";
            _advancedRESTParametersGridViewHelper.Columns.Add(advParamContentType);

            var advParamType = new DataGridViewComboBoxColumn();

            advParamType.HeaderText       = "Parameter Type";
            advParamType.DataPropertyName = "Parameter Type";
            advParamType.DataSource       = new string[] { "Cookie", "GetOrPost", "HttpHeader", "QueryString", "RequestBody", "URLSegment", "QueryStringWithoutEncode" };
            _advancedRESTParametersGridViewHelper.Columns.Add(advParamType);
            RenderedControls.Add(_advancedRESTParametersGridViewHelper);

            RenderedControls.AddRange(commandControls.CreateDefaultOutputGroupFor("v_OutputUserVariableName", this, editor));

            return(RenderedControls);
        }
Пример #12
0
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            //create search param grid
            _searchParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_UIASearchParameters", this);

            DataGridViewCheckBoxColumn enabled = new DataGridViewCheckBoxColumn();

            enabled.HeaderText       = "Enabled";
            enabled.DataPropertyName = "Enabled";
            _searchParametersGridViewHelper.Columns.Add(enabled);

            DataGridViewTextBoxColumn propertyName = new DataGridViewTextBoxColumn();

            propertyName.HeaderText       = "Parameter Name";
            propertyName.DataPropertyName = "Parameter Name";
            _searchParametersGridViewHelper.Columns.Add(propertyName);

            DataGridViewTextBoxColumn propertyValue = new DataGridViewTextBoxColumn();

            propertyValue.HeaderText       = "Parameter Value";
            propertyValue.DataPropertyName = "Parameter Value";

            _searchParametersGridViewHelper.Columns.Add(propertyValue);
            _searchParametersGridViewHelper.AllowUserToAddRows    = false;
            _searchParametersGridViewHelper.AllowUserToDeleteRows = false;
            _searchParametersGridViewHelper.MouseEnter           += ActionParametersGridViewHelper_MouseEnter;

            //create actions
            _actionParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_UIAActionParameters", this);
            _actionParametersGridViewHelper.AllowUserToAddRows    = false;
            _actionParametersGridViewHelper.AllowUserToDeleteRows = false;
            _actionParametersGridViewHelper.MouseEnter           += ActionParametersGridViewHelper_MouseEnter;

            propertyName                  = new DataGridViewTextBoxColumn();
            propertyName.HeaderText       = "Parameter Name";
            propertyName.DataPropertyName = "Parameter Name";
            _actionParametersGridViewHelper.Columns.Add(propertyName);

            propertyValue                  = new DataGridViewTextBoxColumn();
            propertyValue.HeaderText       = "Parameter Value";
            propertyValue.DataPropertyName = "Parameter Value";
            _actionParametersGridViewHelper.Columns.Add(propertyValue);

            //create helper control
            CommandItemControl helperControl = new CommandItemControl();

            helperControl.Padding        = new Padding(10, 0, 0, 0);
            helperControl.ForeColor      = Color.AliceBlue;
            helperControl.Font           = new Font("Segoe UI Semilight", 10);
            helperControl.CommandImage   = Resources.command_camera;
            helperControl.CommandDisplay = "Element Recorder";
            helperControl.Click         += (sender, e) => ShowRecorder(sender, e, commandControls);

            //window name
            RenderedControls.AddRange(commandControls.CreateDefaultWindowControlGroupFor("v_WindowName", this, editor));

            //automation type
            var automationTypeGroup = commandControls.CreateDefaultDropdownGroupFor("v_AutomationType", this, editor);

            _automationTypeControl = (ComboBox)automationTypeGroup.Where(f => f is ComboBox).FirstOrDefault();
            _automationTypeControl.SelectionChangeCommitted += UIAType_SelectionChangeCommitted;
            RenderedControls.AddRange(automationTypeGroup);

            //create search parameters
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_UIASearchParameters", this));
            RenderedControls.Add(helperControl);
            RenderedControls.Add(_searchParametersGridViewHelper);

            //create action parameters
            _actionParametersControls = new List <Control>();
            _actionParametersControls.Add(commandControls.CreateDefaultLabelFor("v_UIAActionParameters", this));
            _actionParametersControls.AddRange(commandControls.CreateUIHelpersFor("v_UIAActionParameters", this, new Control[] { _actionParametersGridViewHelper }, editor));
            _actionParametersControls.Add(_actionParametersGridViewHelper);
            RenderedControls.AddRange(_actionParametersControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_Timeout", this, editor));

            return(RenderedControls);
        }
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_BaseURL", this, editor));
            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_APIEndPoint", this, editor));

            var methodTypeComboBox = commandControls.CreateDropdownFor("v_APIMethodType", this);

            methodTypeComboBox.DataSource = Enum.GetValues(typeof(Method));
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_APIMethodType", this));
            RenderedControls.Add(methodTypeComboBox);

            var requestFormatComboBox = commandControls.CreateDropdownFor("v_RequestFormat", this);

            requestFormatComboBox.DataSource = Enum.GetValues(typeof(DataFormat));
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_RequestFormat", this));
            RenderedControls.Add(requestFormatComboBox);

            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_Parameters", this));
            _parametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_Parameters", this);
            _parametersGridViewHelper.AutoGenerateColumns = false;

            var selectColumn = new DataGridViewComboBoxColumn();

            selectColumn.HeaderText       = "Type";
            selectColumn.DataPropertyName = "Parameter Type";
            selectColumn.DataSource       = new string[] { "HEADER", "PARAMETER", "JSON BODY", "FILE" };
            _parametersGridViewHelper.Columns.Add(selectColumn);

            var paramNameColumn = new DataGridViewTextBoxColumn();

            paramNameColumn.HeaderText       = "Name";
            paramNameColumn.DataPropertyName = "Parameter Name";
            _parametersGridViewHelper.Columns.Add(paramNameColumn);

            var paramValueColumn = new DataGridViewTextBoxColumn();

            paramValueColumn.HeaderText       = "Value";
            paramValueColumn.DataPropertyName = "Parameter Value";
            _parametersGridViewHelper.Columns.Add(paramValueColumn);
            RenderedControls.Add(_parametersGridViewHelper);

            //advanced parameters
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_AdvancedParameters", this));
            _advancedParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_AdvancedParameters", this);
            _advancedParametersGridViewHelper.AutoGenerateColumns = false;

            var advParamNameColumn = new DataGridViewTextBoxColumn();

            advParamNameColumn.HeaderText       = "Name";
            advParamNameColumn.DataPropertyName = "Parameter Name";
            _advancedParametersGridViewHelper.Columns.Add(advParamNameColumn);

            var advParamValueColumns = new DataGridViewTextBoxColumn();

            advParamValueColumns.HeaderText       = "Value";
            advParamValueColumns.DataPropertyName = "Parameter Value";
            _advancedParametersGridViewHelper.Columns.Add(advParamValueColumns);

            var advParamContentType = new DataGridViewTextBoxColumn();

            advParamContentType.HeaderText       = "Content Type";
            advParamContentType.DataPropertyName = "Content Type";
            _advancedParametersGridViewHelper.Columns.Add(advParamContentType);

            var advParamType = new DataGridViewComboBoxColumn();

            advParamType.HeaderText       = "Parameter Type";
            advParamType.DataPropertyName = "Parameter Type";
            advParamType.DataSource       = Enum.GetValues(typeof(ParameterType));
            _advancedParametersGridViewHelper.Columns.Add(advParamType);
            RenderedControls.Add(_advancedParametersGridViewHelper);

            RenderedControls.AddRange(commandControls.CreateDefaultOutputGroupFor("v_OutputUserVariableName", this, editor));

            return(RenderedControls);
        }
        public override List <Control> Render(IfrmCommandEditor editor, ICommandControls commandControls)
        {
            base.Render(editor, commandControls);

            //create helper control
            CommandItemControl helperControl = new CommandItemControl();

            helperControl.Padding        = new Padding(10, 0, 0, 0);
            helperControl.ForeColor      = Color.AliceBlue;
            helperControl.Font           = new Font("Segoe UI Semilight", 10);
            helperControl.CommandImage   = Resources.command_camera;
            helperControl.CommandDisplay = "Element Recorder";
            helperControl.Click         += new EventHandler((s, e) => ShowRecorder(s, e, editor, commandControls));

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_InstanceName", this, editor));

            if (v_SeleniumSearchParameters.Rows.Count == 0)
            {
                v_SeleniumSearchParameters.Rows.Add(true, "XPath", "");
                v_SeleniumSearchParameters.Rows.Add(false, "ID", "");
                v_SeleniumSearchParameters.Rows.Add(false, "Name", "");
                v_SeleniumSearchParameters.Rows.Add(false, "Tag Name", "");
                v_SeleniumSearchParameters.Rows.Add(false, "Class Name", "");
                v_SeleniumSearchParameters.Rows.Add(false, "Link Text", "");
                v_SeleniumSearchParameters.Rows.Add(false, "CSS Selector", "");
            }
            //create search parameters
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_SeleniumSearchParameters", this));
            RenderedControls.Add(helperControl);

            //create search param grid
            _searchParametersGridViewHelper             = commandControls.CreateDefaultDataGridViewFor("v_SeleniumSearchParameters", this);
            _searchParametersGridViewHelper.MouseEnter += ActionParametersGridViewHelper_MouseEnter;

            DataGridViewCheckBoxColumn enabled = new DataGridViewCheckBoxColumn();

            enabled.HeaderText       = "Enabled";
            enabled.DataPropertyName = "Enabled";
            enabled.FillWeight       = 30;
            _searchParametersGridViewHelper.Columns.Add(enabled);

            DataGridViewTextBoxColumn propertyName = new DataGridViewTextBoxColumn();

            propertyName.HeaderText       = "Parameter Name";
            propertyName.DataPropertyName = "Parameter Name";
            propertyName.FillWeight       = 40;
            _searchParametersGridViewHelper.Columns.Add(propertyName);

            DataGridViewTextBoxColumn propertyValue = new DataGridViewTextBoxColumn();

            propertyValue.HeaderText       = "Parameter Value";
            propertyValue.DataPropertyName = "Parameter Value";
            _searchParametersGridViewHelper.Columns.Add(propertyValue);

            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_SeleniumSearchParameters", this, new Control[] { _searchParametersGridViewHelper }, editor));
            RenderedControls.Add(_searchParametersGridViewHelper);

            RenderedControls.AddRange(commandControls.CreateDefaultDropdownGroupFor("v_SeleniumSearchOption", this, editor));

            _elementActionDropdown = commandControls.CreateDropdownFor("v_SeleniumElementAction", this);
            RenderedControls.Add(commandControls.CreateDefaultLabelFor("v_SeleniumElementAction", this));
            RenderedControls.AddRange(commandControls.CreateUIHelpersFor("v_SeleniumElementAction", this, new Control[] { _elementActionDropdown }, editor));
            _elementActionDropdown.SelectionChangeCommitted += SeleniumAction_SelectionChangeCommitted;
            RenderedControls.Add(_elementActionDropdown);

            _actionParametersControls = new List <Control>();
            _actionParametersControls.Add(commandControls.CreateDefaultLabelFor("v_WebActionParameterTable", this));

            _actionParametersGridViewHelper = commandControls.CreateDefaultDataGridViewFor("v_WebActionParameterTable", this);
            _actionParametersGridViewHelper.AllowUserToAddRows    = false;
            _actionParametersGridViewHelper.AllowUserToDeleteRows = false;
            _actionParametersGridViewHelper.MouseEnter           += ActionParametersGridViewHelper_MouseEnter;

            _actionParametersControls.AddRange(commandControls.CreateUIHelpersFor("v_WebActionParameterTable", this, new Control[] { _actionParametersGridViewHelper }, editor));
            _actionParametersControls.Add(_actionParametersGridViewHelper);
            RenderedControls.AddRange(_actionParametersControls);

            RenderedControls.AddRange(commandControls.CreateDefaultInputGroupFor("v_Timeout", this, editor));

            return(RenderedControls);
        }