public NodeForm(Page page, Node node) : this() { ArgumentForm.Create(page, node).Parent = this.argumentPanel; VariableForm.Create(page).Parent = this.variablePanel; this.nodeNameTextBox.DataBindings.Add("Text", node, "Name", false, DataSourceUpdateMode.OnPropertyChanged); this.nodeNameTextBox.PreviewKeyDown += NodeNameTextBox_PreviewKeyDown; this.Text = "Activity Editor - " + node.Activity.GetType().FullName; }
public static TableLayoutPanel Create(Page page, Node node) { var activity = node.Activity; var variables = page.Variables; var argumentPanels = new List <Panel>(); if (ArgumentForm.Create <InArgument>(page, node) is Panel inArgumentPanel) { argumentPanels.Add(inArgumentPanel); } if (ArgumentForm.Create <OutArgument>(page, node) is Panel outArgumentPanel) { argumentPanels.Add(outArgumentPanel); } if (ArgumentForm.Create <InOutArgument>(page, node) is Panel inOutArgumentPanel) { argumentPanels.Add(inOutArgumentPanel); } var argumentTableLayoutPanel = new TableLayoutPanel { ColumnCount = 1, RowCount = argumentPanels.Count, Dock = DockStyle.Fill, }; argumentTableLayoutPanel.RowStyles.Clear(); foreach (var argumentPanel in argumentPanels) { argumentTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F / argumentPanels.Count)); argumentTableLayoutPanel.Controls.Add(argumentPanel, 0, argumentTableLayoutPanel.RowStyles.Count - 1); } return(argumentTableLayoutPanel); }