private ButtonWidget AddTabButton(GUIHost host, LibraryViewTab tabFrame, LibraryView.TabButtonStyle style, string text, int ID) { var buttonWidget = new ButtonWidget(ID, null) { Text = text, TextColor = new Color4(0.71f, 0.71f, 0.71f, 1f), TextOverColor = new Color4(1f, 1f, 1f, 1f), TextDownColor = new Color4(1f, 1f, 1f, 1f), Size = FontSize.Medium }; buttonWidget.SetCallback(new ButtonCallback(TabButtonCallback)); buttonWidget.DontMove = true; buttonWidget.ClickType = ButtonType.Checkable; buttonWidget.GroupID = 1; buttonWidget.Data = tabFrame; switch (style) { case LibraryView.TabButtonStyle.Left: buttonWidget.Init(host, "guicontrols", 513f, 64f, 575f, sbyte.MaxValue, 513f, 128f, 575f, 191f, 513f, 192f, 575f, byte.MaxValue, 513f, 64f, 575f, sbyte.MaxValue); break; case LibraryView.TabButtonStyle.Middle: buttonWidget.Init(host, "guicontrols", 576f, 64f, 639f, sbyte.MaxValue, 576f, 128f, 639f, 191f, 576f, 192f, 639f, byte.MaxValue, 576f, 64f, 639f, sbyte.MaxValue); break; case LibraryView.TabButtonStyle.Right: buttonWidget.Init(host, "guicontrols", 640f, 64f, 703f, sbyte.MaxValue, 640f, 128f, 703f, 191f, 640f, 192f, 703f, byte.MaxValue, 640f, 64f, 703f, sbyte.MaxValue); break; } buttonWidget.SetGrowableWidth(16, 16, 48); tabsFrame.AddChildElement(buttonWidget); return(buttonWidget); }
public override void OnUpdate() { base.OnUpdate(); PrinterObject selectedPrinter = spooler_connection.SelectedPrinter; if (selectedPrinter != null && selectedPrinter.IsConnected()) { if (selectedPrinter.isBusy && controls_enabled) { controls_enabled = false; DisableGroup(10001); if (!selectedPrinter.Info.FirmwareIsInvalid) { DisableGroup(10003); } } else if (!selectedPrinter.isBusy && !controls_enabled) { controls_enabled = true; EnableGroup(10001); EnableGroup(10003); } if (selectedPrinter.Info.FirmwareIsInvalid) { EnableGroup(10003); } if (selectedPrinter.Info.Status == PrinterStatus.Firmware_IsWaitingToPause || selectedPrinter.Info.Status == PrinterStatus.Firmware_PrintingPausedProcessing || selectedPrinter.Info.Status == PrinterStatus.Firmware_PrintingPaused) { controls_enabled = false; DisableGroup(10001); DisableGroup(10003); } EnableGroup(10002); if (!selectedPrinter.HasHeatedBed) { if (TabFrame.ChildList.Contains(advancedHeatedBedButton)) { if (advancedHeatedBedButton.Checked) { basicButton.Checked = true; } TabFrame.RemoveChildElement(advancedHeatedBedButton); advancedHeatedBedButton.Enabled = false; } } else if (selectedPrinter.HasHeatedBed && !TabFrame.ChildList.Contains(advancedHeatedBedButton)) { TabFrame.AddChildElement(advancedHeatedBedButton); advancedHeatedBedButton.Enabled = true; TabFrame.RemoveChildElement(gCodeButton); TabFrame.AddChildElement(gCodeButton); } if (!selectedPrinter.SDCardExtension.Available) { if (!TabFrame.ChildList.Contains(sdCardButton)) { return; } if (sdCardButton.Checked) { basicButton.Checked = true; } TabFrame.RemoveChildElement(sdCardButton); sdCardButton.Enabled = false; } else { if (!selectedPrinter.SDCardExtension.Available || TabFrame.ChildList.Contains(sdCardButton)) { return; } TabFrame.AddChildElement(sdCardButton); sdCardButton.Enabled = true; TabFrame.RemoveChildElement(gCodeButton); TabFrame.AddChildElement(gCodeButton); } } else { controls_enabled = false; DisableGroup(10001); DisableGroup(10002); DisableGroup(10003); } }