// --------------------------------------------------------------------------------- public Vector2 LayoutSizeForObjectInTableView(DSTableView tableView, DSTableColumn tableColumn, int row) { if (myClassType == null) { return(Vector2.zero); } string columnId = tableColumn.Identifier; if (string.Compare(columnId, kInColumnId) == 0 || string.Compare(columnId, kOutColumnId) == 0) { return(myCheckBoxSize); } VariablePair variablePair = myVariables[row]; string name = variablePair.DisplayName; string typeName = variablePair.DisplayTypeName; ControlPair inputControlPair = variablePair.InputControlPair; ControlPair outputControlPair = variablePair.OutputControlPair; GUIStyle labelStyle = inputControlPair.IsActive || outputControlPair.IsActive ? EditorStyles.boldLabel : EditorStyles.label; if (string.Compare(columnId, kNameColumnId) == 0) { return(labelStyle.CalcSize(new GUIContent(name))); } if (string.Compare(columnId, kTypeColumnId) == 0) { return(labelStyle.CalcSize(new GUIContent(typeName))); } return(Vector2.zero); }
/// <summary> /// Gets the controls in pairs. /// </summary> /// <returns>List<ControlPair>.</returns> private List <ControlPair> GetControls() { var controls = new List <ControlPair>(); for (var controlCounter = 0; controlCounter < Children.Count; controlCounter++) { var child = Children[controlCounter]; if (child.Visibility == Visibility.Collapsed) { continue; } var controlPair = new ControlPair(0d); if (SimpleView.GetIsStandAloneEditControl(child)) { controlPair.Edit = child; } else { controlPair.Label = child; if (SimpleView.GetSpanFullWidth(child)) { controlPair.LabelSpansFullWidth = true; } else if (!SimpleView.GetIsStandAloneLabel(child)) { var editControlIndex = controlCounter + 1; if (Children.Count > editControlIndex) { controlPair.Edit = Children[editControlIndex]; } controlCounter++; // We are skipping the next control since we already accounted for it while (true) // We check if the next control might flow with the current edit control { if (Children.Count <= controlCounter + 1) { break; } if (!SimpleView.GetFlowsWithPrevious(Children[controlCounter + 1])) { break; } controlPair.AdditionalEditControls.Add(Children[controlCounter + 1]); controlCounter++; } } } controls.Add(controlPair); } return(controls); }
// --------------------------------------------------------------------------------- public void DisplayObjectInTableView(DSTableView tableView, DSTableColumn tableColumn, int row, Rect position) { if (myClassType == null) { return; } VariablePair variablePair = myVariables[row]; string name = variablePair.DisplayName; string typeName = variablePair.DisplayTypeName; ControlPair inputControlPair = variablePair.InputControlPair; ControlPair outputControlPair = variablePair.OutputControlPair; string columnId = tableColumn.Identifier; if (string.Compare(columnId, kInColumnId) == 0 && inputControlPair.Component != null) { if (Math3D.IsEqual(position.height, myCheckBoxSize.y) && Math3D.IsEqual(position.width, myCheckBoxSize.x)) { bool prevActive = inputControlPair.IsActive; inputControlPair.IsActive = GUI.Toggle(position, inputControlPair.IsActive, ""); if (prevActive != inputControlPair.IsActive && myTarget != null && myStorage != null) { if (inputControlPair.IsActive) { iCS_UserCommands.CreatePropertiesWizardElement(myTarget, inputControlPair.Component); } else { iCS_UserCommands.DeletePropertiesWizardElement(myTarget, inputControlPair.Component); } } } } if (string.Compare(columnId, kOutColumnId) == 0 && outputControlPair.Component != null) { if (Math3D.IsEqual(position.height, myCheckBoxSize.y) && Math3D.IsEqual(position.width, myCheckBoxSize.x)) { bool prevActive = outputControlPair.IsActive; outputControlPair.IsActive = GUI.Toggle(position, outputControlPair.IsActive, ""); if (prevActive != outputControlPair.IsActive && myTarget != null && myStorage != null) { if (outputControlPair.IsActive) { iCS_UserCommands.CreatePropertiesWizardElement(myTarget, outputControlPair.Component); } else { iCS_UserCommands.DeletePropertiesWizardElement(myTarget, outputControlPair.Component); } } } } GUIStyle labelStyle = inputControlPair.IsActive || outputControlPair.IsActive ? EditorStyles.boldLabel : EditorStyles.label; if (string.Compare(columnId, kNameColumnId) == 0) { GUI.Label(position, name, labelStyle); } if (string.Compare(columnId, kTypeColumnId) == 0) { GUI.Label(position, typeName, labelStyle); } }
public VariablePair(LibraryObject inputComponent, bool inputActive, LibraryObject outputComponent, bool outputActive) { InputControlPair = new ControlPair(inputComponent, inputActive); OutputControlPair = new ControlPair(outputComponent, outputActive); }
private void AddSpecType(int left, int bottom, string type, string day, ICollection<ControlPair<ComboBox>> list, Control page) { const int down = 60; for (int i = 1; i < 8; i++, bottom += down) { ComboBox first = new ComboBox { FormattingEnabled = true, Location = new System.Drawing.Point(left, bottom), Name = String.Format("{0}{1}{2}{3}{4}", day, type, "Num", "ComboBox", i), Size = new System.Drawing.Size(100, 20) }; ComboBox second = new ComboBox() { FormattingEnabled = true, Location = new System.Drawing.Point(left, bottom + 25), Name = String.Format("{0}{1}{2}{3}{4}", day, type, "Den", "ComboBox", i), Size = new System.Drawing.Size(100, 20) }; page.Controls.Add(first); page.Controls.Add(second); ControlPair<ComboBox> temp = new ControlPair<ComboBox> { First = first, Second = second }; list.Add(temp); } }