public TestWindowNode(DemoElements elementEnum, HudParentBase parent = null) : base(parent) { this.elementEnum = elementEnum; cameraNode = new CamSpaceNode(this); window = GetTestWindow(elementEnum); window.Register(cameraNode); }
/// <summary> /// Creates a new test window instance with the child element type specified by the /// type list selection. /// </summary> private void InstantiateSelectedType(object sender, EventArgs args) { if (typeList.Selection != null) { DemoElements selection = typeList.Selection.AssocMember; var testElement = new TestWindowNode(selection); demoRoot.Add(testElement); instanceList.Add($"[#{instanceList.EntryList.Count}] {selection}", testElement); // If selection is empty set selection to new element if (instanceList.Selection == null) { instanceList.SetSelection(testElement); } } }
/// <summary> /// Instantiates a new generic test window with the library element type /// corresponding to the DemoElements enum /// </summary> private static TestWindow GetTestWindow(DemoElements subtypeEnum) { switch (subtypeEnum) { case DemoElements.BorderedButton: return(new TestWindow <BorderedButton>()); case DemoElements.BorderedCheckBox: return(new TestWindow <BorderedCheckBox>()); case DemoElements.Button: return(new TestWindow <Button>()); case DemoElements.ColorPickerRGB: return(new TestWindow <ColorPickerRGB>()); case DemoElements.Dropdown: return(new TestWindow <Dropdown <int> >()); case DemoElements.LabelBoxButton: return(new TestWindow <LabelBoxButton>()); case DemoElements.ListBox: return(new TestWindow <ListBox <int> >()); case DemoElements.NamedCheckBox: return(new TestWindow <NamedCheckBox>()); case DemoElements.NamedOnOffButton: return(new TestWindow <NamedOnOffButton>()); case DemoElements.NamedSliderBox: return(new TestWindow <NamedSliderBox>()); case DemoElements.OnOffButton: return(new TestWindow <OnOffButton>()); case DemoElements.ScrollBar: return(new TestWindow <ScrollBar>()); case DemoElements.TextBox: return(new TestWindow <TextBox>()); case DemoElements.TreeBox: return(new TestWindow <TreeList <int> >()); case DemoElements.DoubleLabelBox: return(new TestWindow <DoubleLabelBox>()); case DemoElements.Label: return(new TestWindow <Label>()); case DemoElements.LabelBox: return(new TestWindow <LabelBox>()); case DemoElements.TexturedBox: return(new TestWindow <TexturedBox>()); case DemoElements.SliderBar: return(new TestWindow <SliderBar>()); case DemoElements.SliderBox: return(new TestWindow <SliderBox>()); case DemoElements.TextField: return(new TestWindow <TextField>()); } return(null); }