private TabControl CreateNewAdvancedControls(EventHandler AdvancedControlsButton_Click) { TabControl advancedControls = new TabControl(); BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; advancedControls.TabBar.BorderColor = ActiveTheme.Instance.SecondaryTextColor; advancedControls.TabBar.Margin = new BorderDouble(0, 0); advancedControls.TabBar.Padding = new BorderDouble(0, 2); int textSize = 16; if (AdvancedControlsButton_Click != null) { // this means we are in compact view and so we will make the tabs text a bit smaller textSize = 14; TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory(); advancedControlsButtonFactory.fontSize = 14; advancedControlsButtonFactory.invertImageLocation = false; advancedControlsBackButton = advancedControlsButtonFactory.Generate(LocalizedString.Get("Back"), "icon_arrow_left_32x32.png"); advancedControlsBackButton.ToolTipText = "Switch to Queue, Library and History".Localize(); advancedControlsBackButton.Margin = new BorderDouble(right: 3); advancedControlsBackButton.VAnchor = VAnchor.ParentBottom; advancedControlsBackButton.Cursor = Cursors.Hand; advancedControlsBackButton.Click += new EventHandler(AdvancedControlsButton_Click); advancedControls.TabBar.AddChild(advancedControlsBackButton); } GuiWidget hSpacer = new GuiWidget(); hSpacer.HAnchor = HAnchor.ParentLeftRight; advancedControls.TabBar.AddChild(hSpacer); GuiWidget manualPrinterControls = new ManualPrinterControls(); ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true); manualPrinterControlsScrollArea.ScrollArea.HAnchor |= Agg.UI.HAnchor.ParentLeftRight; manualPrinterControlsScrollArea.AnchorAll(); manualPrinterControlsScrollArea.AddChild(manualPrinterControls); RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected; //Add the tab contents for 'Advanced Controls' string sliceSettingsLabel = LocalizedString.Get("Settings").ToUpper(); string printerControlsLabel = LocalizedString.Get("Controls").ToUpper(); sliceSettingsWidget = new SliceSettingsWidget(); TabPage sliceSettingsTabPage = new TabPage(sliceSettingsWidget, sliceSettingsLabel); PopOutTextTabWidget sliceSettingPopOut = new PopOutTextTabWidget(sliceSettingsTabPage, SliceSettingsTabName, new Vector2(590, 400), textSize); advancedControls.AddTab(sliceSettingPopOut); TabPage controlsTabPage = new TabPage(manualPrinterControlsScrollArea, printerControlsLabel); PopOutTextTabWidget controlsPopOut = new PopOutTextTabWidget(controlsTabPage, ControlsTabName, new Vector2(400, 300), textSize); advancedControls.AddTab(controlsPopOut); #if !__ANDROID__ MenuOptionSettings.sliceSettingsPopOut = sliceSettingPopOut; MenuOptionSettings.controlsPopOut = controlsPopOut; #endif string optionsLabel = LocalizedString.Get("Options").ToUpper(); ScrollableWidget configurationControls = new PrinterConfigurationScrollWidget(); advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(configurationControls, optionsLabel), "Configuration Tab", textSize, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); // Make sure we are on the right tab when we create this view { string selectedTab = UserSettings.Instance.get(ThirdPanelTabView_AdvancedControls_CurrentTab); advancedControls.SelectTab(selectedTab); advancedControls.TabBar.TabIndexChanged += (object sender, EventArgs e) => { UserSettings.Instance.set(ThirdPanelTabView_AdvancedControls_CurrentTab, advancedControls.TabBar.SelectedTabName); }; } return advancedControls; }
private void Load(PrintItemWrapper printItem) { tabControl = new TabControl(); tabControl.TabBar.BorderColor = new RGBA_Bytes(0, 0, 0, 0); tabControl.TabBar.Padding = new BorderDouble(top: 6); RGBA_Bytes selectedTabColor; if (ActiveTheme.Instance.DisplayMode == ActiveTheme.ApplicationDisplayType.Responsive) { tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; selectedTabColor = ActiveTheme.Instance.TabLabelSelected; } else { tabControl.TabBar.BackgroundColor = ActiveTheme.Instance.TransparentLightOverlay; selectedTabColor = ActiveTheme.Instance.SecondaryAccentColor; } double buildHeight = ActiveSliceSettings.Instance.BuildHeight; // put in the 3D view partPreviewView = new View3DWidget(printItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedCenter, ActiveSliceSettings.Instance.BedShape, windowMode, autoRotate3DView, openMode); TabPage partPreview3DView = new TabPage(partPreviewView, string.Format("3D {0} ", "View".Localize()).ToUpper()); // put in the gcode view ViewGcodeBasic.WindowMode gcodeWindowMode = ViewGcodeBasic.WindowMode.Embeded; if (windowMode == View3DWidget.WindowMode.StandAlone) { gcodeWindowMode = ViewGcodeBasic.WindowMode.StandAlone; } viewGcodeBasic = new ViewGcodeBasic(printItem, new Vector3(ActiveSliceSettings.Instance.BedSize, buildHeight), ActiveSliceSettings.Instance.BedCenter, ActiveSliceSettings.Instance.BedShape, gcodeWindowMode); if (windowMode == View3DWidget.WindowMode.StandAlone) { partPreviewView.Closed += (s, e) => Close(); viewGcodeBasic.Closed += (s, e) => Close(); } layerView = new TabPage(viewGcodeBasic, LocalizedString.Get("Layer View").ToUpper()); int tabPointSize = 16; // add the correct tabs based on whether we are stand alone or embedded Tab threeDViewTab; Tab layerViewTab; if (windowMode == View3DWidget.WindowMode.StandAlone || OsInformation.OperatingSystem == OSType.Android) { threeDViewTab = new SimpleTextTabWidget(partPreview3DView, "3D View Tab", tabPointSize, selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()); tabControl.AddTab(threeDViewTab); layerViewTab = new SimpleTextTabWidget(layerView, "Layer View Tab", tabPointSize, selectedTabColor, new RGBA_Bytes(), ActiveTheme.Instance.TabLabelUnselected, new RGBA_Bytes()); tabControl.AddTab(layerViewTab); } else { threeDViewTab = new PopOutTextTabWidget(partPreview3DView, "3D View Tab", new Vector2(590, 400), tabPointSize); tabControl.AddTab(threeDViewTab); layerViewTab = new PopOutTextTabWidget(layerView, "Layer View Tab", new Vector2(590, 400), tabPointSize); tabControl.AddTab(layerViewTab); } threeDViewTab.ToolTipText = "Preview 3D Design".Localize(); layerViewTab.ToolTipText = "Preview layer Tool Paths".Localize(); this.AddChild(tabControl); }
private TabControl CreateAdvancedControlsTab() { TabControl advancedControls = new TabControl(); BackgroundColor = ActiveTheme.Instance.PrimaryBackgroundColor; advancedControls.TabBar.BorderColor = ActiveTheme.Instance.SecondaryTextColor; advancedControls.TabBar.Margin = new BorderDouble(0, 0); advancedControls.TabBar.Padding = new BorderDouble(0, 2); int textSize = 16; // this means we are in compact view and so we will make the tabs text a bit smaller textSize = 14; TextImageButtonFactory advancedControlsButtonFactory = new TextImageButtonFactory(); advancedControlsButtonFactory.fontSize = 14; advancedControlsButtonFactory.invertImageLocation = false; backButton = advancedControlsButtonFactory.Generate(LocalizedString.Get("Back"), StaticData.Instance.LoadIcon("icon_arrow_left_32x32.png", 32,32)); backButton.ToolTipText = "Switch to Queue, Library and History".Localize(); backButton.Margin = new BorderDouble(right: 3); backButton.VAnchor = VAnchor.ParentBottom; backButton.Cursor = Cursors.Hand; backButton.Click += (s, e) => BackClicked?.Invoke(this, null); advancedControls.TabBar.AddChild(backButton); advancedControls.TabBar.AddChild(new HorizontalSpacer()); GuiWidget manualPrinterControls = new ManualPrinterControls(); ScrollableWidget manualPrinterControlsScrollArea = new ScrollableWidget(true); manualPrinterControlsScrollArea.ScrollArea.HAnchor |= HAnchor.ParentLeftRight; manualPrinterControlsScrollArea.AnchorAll(); manualPrinterControlsScrollArea.AddChild(manualPrinterControls); RGBA_Bytes unselectedTextColor = ActiveTheme.Instance.TabLabelUnselected; if (ActiveSliceSettings.Instance.PrinterSelected) { sliceSettingsWidget = new SliceSettingsWidget(); } else { sliceSettingsWidget = new NoSettingsWidget(); } var sliceSettingsTabPage = new TabPage(sliceSettingsWidget, "Settings".Localize().ToUpper()); var sliceSettingPopOut = new PopOutTextTabWidget(sliceSettingsTabPage, SliceSettingsTabName, new Vector2(590, 400), textSize); advancedControls.AddTab(sliceSettingPopOut); var controlsTabPage = new TabPage(manualPrinterControlsScrollArea, "Controls".Localize().ToUpper()); var controlsPopOut = new PopOutTextTabWidget(controlsTabPage, ControlsTabName, new Vector2(400, 300), textSize); advancedControls.AddTab(controlsPopOut); #if !__ANDROID__ MenuOptionSettings.sliceSettingsPopOut = sliceSettingPopOut; MenuOptionSettings.controlsPopOut = controlsPopOut; #endif var optionsControls = new PrinterConfigurationScrollWidget(); advancedControls.AddTab(new SimpleTextTabWidget(new TabPage(optionsControls, "Options".Localize().ToUpper()), "Options Tab", textSize, ActiveTheme.Instance.PrimaryTextColor, new RGBA_Bytes(), unselectedTextColor, new RGBA_Bytes())); // Make sure we are on the right tab when we create this view { string selectedTab = UserSettings.Instance.get(ThirdPanelTabView_AdvancedControls_CurrentTab); advancedControls.SelectTab(selectedTab); advancedControls.TabBar.TabIndexChanged += (sender, e) => { string selectedTabName = advancedControls.TabBar.SelectedTabName; if (!string.IsNullOrEmpty(selectedTabName)) { UserSettings.Instance.set(ThirdPanelTabView_AdvancedControls_CurrentTab, selectedTabName); } }; } return advancedControls; }