/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Glade.XML gxml = new Glade.XML("ApsimNG.Resources.Glade.SeriesView.glade", "vbox1"); gxml.Autoconnect(this); _mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dropDownView1 = new DropDownView(this); dropDownView2 = new DropDownView(this); dropDownView3 = new DropDownView(this); dropDownView4 = new DropDownView(this); dropDownView5 = new DropDownView(this); dropDownView6 = new DropDownView(this); dropDownView7 = new DropDownView(this); dropDownView8 = new DropDownView(this); dropDownView9 = new ColourDropDownView(this); dropDownView10 = new DropDownView(this); dropDownView11 = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); table1.Attach(dropDownView1.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView2.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView3.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView5.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView4.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView6.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView7.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView8.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView9.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(dropDownView10.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(dropDownView11.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Glade.XML gxml = new Glade.XML("ApsimNG.Resources.Glade.SeriesView.glade", "vbox1"); gxml.Autoconnect(this); _mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dropDownView1 = new DropDownView(this); dropDownView2 = new DropDownView(this); dropDownView3 = new DropDownView(this); dropDownView4 = new DropDownView(this); dropDownView5 = new DropDownView(this); dropDownView6 = new DropDownView(this); dropDownView7 = new DropDownView(this); dropDownView8 = new DropDownView(this); dropDownView9 = new ColourDropDownView(this); dropDownView10 = new DropDownView(this); dropDownView11 = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); table1.Attach(dropDownView1.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView2.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView3.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView5.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView4.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView6.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView7.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView8.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView9.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(dropDownView10.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(dropDownView11.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.SeriesView.glade"); vbox1 = (VBox)builder.GetObject("vbox1"); table1 = (Table)builder.GetObject("table1"); label4 = (Label)builder.GetObject("label4"); label5 = (Label)builder.GetObject("label5"); _mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dropDownView1 = new DropDownView(this); dropDownView2 = new DropDownView(this); dropDownView3 = new DropDownView(this); dropDownView4 = new DropDownView(this); dropDownView5 = new DropDownView(this); dropDownView6 = new DropDownView(this); dropDownView7 = new DropDownView(this); dropDownView8 = new DropDownView(this); dropDownView9 = new ColourDropDownView(this); dropDownView10 = new DropDownView(this); dropDownView11 = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); table1.Attach(dropDownView1.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView2.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView3.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView5.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView4.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView6.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView7.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView8.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView9.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); Image helpImage = new Image(null, "ApsimNG.Resources.help.png"); EventBox ebHelp = new EventBox(); ebHelp.Add(helpImage); ebHelp.ButtonPressEvent += Help_ButtonPressEvent; HBox filterBox = new HBox(); filterBox.PackStart(editView1.MainWidget, true, true, 0); filterBox.PackEnd(ebHelp, false, true, 0); //table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(filterBox, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(dropDownView10.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(dropDownView11.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); }
/// <summary> /// Generate and initialise input widget for the given property. /// This involves attaching the appropriate event handlers and /// populating it with an initial value. /// </summary> /// <param name="property">The property to be presented.</param> private Widget GenerateInputWidget(Property property) { Widget component; switch (property.DisplayMethod) { case PropertyType.MultiLineText: TextView editor = new TextView(); editor.SizeAllocated += OnTextViewSizeAllocated; string text = ReflectionUtilities.ObjectToString(property.Value, CultureInfo.CurrentCulture); editor.Buffer.Text = text ?? ""; originalEntryText[property.ID] = text; editor.Name = property.ID.ToString(); Frame outline = new Frame(); outline.Add(editor); component = outline; editor.FocusOutEvent += OnEntryFocusOut; break; case PropertyType.SingleLineText: string entryValue = ReflectionUtilities.ObjectToString(property.Value, CultureInfo.InvariantCulture); Entry textInput = new Entry(entryValue ?? ""); textInput.FocusOutEvent += OnEntryFocusOut; component = textInput; originalEntryText[property.ID] = textInput.Text; break; case PropertyType.Checkbox: CheckButton toggleButton = new CheckButton(); toggleButton.Active = (bool)property.Value; toggleButton.Toggled += OnToggleCheckButton; component = toggleButton; break; case PropertyType.DropDown: // Dropdown list - use a DropDownView (which wraps GtkComboBox). DropDownView dropDown = new DropDownView(this); dropDown.Values = property.DropDownOptions; dropDown.SelectedValue = property.Value?.ToString(); dropDown.Changed += OnDropDownChanged; component = dropDown.MainWidget; break; case PropertyType.File: case PropertyType.Files: case PropertyType.Directory: //case PropertyType.Directories: // Add an Entry and a Button inside a VBox. Entry fileNameInput = new Entry(property.Value?.ToString() ?? ""); fileNameInput.Name = property.ID.ToString(); fileNameInput.FocusOutEvent += OnEntryFocusOut; originalEntryText[property.ID] = fileNameInput.Text; Button fileChooserButton = new Button("..."); fileChooserButton.Name = property.ID.ToString(); if (property.DisplayMethod == PropertyType.File) { fileChooserButton.Clicked += (o, _) => ChooseFile(o as Widget, false, false); } else if (property.DisplayMethod == PropertyType.Files) { fileChooserButton.Clicked += (o, _) => ChooseFile(o as Widget, true, false); } else if (property.DisplayMethod == PropertyType.Directory) { fileChooserButton.Clicked += (o, _) => ChooseFile(o as Widget, false, true); } Box container = new HBox(); container.PackStart(fileNameInput, true, true, 0); container.PackStart(fileChooserButton, false, false, 0); component = container; break; case PropertyType.Colour: ColourDropDownView colourChooser = new ColourDropDownView(this); List <object> colours = new List <object>(); foreach (var colour in ColourUtilities.Colours) { colours.Add(colour); } colourChooser.Values = colours.ToArray(); colourChooser.SelectedValue = property.Value; colourChooser.Changed += OnDropDownChanged; colourChooser.MainWidget.Name = property.ID.ToString(); component = colourChooser.MainWidget; break; default: throw new Exception($"Unknown display type {property.DisplayMethod}"); } // Set the widget's name to the property name. // This allows us to provide the property name when firing off // the property changed event, despite the event handlers being // shared by multiple components. return(component); }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.SeriesView.glade"); vbox1 = (VBox)builder.GetObject("vbox1"); #if NETFRAMEWORK table1 = (Table)builder.GetObject("table1"); #else Widget table = (Widget)builder.GetObject("table1"); vbox1.Remove(table); table1 = new Grid(); table1.ColumnSpacing = 10; // Set expand to false on this grid, to ensure that any extra space // is allocated to the graph (aka plotview). vbox1.PackStart(table1, false, true, 0); vbox1.ReorderChild(table1, 0); #endif label4 = (Label)builder.GetObject("label4"); label5 = (Label)builder.GetObject("label5"); mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dataSourceDropDown = new DropDownView(this); xDropDown = new DropDownView(this); yDropDown = new DropDownView(this); x2DropDown = new DropDownView(this); y2DropDown = new DropDownView(this); seriesDropDown = new DropDownView(this); lineTypeDropDown = new DropDownView(this); markerTypeDropDown = new DropDownView(this); colourDropDown = new ColourDropDownView(this); lineThicknessDropDown = new DropDownView(this); markerSizeDropDown = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); Image helpImage = new Image(null, "ApsimNG.Resources.help.png"); helpBox = new EventBox(); helpBox.Add(helpImage); helpBox.ButtonReleaseEvent += Help_ButtonPressEvent; HBox filterBox = new HBox(); filterBox.PackStart(editView1.MainWidget, true, true, 0); filterBox.PackEnd(helpBox, false, true, 0); #if NETCOREAPP table1.Attach(new Label("Data Source:") { Xalign = 0 }, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("X:") { Xalign = 0 }, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Y:") { Xalign = 0 }, 0, 1, 2, 3, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); label4 = new Label("Y2:") { Xalign = 0 }; label5 = new Label("X2:") { Xalign = 0 }; table1.Attach(label4, 0, 1, 3, 4, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(label5, 0, 1, 4, 5, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Type:") { Xalign = 0 }, 0, 1, 5, 6, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Line type:") { Xalign = 0 }, 0, 1, 6, 7, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Marker type:") { Xalign = 0 }, 0, 1, 7, 8, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Colour:") { Xalign = 0 }, 0, 1, 8, 9, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); table1.Attach(new Label("Filter:") { Xalign = 0 }, 0, 1, 9, 10, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); #endif table1.Attach(dataSourceDropDown.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(xDropDown.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(yDropDown.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(y2DropDown.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(x2DropDown.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(seriesDropDown.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(lineTypeDropDown.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(markerTypeDropDown.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(colourDropDown.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); //table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(filterBox, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(new Label("Line thickness:") { Xalign = 0 }, 2, 3, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(lineThicknessDropDown.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(new Label("Marker size:") { Xalign = 0 }, 2, 3, 7, 8, AttachOptions.Fill, 0, 0, 5); table1.Attach(markerSizeDropDown.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); mainWidget.Destroyed += _mainWidget_Destroyed; }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.SeriesView.glade"); vbox1 = (VBox)builder.GetObject("vbox1"); table1 = (Table)builder.GetObject("table1"); label4 = (Label)builder.GetObject("label4"); label5 = (Label)builder.GetObject("label5"); mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dataSourceDropDown = new DropDownView(this); xDropDown = new DropDownView(this); yDropDown = new DropDownView(this); x2DropDown = new DropDownView(this); y2DropDown = new DropDownView(this); seriesDropDown = new DropDownView(this); lineTypeDropDown = new DropDownView(this); markerTypeDropDown = new DropDownView(this); colourDropDown = new ColourDropDownView(this); lineThicknessDropDown = new DropDownView(this); markerSizeDropDown = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); table1.Attach(dataSourceDropDown.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(xDropDown.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(yDropDown.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(y2DropDown.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(x2DropDown.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(seriesDropDown.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(lineTypeDropDown.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(markerTypeDropDown.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(colourDropDown.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); Image helpImage = new Image(null, "ApsimNG.Resources.help.png"); helpBox = new EventBox(); helpBox.Add(helpImage); helpBox.ButtonReleaseEvent += Help_ButtonPressEvent; HBox filterBox = new HBox(); filterBox.PackStart(editView1.MainWidget, true, true, 0); filterBox.PackEnd(helpBox, false, true, 0); //table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(filterBox, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(lineThicknessDropDown.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(markerSizeDropDown.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); mainWidget.Destroyed += _mainWidget_Destroyed; }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Builder builder = BuilderFromResource("ApsimNG.Resources.Glade.SeriesView.glade"); vbox1 = (VBox)builder.GetObject("vbox1"); Widget table = (Widget)builder.GetObject("table1"); vbox1.Remove(table); table1 = new Grid(); table1.ColumnSpacing = 10; // Set expand to false on this grid, to ensure that any extra space // is allocated to the graph (aka plotview). vbox1.PackStart(table1, false, true, 0); vbox1.ReorderChild(table1, 0); label4 = (Label)builder.GetObject("label4"); label5 = (Label)builder.GetObject("label5"); mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dataSourceDropDown = new DropDownView(this); xDropDown = new DropDownView(this); yDropDown = new DropDownView(this); x2DropDown = new DropDownView(this); y2DropDown = new DropDownView(this); seriesDropDown = new DropDownView(this); lineTypeDropDown = new DropDownView(this); markerTypeDropDown = new DropDownView(this); colourDropDown = new ColourDropDownView(this); lineThicknessDropDown = new DropDownView(this); markerSizeDropDown = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); Image helpImage = new Image(null, "ApsimNG.Resources.MenuImages.Help.svg"); helpBox = new EventBox(); helpBox.Add(helpImage); helpBox.ButtonReleaseEvent += Help_ButtonPressEvent; HBox filterBox = new HBox(); filterBox.PackStart(editView1.MainWidget, true, true, 0); filterBox.PackEnd(helpBox, false, true, 0); table1.Attach(new Label("Data Source:") { Xalign = 0 }, 0, 0, 1, 1); table1.Attach(new Label("X:") { Xalign = 0 }, 0, 1, 1, 1); table1.Attach(new Label("Y:") { Xalign = 0 }, 0, 2, 1, 1); label4 = new Label("Y2:") { Xalign = 0 }; label5 = new Label("X2:") { Xalign = 0 }; table1.Attach(label4, 0, 3, 1, 1); table1.Attach(label5, 0, 4, 1, 1); table1.Attach(new Label("Type:") { Xalign = 0 }, 0, 5, 1, 1); table1.Attach(new Label("Line type:") { Xalign = 0 }, 0, 6, 1, 1); table1.Attach(new Label("Marker type:") { Xalign = 0 }, 0, 7, 1, 1); table1.Attach(new Label("Colour:") { Xalign = 0 }, 0, 8, 1, 1); table1.Attach(new Label("Filter:") { Xalign = 0 }, 0, 9, 1, 1); // fixme: these widgets used to have 10px horizontal padding and 2px vertical padding. table1.Attach(dataSourceDropDown.MainWidget, 1, 0, 1, 1 /*, 10, 2*/); table1.Attach(xDropDown.MainWidget, 1, 1, 1, 1 /*10, 2*/); table1.Attach(yDropDown.MainWidget, 1, 2, 1, 1 /*10, 2*/); table1.Attach(y2DropDown.MainWidget, 1, 3, 1, 1 /*10, 2*/); table1.Attach(x2DropDown.MainWidget, 1, 4, 1, 1 /*10, 2*/); table1.Attach(seriesDropDown.MainWidget, 1, 5, 1, 1 /*10, 2*/); table1.Attach(lineTypeDropDown.MainWidget, 1, 6, 1, 1 /*10, 2*/); table1.Attach(markerTypeDropDown.MainWidget, 1, 7, 1, 1 /*10, 2*/); table1.Attach(colourDropDown.MainWidget, 1, 8, 1, 1 /*10, 2*/); table1.Attach(filterBox, 1, 9, 1, 1 /*10, 2*/); table1.Attach(checkBoxView1.MainWidget, 2, 1, 1, 1); table1.Attach(checkBoxView2.MainWidget, 2, 2, 1, 1); table1.Attach(checkBoxView3.MainWidget, 3, 1, 1, 1); table1.Attach(checkBoxView4.MainWidget, 3, 2, 1, 1); table1.Attach(checkBoxView5.MainWidget, 2, 8, 2, 1); table1.Attach(checkBoxView6.MainWidget, 2, 9, 2, 1); // fixme: These apparently used to have 5px vertical padding. table1.Attach(new Label("Line thickness:") { Xalign = 0 }, 2, 6, 1, 1 /*, 0, 5*/); table1.Attach(lineThicknessDropDown.MainWidget, 3, 6, 1, 1 /*, 0, 5*/); table1.Attach(new Label("Marker size:") { Xalign = 0 }, 2, 7, 1, 1 /*, 0, 5*/); table1.Attach(markerSizeDropDown.MainWidget, 3, 7, 1, 1 /*, 0, 5*/); mainWidget.Destroyed += _mainWidget_Destroyed; }
/// <summary>Initializes a new instance of the <see cref="SeriesView" /> class</summary> public SeriesView(ViewBase owner) : base(owner) { Glade.XML gxml = new Glade.XML("ApsimNG.Resources.Glade.SeriesView.glade", "vbox1"); gxml.Autoconnect(this); _mainWidget = vbox1; graphView1 = new GraphView(this); vbox1.PackStart(graphView1.MainWidget, true, true, 0); dropDownView1 = new DropDownView(this); dropDownView2 = new DropDownView(this); dropDownView3 = new DropDownView(this); dropDownView4 = new DropDownView(this); dropDownView5 = new DropDownView(this); dropDownView6 = new DropDownView(this); dropDownView7 = new DropDownView(this); dropDownView8 = new DropDownView(this); dropDownView9 = new ColourDropDownView(this); dropDownView10 = new DropDownView(this); dropDownView11 = new DropDownView(this); checkBoxView1 = new CheckBoxView(this); checkBoxView1.TextOfLabel = "on top?"; checkBoxView2 = new CheckBoxView(this); checkBoxView2.TextOfLabel = "on right?"; checkBoxView3 = new CheckBoxView(this); checkBoxView3.TextOfLabel = "cumulative?"; checkBoxView4 = new CheckBoxView(this); checkBoxView4.TextOfLabel = "cumulative?"; checkBoxView5 = new CheckBoxView(this); checkBoxView5.TextOfLabel = "Show in legend?"; checkBoxView6 = new CheckBoxView(this); checkBoxView6.TextOfLabel = "Include series name in legend?"; editView1 = new EditView(this); table1.Attach(dropDownView1.MainWidget, 1, 2, 0, 1, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView2.MainWidget, 1, 2, 1, 2, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView3.MainWidget, 1, 2, 2, 3, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView5.MainWidget, 1, 2, 3, 4, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView4.MainWidget, 1, 2, 4, 5, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView6.MainWidget, 1, 2, 5, 6, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView7.MainWidget, 1, 2, 6, 7, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView8.MainWidget, 1, 2, 7, 8, AttachOptions.Fill, 0, 10, 2); table1.Attach(dropDownView9.MainWidget, 1, 2, 8, 9, AttachOptions.Fill, 0, 10, 2); Image helpImage = new Image(null, "ApsimNG.Resources.help.png"); EventBox ebHelp = new EventBox(); ebHelp.Add(helpImage); ebHelp.ButtonPressEvent += Help_ButtonPressEvent; HBox filterBox = new HBox(); filterBox.PackStart(editView1.MainWidget, true, true, 0); filterBox.PackEnd(ebHelp, false, true, 0); //table1.Attach(editView1.MainWidget, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(filterBox, 1, 2, 9, 10, AttachOptions.Fill, 0, 10, 2); table1.Attach(checkBoxView1.MainWidget, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView2.MainWidget, 2, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView3.MainWidget, 3, 4, 1, 2, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView4.MainWidget, 3, 4, 2, 3, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView5.MainWidget, 2, 4, 8, 9, AttachOptions.Fill, 0, 0, 0); table1.Attach(checkBoxView6.MainWidget, 2, 4, 9, 10, AttachOptions.Fill, 0, 0, 0); table1.Attach(dropDownView10.MainWidget, 3, 4, 6, 7, AttachOptions.Fill, 0, 0, 5); table1.Attach(dropDownView11.MainWidget, 3, 4, 7, 8, AttachOptions.Fill, 0, 0, 5); }