Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }