private void deleteRowControl(int rowIndex) { RowControl rowControl = _rowControls[rowIndex]; _rowControls.RemoveAt(rowIndex); rowIndex++; this.tableLayoutPanel.RowStyles.RemoveAt(rowIndex); this.tableLayoutPanel.Controls.Remove(rowControl.SelectCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.NameTextBox); this.tableLayoutPanel.Controls.Remove(rowControl.TypeTextBox); if (rowControl.DefaultValueEditor != null) { this.tableLayoutPanel.Controls.Remove(rowControl.DefaultValueEditor); } this.tableLayoutPanel.Controls.Remove(rowControl.DescTextBox); for (int r = rowIndex + 1; r < this.tableLayoutPanel.RowCount; ++r) { for (int c = 0; c < this.tableLayoutPanel.ColumnCount; ++c) { Control control = this.tableLayoutPanel.GetControlFromPosition(c, r); if (control != null) { this.tableLayoutPanel.SetRow(control, r - 1); } } } this.tableLayoutPanel.RowCount--; }
private void addParamButton_Click(object sender, EventArgs e) { Debug.Check(_method != null); if (_method != null) { if (_method.MemberType == MemberType.Task && _method.Params.Count >= 3) { MessageBox.Show(Resources.EventParametersInfo, Resources.Warning, MessageBoxButtons.OK); return; } if (_method.Params.Count >= 8) { MessageBox.Show(Resources.MethodParametersInfo, Resources.Warning, MessageBoxButtons.OK); return; } MethodDef.Param param = new MethodDef.Param("", null, "", "", ""); _method.Params.Add(param); RowControl row = addRowControl(param); row.NameTextBox.Focus(); this.IsModified = true; } }
protected void btnNext_Click(object sender, EventArgs e) { HealthStatements myStatements = new HealthStatements(); foreach (KeyValuePair <int, string> id in ControlIdList) { DynamicTableControl control = (DynamicTableControl)m_controls[id.Key]; foreach (int id2 in control.RowIdList) { RowControl r = (RowControl)control.MyRows[id2]; HealthStatement myStatement = r.getHealthStatement(); myStatement.QuestionNum = id.Value.Split('.')[0]; myStatement.Question = id.Value; myStatement.RowID = id2; myStatements.addStatement(myStatement); } } if (Session["HealthStatements"] != null) { Session.Add("HealthStatements", myStatements); } else { Session["HealthStatements"] = myStatements; } Response.Redirect("Processing.aspx", false); }
private DesignerPropertyEditor createValueEditor(int rowIndex, Type type) { Debug.Check(rowIndex > -1 && type != null); RowControl rowControl = _rowControls[rowIndex]; Type editorType = Plugin.InvokeEditorType(type); Debug.Check(editorType != null); DesignerPropertyEditor editor = (DesignerPropertyEditor)editorType.InvokeMember(string.Empty, BindingFlags.CreateInstance, null, null, new object[0]); editor.Dock = System.Windows.Forms.DockStyle.Fill; editor.Margin = new System.Windows.Forms.Padding(0); editor.ValueWasChanged += new DesignerPropertyEditor.ValueChanged(editor_ValueWasChanged); editor.SetPar(rowControl.Par, _rootNode); editor.ValueWasAssigned(); if (rowControl.DefaultValueEditor != null) { this.tableLayoutPanel.Controls.Remove(rowControl.DefaultValueEditor); } rowControl.DefaultValueEditor = editor; this.tableLayoutPanel.Controls.Add(rowControl.DefaultValueEditor, 3, rowIndex + 1); return(editor); }
private void addRowControl(PropertyDef property) { this.tableLayoutPanel.RowCount++; this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); int rowIndex = _rowControls.Count + 1; RowControl rowControl = new RowControl(); _rowControls.Add(rowControl); rowControl.NameLabel = new System.Windows.Forms.Label(); rowControl.NameLabel.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.NameLabel.Margin = new System.Windows.Forms.Padding(0); rowControl.NameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; rowControl.NameLabel.Text = property.DisplayName; rowControl.Name = property.BasicName; this.tableLayoutPanel.Controls.Add(rowControl.NameLabel, 0, rowIndex); rowControl.TypeLabel = new System.Windows.Forms.Label(); rowControl.TypeLabel.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.TypeLabel.Margin = new System.Windows.Forms.Padding(0); rowControl.TypeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; rowControl.TypeLabel.Text = Plugin.GetNativeTypeName(property.Type); this.tableLayoutPanel.Controls.Add(rowControl.TypeLabel, 1, rowIndex); rowControl.ValueEditor = createPropertyEditor(property); rowControl.ValueEditor.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.ValueEditor.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanel.Controls.Add(rowControl.ValueEditor, 2, rowIndex); }
private void deleteRowControl(int rowIndex) { RowControl rowControl = _rowControls[rowIndex]; _rowControls.RemoveAt(rowIndex); rowIndex++; this.tableLayoutPanel.RowStyles.RemoveAt(rowIndex); this.tableLayoutPanel.Controls.Remove(rowControl.SelectCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.NameTextBox); this.tableLayoutPanel.Controls.Remove(rowControl.TypeComboBox); this.tableLayoutPanel.Controls.Remove(rowControl.IsArrayCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.ByReferrenceCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.IsConstCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.DisplayNameTextBox); for (int r = rowIndex + 1; r < this.tableLayoutPanel.RowCount; ++r) { for (int c = 0; c < this.tableLayoutPanel.ColumnCount; ++c) { Control control = this.tableLayoutPanel.GetControlFromPosition(c, r); if (control != null) { this.tableLayoutPanel.SetRow(control, r - 1); } } } this.tableLayoutPanel.RowCount--; }
private void CreateRow(Task task, bool showNotif = false) { if (!TaskGridContains(task)) { var taskHistory = DatabaseAccess.Get(task.Id); RowControl rowControl = null; if (taskHistory != null) { taskHistory.ExpectedTime = task.ExpectedTime; // override to make sure there is no bug rowControl = new RowControl(taskHistory); } else { rowControl = new RowControl(task); } rowControl.AddListener(this); TasksGrid.Children.Add(rowControl); Grid.SetColumn(rowControl, 0); Grid.SetRow(rowControl, row_number); AddRowTasksGrid(); row_number++; if (showNotif) { BaloonNotification.ShowNotificationIcon($"You Received a new Task: '{task.Summary}'"); } } }
private void AddFreeTimerRow(TaskHistory th) { RowControl rowControl = new RowControl(th); rowControl.AddListener(this); FreeTimers.Children.Add(rowControl); }
private void editor_ValueWasChanged(object sender, DesignerPropertyInfo property) { if (string.IsNullOrEmpty(_agentFullname)) { return; } int index = getRowIndex(sender as DesignerPropertyEditor); if (index > -1) { RowControl row = _rowControls[index]; VariableDef var = row.ValueEditor.GetVariable(); if (var != null && var.Value != null) { string value = var.Value.ToString(); if (!string.IsNullOrEmpty(value)) { string valueType = row.TypeLabel.Text; string valueName = row.NameLabel.Text; if (AgentDataPool.CurrentFrame > -1) { AgentDataPool.AddValue(_agentFullname, valueName, AgentDataPool.CurrentFrame, value); } NetworkManager.Instance.SendProperty(_agentFullname, valueType, valueName, value); } } } }
public ToolEditParametersControl() { InitializeComponent(); App.SlicerFile.RefreshPrintParametersModifiersValues(); BaseOperation = Operation = new OperationEditParameters(App.SlicerFile.PrintParameterModifiers); if (Operation.Modifiers is null || Operation.Modifiers.Length == 0) { CanRun = false; return; } Grid grid = this.FindControl <Grid>("grid"); int rowIndex = 1; RowControls = new RowControl[Operation.Modifiers.Length]; //table.RowCount = Operation.Modifiers.Length+1; foreach (var modifier in Operation.Modifiers) { grid.RowDefinitions.Add(new RowDefinition()); byte column = 0; var rowControl = new RowControl(modifier); grid.Children.Add(rowControl.Name); grid.Children.Add(rowControl.OldValue); grid.Children.Add(rowControl.NewValue); grid.Children.Add(rowControl.Unit); grid.Children.Add(rowControl.ResetButton); Grid.SetRow(rowControl.Name, rowIndex); Grid.SetColumn(rowControl.Name, column++); Grid.SetRow(rowControl.OldValue, rowIndex); Grid.SetColumn(rowControl.OldValue, column++); Grid.SetRow(rowControl.NewValue, rowIndex); Grid.SetColumn(rowControl.NewValue, column++); Grid.SetRow(rowControl.Unit, rowIndex); Grid.SetColumn(rowControl.Unit, column++); Grid.SetRow(rowControl.ResetButton, rowIndex); Grid.SetColumn(rowControl.ResetButton, column++); /*table.Controls.Add(rowControl.Name, column++, rowIndex); * table.Controls.Add(rowControl.OldValue, column++, rowIndex); * table.Controls.Add(rowControl.NewValue, column++, rowIndex); * table.Controls.Add(rowControl.Unit, column++, rowIndex); * table.Controls.Add(rowControl.ResetButton, column++, rowIndex); */ RowControls[rowIndex - 1] = rowControl; rowIndex++; } DataContext = this; }
public void PopulateGrid() { const byte cols = 5; if (grid.Children.Count > cols) { grid.Children.RemoveRange(cols, grid.Children.Count - cols); } if (grid.RowDefinitions.Count > 1) { grid.RowDefinitions.RemoveRange(1, grid.RowDefinitions.Count - 1); } int rowIndex = 1; RowControls = new RowControl[Operation.Modifiers.Length]; //table.RowCount = Operation.Modifiers.Length+1; foreach (var modifier in Operation.Modifiers) { grid.RowDefinitions.Add(new RowDefinition()); byte column = 0; var rowControl = new RowControl(modifier); grid.Children.Add(rowControl.Name); grid.Children.Add(rowControl.OldValue); grid.Children.Add(rowControl.NewValue); grid.Children.Add(rowControl.Unit); grid.Children.Add(rowControl.ResetButton); Grid.SetRow(rowControl.Name, rowIndex); Grid.SetColumn(rowControl.Name, column++); Grid.SetRow(rowControl.OldValue, rowIndex); Grid.SetColumn(rowControl.OldValue, column++); Grid.SetRow(rowControl.NewValue, rowIndex); Grid.SetColumn(rowControl.NewValue, column++); Grid.SetRow(rowControl.Unit, rowIndex); Grid.SetColumn(rowControl.Unit, column++); Grid.SetRow(rowControl.ResetButton, rowIndex); Grid.SetColumn(rowControl.ResetButton, column++); /*table.Controls.Add(rowControl.Name, column++, rowIndex); * table.Controls.Add(rowControl.OldValue, column++, rowIndex); * table.Controls.Add(rowControl.NewValue, column++, rowIndex); * table.Controls.Add(rowControl.Unit, column++, rowIndex); * table.Controls.Add(rowControl.ResetButton, column++, rowIndex); */ RowControls[rowIndex - 1] = rowControl; rowIndex++; } }
private void DisplayNameTextBox_TextChanged(object sender, EventArgs e) { int rowIndex = getRowIndex(null, null, null, null, null, null, sender as TextBox); if (rowIndex > -1) { RowControl rowControl = _rowControls[rowIndex]; rowControl.Param.DisplayName = rowControl.DisplayNameTextBox.Text; this.IsModified = true; } }
private void editButton_Click(object sender, EventArgs e) { for (int rowIndex = 0; rowIndex < _rowControls.Count; ++rowIndex) { RowControl rowControl = _rowControls[rowIndex]; if (rowControl.SelectCheckBox.Checked) { editSelectedPar(rowIndex); break; } } }
private void IsArrayCheckBox_CheckedChanged(object sender, EventArgs e) { int rowIndex = getRowIndex(null, null, null, sender as CheckBox, null, null, null); if (rowIndex > -1) { RowControl rowControl = _rowControls[rowIndex]; rowControl.Param.Type = getParamType(rowIndex); this.IsModified = true; } }
private void IsConstCheckBox_CheckedChanged(object sender, EventArgs e) { int rowIndex = getRowIndex(null, null, null, null, null, sender as CheckBox, null); if (rowIndex > -1) { RowControl rowControl = _rowControls[rowIndex]; rowControl.Param.IsConst = rowControl.IsConstCheckBox.Checked; this.IsModified = true; } }
public static async System.Threading.Tasks.Task <object> GetChildrenAsync(GridControl G, int row, int column) { var rList = await G.GetRowsAsync(0, G.VisibleRowCount); foreach (var r in rList) { RowControl rc = r as RowControl; Button btn = rc.FindName("btnKey") as Button; // btn.Content = rc. } return(default(System.Threading.Tasks.Task <object>)); }
private void AddFreeTimerRow(int id) { TaskHistory th = new TaskHistory(); th.ExpectedTime = 10000000; th.Id = id; th.Summary = freeTimerPopup.tbTaskName.Text; RowControl rowControl = new RowControl(th); rowControl.TimerType = TimerType.Free; rowControl.AddListener(this); FreeTimers.Children.Add(rowControl); }
private void TypeComboBox_SelectedIndexChanged(object sender, EventArgs e) { int rowIndex = getRowIndex(null, null, sender as ComboBox, null, null, null, null); if (rowIndex > -1) { RowControl rowControl = _rowControls[rowIndex]; rowControl.Param.Type = getParamType(rowIndex); rowControl.IsArrayCheckBox.Enabled = true; rowControl.ByReferrenceCheckBox.Enabled = true; this.IsModified = true; } }
public void SetProperty(FrameStatePool.PlanningState nodeState, string agentFullName) { Debug.Check(nodeState != null); //iterate all the properties for (int i = 0; i < _rowControls.Count; ++i) { RowControl rc = _rowControls[i]; object v = GetPropertyValue(nodeState, agentFullName, rc.Name); if (v != null) { SetProperty(rc.Name, v.ToString()); } } }
private void parameter_ParameterSet(Nodes.Node node, ParInfo par) { if (!_isParReady) { return; } RowControl rowControl = _rowControls.Find(delegate(RowControl row) { return(row.Par == par); }); if (rowControl != null) { rowControl.NameTextBox.Text = par.Name; rowControl.TypeTextBox.Text = Plugin.GetNativeTypeName(par.Type, true); rowControl.DefaultValueEditor.SetPar(par, node); rowControl.DescTextBox.Text = par.Description; } }
private void deleteAllRowControls() { for (int rowIndex = _rowControls.Count - 1; rowIndex >= 0; --rowIndex) { RowControl rowControl = _rowControls[rowIndex]; _rowControls.RemoveAt(rowIndex); this.tableLayoutPanel.RowStyles.RemoveAt(rowIndex); this.tableLayoutPanel.Controls.Remove(rowControl.NameLabel); this.tableLayoutPanel.Controls.Remove(rowControl.TypeLabel); if (rowControl.ValueEditor != null) { this.tableLayoutPanel.Controls.Remove(rowControl.ValueEditor); } } this.tableLayoutPanel.RowCount = 1; }
public void CollapseAll() { foreach (UIElement control in TasksGrid.Children) { RowControl row = control as RowControl; if (row != null) { row.Collapse(); } } foreach (UIElement control in FreeTimers.Children) { RowControl row = control as RowControl; if (row != null) { row.Collapse(); } } }
public void OnPlay(RowControl rowControl) { foreach (UIElement control in TasksGrid.Children) { RowControl row = control as RowControl; if (row != null && row != rowControl) { row.Stop(); } } foreach (UIElement control in FreeTimers.Children) { RowControl row = control as RowControl; if (row != null && row != rowControl) { row.Stop(); } } }
private void deleteAllRowControls() { for (int rowIndex = _rowControls.Count - 1; rowIndex >= 0; --rowIndex) { RowControl rowControl = _rowControls[rowIndex]; _rowControls.RemoveAt(rowIndex); this.tableLayoutPanel.RowStyles.RemoveAt(rowIndex); this.tableLayoutPanel.Controls.Remove(rowControl.SelectCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.NameTextBox); this.tableLayoutPanel.Controls.Remove(rowControl.TypeComboBox); this.tableLayoutPanel.Controls.Remove(rowControl.IsArrayCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.ByReferrenceCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.DisplayNameTextBox); rowControl.Cleanup(); } this.tableLayoutPanel.RowCount = 1; }
private Type getParamType(int rowIndex) { Type type = null; if (rowIndex > -1) { RowControl rowControl = _rowControls[rowIndex]; if (rowControl.TypeComboBox.SelectedItem != null) { type = Plugin.GetMemberValueType(rowControl.TypeComboBox.SelectedItem.ToString()); Debug.Check(type != null); if (rowControl.IsArrayCheckBox.Checked) { type = typeof(List <>).MakeGenericType(type); } } } return(type); }
private void deleteAllRowControls() { for (int rowIndex = _rowControls.Count - 1; rowIndex >= 0; --rowIndex) { RowControl rowControl = _rowControls[rowIndex]; _rowControls.RemoveAt(rowIndex); this.tableLayoutPanel.RowStyles.RemoveAt(rowIndex); this.tableLayoutPanel.Controls.Remove(rowControl.SelectCheckBox); this.tableLayoutPanel.Controls.Remove(rowControl.NameTextBox); this.tableLayoutPanel.Controls.Remove(rowControl.TypeTextBox); if (rowControl.DefaultValueEditor != null) { this.tableLayoutPanel.Controls.Remove(rowControl.DefaultValueEditor); } this.tableLayoutPanel.Controls.Remove(rowControl.DescTextBox); rowControl.Cleanup(); } this.tableLayoutPanel.RowCount = 1; }
public CtrlToolEditParameters() { InitializeComponent(); Program.SlicerFile.RefreshPrintParametersModifiersValues(); Operation = new OperationEditParameters(Program.SlicerFile.PrintParameterModifiers); SetOperation(Operation); if (Operation.Modifiers is null || Operation.Modifiers.Length == 0) { CanRun = false; return; } table.SetDoubleBuffered(); int rowIndex = 1; RowControls = new RowControl[Operation.Modifiers.Length]; //table.RowCount = Operation.Modifiers.Length+1; foreach (var modifier in Operation.Modifiers) { byte column = 0; table.RowStyles.Add(new RowStyle(SizeType.AutoSize)); var rowControl = new RowControl(modifier); table.Controls.Add(rowControl.Name, column++, rowIndex); table.Controls.Add(rowControl.OldValue, column++, rowIndex); table.Controls.Add(rowControl.NewValue, column++, rowIndex); table.Controls.Add(rowControl.Unit, column++, rowIndex); table.Controls.Add(rowControl.ResetButton, column++, rowIndex); RowControls[rowIndex - 1] = rowControl; rowIndex++; } }
private RowControl addRowControl(MethodDef.Param param) { Debug.Check(param != null); if (param != null) { RowControl rowControl = new RowControl(); _rowControls.Add(rowControl); int rowIndex = _rowControls.Count; rowControl.Param = param; rowControl.SelectCheckBox = new System.Windows.Forms.CheckBox(); rowControl.SelectCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.SelectCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.SelectCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.SelectCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; //rowControl.SelectCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.SelectCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.SelectCheckBox.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanel.Controls.Add(rowControl.SelectCheckBox, 0, rowIndex); rowControl.NameTextBox = new System.Windows.Forms.TextBox(); rowControl.NameTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.NameTextBox.ForeColor = System.Drawing.Color.LightGray; rowControl.NameTextBox.BorderStyle = BorderStyle.None; rowControl.NameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.NameTextBox.Margin = new System.Windows.Forms.Padding(3); rowControl.NameTextBox.Text = param.Name; rowControl.NameTextBox.TextChanged += new EventHandler(NameTextBox_TextChanged); this.tableLayoutPanel.Controls.Add(rowControl.NameTextBox, 1, rowIndex); bool isParamArray = Plugin.IsArrayType(param.Type); Type paramType = isParamArray ? param.Type.GetGenericArguments()[0] : param.Type; rowControl.TypeComboBox = new System.Windows.Forms.ComboBox(); rowControl.TypeComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.TypeComboBox.ForeColor = System.Drawing.Color.LightGray; rowControl.TypeComboBox.DropDownStyle = ComboBoxStyle.DropDownList; rowControl.TypeComboBox.FlatStyle = FlatStyle.Popup; rowControl.TypeComboBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.TypeComboBox.Margin = new System.Windows.Forms.Padding(0); setParamTypes(rowControl.TypeComboBox); rowControl.TypeComboBox.Text = Plugin.GetMemberValueTypeName(paramType); rowControl.TypeComboBox.SelectedIndexChanged += new EventHandler(TypeComboBox_SelectedIndexChanged); this.tableLayoutPanel.Controls.Add(rowControl.TypeComboBox, 2, rowIndex); rowControl.IsArrayCheckBox = new System.Windows.Forms.CheckBox(); rowControl.IsArrayCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.IsArrayCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.IsArrayCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.IsArrayCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; //rowControl.IsArrayCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.IsArrayCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.IsArrayCheckBox.Margin = new System.Windows.Forms.Padding(0); rowControl.IsArrayCheckBox.Enabled = (paramType != null); rowControl.IsArrayCheckBox.Checked = isParamArray; rowControl.IsArrayCheckBox.CheckedChanged += new EventHandler(IsArrayCheckBox_CheckedChanged); this.tableLayoutPanel.Controls.Add(rowControl.IsArrayCheckBox, 3, rowIndex); rowControl.ByReferrenceCheckBox = new System.Windows.Forms.CheckBox(); rowControl.ByReferrenceCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.ByReferrenceCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.ByReferrenceCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.ByReferrenceCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; //rowControl.ByReferrenceCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.ByReferrenceCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.ByReferrenceCheckBox.Margin = new System.Windows.Forms.Padding(0); rowControl.ByReferrenceCheckBox.Enabled = (paramType != null); rowControl.ByReferrenceCheckBox.Checked = param.IsRef; rowControl.ByReferrenceCheckBox.CheckedChanged += new EventHandler(ByReferrenceCheckBox_CheckedChanged); this.tableLayoutPanel.Controls.Add(rowControl.ByReferrenceCheckBox, 4, rowIndex); rowControl.IsConstCheckBox = new System.Windows.Forms.CheckBox(); rowControl.IsConstCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.IsConstCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.IsConstCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.IsConstCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; //rowControl.IsConstCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.IsConstCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.IsConstCheckBox.Margin = new System.Windows.Forms.Padding(0); rowControl.IsConstCheckBox.Enabled = (paramType != null && Workspace.Current.Language == "cpp"); rowControl.IsConstCheckBox.Checked = param.IsConst; rowControl.IsConstCheckBox.CheckedChanged += new EventHandler(IsConstCheckBox_CheckedChanged); this.tableLayoutPanel.Controls.Add(rowControl.IsConstCheckBox, 5, rowIndex); rowControl.DisplayNameTextBox = new System.Windows.Forms.TextBox(); rowControl.DisplayNameTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.DisplayNameTextBox.ForeColor = System.Drawing.Color.LightGray; rowControl.DisplayNameTextBox.BorderStyle = BorderStyle.None; rowControl.DisplayNameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.DisplayNameTextBox.Margin = new System.Windows.Forms.Padding(3); rowControl.DisplayNameTextBox.Text = param.DisplayName; rowControl.DisplayNameTextBox.TextChanged += new EventHandler(DisplayNameTextBox_TextChanged); this.tableLayoutPanel.Controls.Add(rowControl.DisplayNameTextBox, 6, rowIndex); this.tableLayoutPanel.RowCount++; this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); return(rowControl); } return(null); }
//METHODS private void AddField(BXCustomField field, int index) { RowControl r = new RowControl(); r.Row = new HtmlTableRow(); r.CustomField = field; HtmlTableCell idCell = new HtmlTableCell(); Label idLb = r.IdLabel = new Label(); idCell.Controls.Add(idLb); HiddenField fieldState = r.State = new HiddenField(); idCell.Controls.Add(fieldState); r.Row.Cells.Add(idCell); //CODE HtmlTableCell codeCell = new HtmlTableCell(); TextBox codeTxt = r.Code = new TextBox(); codeTxt.MaxLength = 20; codeTxt.Columns = 15; codeCell.Controls.Add(codeTxt); Label codeLb = r.CodeLabel = new Label(); codeCell.Controls.Add(codeLb); r.CodeValidator = new CustomValidator(); r.CodeValidator.ValidateEmptyText = true; r.CodeValidator.ValidationGroup = ValidationGroup; r.CodeValidator.ServerValidate += new ServerValidateEventHandler(CodeValidator_ServerValidate); r.CodeValidator.ClientValidationFunction = "customFieldSetUp_validateCode"; r.CodeValidator.Text = "*"; r.CodeValidator.ErrorMessage = GetMessage("Message.CodeRequired"); r.CodeValidator.Display = ValidatorDisplay.Static; codeCell.Controls.Add(r.CodeValidator); r.Row.Cells.Add(codeCell); //NAME HtmlTableCell nameCell = new HtmlTableCell(); nameCell.Width = "100%"; TextBox nameTxt = r.Name = new TextBox(); nameTxt.MaxLength = 50; nameTxt.Width = Unit.Percentage(100); nameCell.Controls.Add(nameTxt); r.NameValidator = new CustomValidator(); r.NameValidator.ValidateEmptyText = true; r.NameValidator.ValidationGroup = ValidationGroup; r.NameValidator.ServerValidate += new ServerValidateEventHandler(NameValidator_ServerValidate); r.NameValidator.ClientValidationFunction = "customFieldSetUp_validateName"; r.NameValidator.Text = "*"; r.NameValidator.ErrorMessage = GetMessage("Message.NameRequired"); r.NameValidator.Display = ValidatorDisplay.Static; nameCell.Controls.Add(r.NameValidator); r.Row.Cells.Add(nameCell); //ACTIVE HtmlTableCell actCell = new HtmlTableCell(); CheckBox actCb = r.Active = new CheckBox(); actCb.Checked = true; actCell.Controls.Add(actCb); r.Row.Cells.Add(actCell); //TYPE HtmlTableCell typeCell = new HtmlTableCell(); DropDownList typeDdl = r.Type = new DropDownList(); typeDdl.DataSource = BXCustomTypeManager.CustomTypes.Values; typeDdl.DataTextField = "Title"; typeDdl.DataValueField = "TypeName"; typeDdl.DataBind(); typeCell.Controls.Add(typeDdl); Label typeLb = r.TypeLabel = new Label(); typeCell.Controls.Add(typeLb); r.Row.Cells.Add(typeCell); //MULTIPLE HtmlTableCell multCell = new HtmlTableCell(); CheckBox multCb = r.Multiple = new CheckBox(); multCell.Controls.Add(multCb); Label multLb = r.MultipleLabel = new Label(); multCell.Controls.Add(multLb); r.Row.Cells.Add(multCell); //SORT HtmlTableCell sortCell = new HtmlTableCell(); TextBox sortTxt = r.Sort = new TextBox(); sortTxt.Text = string.Format("{0}", 10 * index); sortTxt.MaxLength = 10; sortTxt.Columns = 3; sortCell.Controls.Add(sortTxt); r.Row.Cells.Add(sortCell); //EDIT HtmlTableCell editCell = new HtmlTableCell(); editCell.Align = "center"; Button editBtn = r.Edit = new Button(); editBtn.UseSubmitBehavior = false; editBtn.Text = "..."; editBtn.Click += editBtn_Click; editBtn.CausesValidation = false; editCell.Controls.Add(editBtn); r.Row.Cells.Add(editCell); //DELETE HtmlTableCell deleteCell = new HtmlTableCell(); deleteCell.Visible = AllowDelete; deleteCell.Align = "center"; BXIconButton deleteLbn = r.Delete = new BXIconButton(); deleteLbn.OnClientClick = "return confirm('" + GetMessage("ConfirmMessage") + "');"; deleteLbn.CssClass = "delete"; deleteLbn.CausesValidation = false; deleteLbn.Visible = false; deleteLbn.Click += deleteLbn_Click; deleteCell.Controls.Add(deleteLbn); r.Row.Cells.Add(deleteCell); if (field != null) { nameTxt.Text = field.TextEncoder.Decode(field.EditFormLabel); actCb.Checked = field.ShowInList; multCb.Checked = field.Multiple; multCb.Enabled = false; idLb.Text = field.Id.ToString(); typeDdl.SelectedValue = field.CustomTypeId; deleteLbn.Visible = true; deleteLbn.CommandArgument = field.Id.ToString(); editBtn.CommandArgument = field.Id.ToString(); codeLb.Text = HttpUtility.HtmlEncode(field.CorrectedName); codeTxt.Visible = false; r.CodeValidator.Enabled = false; multLb.Text = field.Multiple ? GetMessage("Kernel.Yes") : GetMessage("Kernel.No"); multCb.Visible = false; typeDdl.Visible = false; r.CustomType = BXCustomTypeManager.GetCustomType(field.CustomTypeId); if (r.Type != null) typeLb.Text = HttpUtility.HtmlEncode(r.CustomType.Title); else typeLb.Text = HttpUtility.HtmlEncode(field.CustomTypeId); } else typeDdl.SelectedValue = "Bitrix.System.Text"; CustomFields.Rows.Add(r.Row); rows.Add(r); rowsForButton.Add(r.Edit, r); rowsForCode.Add(r.CodeValidator, r); rowsForName.Add(r.NameValidator, r); r.Store(); }
private void editSelectedPar(int rowIndex) { if (rowIndex < 0 || _rootNode == null) { return; } ParInfo par = _rootNode.Pars[rowIndex]; List <Node.ErrorCheck> result = new List <Node.ErrorCheck>(); Plugin.CheckPar(_rootNode, par, ref result); using (ParSettingsDialog parSettingsDialog = new ParSettingsDialog()) { par.ParameterSet -= parameter_ParameterSet; parSettingsDialog.SetPar(par, _rootNode, false); Type preType = par.Type; string preName = par.Name; if (DialogResult.OK == parSettingsDialog.ShowDialog()) { UndoManager.PreSave(); ParInfo curPar = parSettingsDialog.GetPar(); Type curType = curPar.Type; string curName = curPar.Name; if (preType != curType) { // If this par is used by others if (result.Count > 0) { string info = string.Format("Par {0} is used in some nodes. Are you sure change its type?", preName); if (DialogResult.Cancel == MessageBox.Show(info, "Warning", MessageBoxButtons.OKCancel)) { par.ParameterSet += parameter_ParameterSet; return; } } Plugin.ResetPar(_rootNode, par, string.Empty); } else if (preName != curName) { Plugin.ResetPar(_rootNode, par, curName); } par.Copy(curPar); if (preType != curType) { RowControl rowControl = _rowControls[rowIndex]; rowControl.DefaultValueEditor = createValueEditor(rowIndex, curType); } par.ParameterSet += parameter_ParameterSet; par.OnValueChanged(); PropertiesDock.UpdatePropertyGrids(); _rootNode.OnPropertyValueChanged(true); UndoManager.Save((Nodes.Behavior)_rootNode); UndoManager.PostSave(); BehaviorTreeView behaviorTreeView = BehaviorTreeViewDock.LastFocused.BehaviorTreeView; if (behaviorTreeView != null) { behaviorTreeView.Redraw(); } } else { par.ParameterSet += parameter_ParameterSet; } } }
private void deleteButton_Click(object sender, EventArgs e) { List <int> referredIndexes = new List <int>(); List <int> deletedIndexes = new List <int>(); List <Node.ErrorCheck> errorResult = new List <Node.ErrorCheck>(); for (int rowIndex = _rowControls.Count - 1; rowIndex >= 0; --rowIndex) { RowControl rowControl = _rowControls[rowIndex]; if (rowControl.SelectCheckBox.Checked) { ParInfo par = _rootNode.Pars[rowIndex]; List <Node.ErrorCheck> result = new List <Node.ErrorCheck>(); Plugin.CheckPar(_rootNode, par, ref result); if (result.Count > 0) { referredIndexes.Add(rowIndex); errorResult.AddRange(result); } else { deletedIndexes.Add(rowIndex); } } } if (referredIndexes.Count > 0) { errorResult.Reverse(); referredIndexes.Reverse(); string pars = string.Empty; for (int i = 0; i < referredIndexes.Count; ++i) { int rowIndex = referredIndexes[i]; ParInfo par = _rootNode.Pars[rowIndex]; if (string.IsNullOrEmpty(pars)) { pars += par.Name; } else { pars += ", " + par.Name; } } Debug.Check(BehaviorTreeViewDock.LastFocused != null); string groupLabel = string.Format("Par(s) {0} can not be deleted, which the following nodes are using.", pars); BehaviorTreeViewDock.LastFocused.BehaviorTreeView.ShowErrorDialog("Par Delete Error", groupLabel, errorResult); } if (deletedIndexes.Count > 0) { for (int i = 0; i < deletedIndexes.Count; ++i) { int rowIndex = deletedIndexes[i]; ParInfo par = _rootNode.Pars[rowIndex]; par.ParameterSet -= parameter_ParameterSet; _rootNode.Pars.RemoveAt(rowIndex); this.Hide(); deleteRowControl(rowIndex); this.Show(); PropertiesDock.UpdatePropertyGrids(); _rootNode.OnPropertyValueChanged(true); } UndoManager.Save((Nodes.Behavior)_rootNode); } }
private void addRowControl(PropertyDef property) { this.tableLayoutPanel.RowCount++; this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); int rowIndex = _rowControls.Count + 1; RowControl rowControl = new RowControl(); _rowControls.Add(rowControl); rowControl.Name = property.BasicName; rowControl.NameLabel = new System.Windows.Forms.Label(); rowControl.NameLabel.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.NameLabel.Margin = new System.Windows.Forms.Padding(0); rowControl.NameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; rowControl.NameLabel.Text = property.DisplayName; this.tableLayoutPanel.Controls.Add(rowControl.NameLabel, 0, rowIndex); rowControl.TypeLabel = new System.Windows.Forms.Label(); rowControl.TypeLabel.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.TypeLabel.Margin = new System.Windows.Forms.Padding(0); rowControl.TypeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; rowControl.TypeLabel.Text = Plugin.GetNativeTypeName(property.Type); this.tableLayoutPanel.Controls.Add(rowControl.TypeLabel, 1, rowIndex); rowControl.ValueEditor = createPropertyEditor(property); rowControl.ValueEditor.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.ValueEditor.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanel.Controls.Add(rowControl.ValueEditor, 2, rowIndex); }
private RowControl addRowControl(MethodDef.Param param) { Debug.Check(param != null); RowControl rowControl = new RowControl(); _rowControls.Add(rowControl); int rowIndex = _rowControls.Count; rowControl.Param = param; rowControl.SelectCheckBox = new System.Windows.Forms.CheckBox(); rowControl.SelectCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.SelectCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.SelectCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.SelectCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; rowControl.SelectCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.SelectCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.SelectCheckBox.Margin = new System.Windows.Forms.Padding(0); this.tableLayoutPanel.Controls.Add(rowControl.SelectCheckBox, 0, rowIndex); rowControl.NameTextBox = new System.Windows.Forms.TextBox(); rowControl.NameTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.NameTextBox.ForeColor = System.Drawing.Color.LightGray; rowControl.NameTextBox.BorderStyle = BorderStyle.None; rowControl.NameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.NameTextBox.Margin = new System.Windows.Forms.Padding(3); rowControl.NameTextBox.Text = param.Name; rowControl.NameTextBox.TextChanged += new EventHandler(NameTextBox_TextChanged); this.tableLayoutPanel.Controls.Add(rowControl.NameTextBox, 1, rowIndex); bool isParamArray = Plugin.IsArrayType(param.Type); Type paramType = isParamArray ? param.Type.GetGenericArguments()[0] : param.Type; rowControl.TypeComboBox = new System.Windows.Forms.ComboBox(); rowControl.TypeComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.TypeComboBox.ForeColor = System.Drawing.Color.LightGray; rowControl.TypeComboBox.DropDownStyle = ComboBoxStyle.DropDownList; rowControl.TypeComboBox.FlatStyle = FlatStyle.Popup; rowControl.TypeComboBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.TypeComboBox.Margin = new System.Windows.Forms.Padding(0); setParamTypes(rowControl.TypeComboBox); rowControl.TypeComboBox.Text = Plugin.GetMemberValueTypeName(paramType); rowControl.TypeComboBox.SelectedIndexChanged += new EventHandler(TypeComboBox_SelectedIndexChanged); this.tableLayoutPanel.Controls.Add(rowControl.TypeComboBox, 2, rowIndex); rowControl.IsArrayCheckBox = new System.Windows.Forms.CheckBox(); rowControl.IsArrayCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.IsArrayCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.IsArrayCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.IsArrayCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; rowControl.IsArrayCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.IsArrayCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.IsArrayCheckBox.Margin = new System.Windows.Forms.Padding(0); rowControl.IsArrayCheckBox.Enabled = (paramType != null); rowControl.IsArrayCheckBox.Checked = isParamArray; rowControl.IsArrayCheckBox.CheckedChanged += new EventHandler(IsArrayCheckBox_CheckedChanged); this.tableLayoutPanel.Controls.Add(rowControl.IsArrayCheckBox, 3, rowIndex); rowControl.ByReferrenceCheckBox = new System.Windows.Forms.CheckBox(); rowControl.ByReferrenceCheckBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.ByReferrenceCheckBox.ForeColor = System.Drawing.Color.LightGray; rowControl.ByReferrenceCheckBox.FlatAppearance.MouseDownBackColor = Color.DarkGray; rowControl.ByReferrenceCheckBox.FlatAppearance.MouseOverBackColor = Color.DarkGray; rowControl.ByReferrenceCheckBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.ByReferrenceCheckBox.CheckAlign = ContentAlignment.MiddleCenter; rowControl.ByReferrenceCheckBox.Margin = new System.Windows.Forms.Padding(0); rowControl.ByReferrenceCheckBox.Enabled = (paramType != null); rowControl.ByReferrenceCheckBox.Checked = param.IsRef; rowControl.ByReferrenceCheckBox.CheckedChanged += new EventHandler(ByReferrenceCheckBox_CheckedChanged); this.tableLayoutPanel.Controls.Add(rowControl.ByReferrenceCheckBox, 4, rowIndex); rowControl.DisplayNameTextBox = new System.Windows.Forms.TextBox(); rowControl.DisplayNameTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(65)))), ((int)(((byte)(65)))), ((int)(((byte)(65))))); rowControl.DisplayNameTextBox.ForeColor = System.Drawing.Color.LightGray; rowControl.DisplayNameTextBox.BorderStyle = BorderStyle.None; rowControl.DisplayNameTextBox.Dock = System.Windows.Forms.DockStyle.Fill; rowControl.DisplayNameTextBox.Margin = new System.Windows.Forms.Padding(3); rowControl.DisplayNameTextBox.Text = param.DisplayName; rowControl.DisplayNameTextBox.TextChanged += new EventHandler(DisplayNameTextBox_TextChanged); this.tableLayoutPanel.Controls.Add(rowControl.DisplayNameTextBox, 5, rowIndex); this.tableLayoutPanel.RowCount++; this.tableLayoutPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); return rowControl; }