Esempio n. 1
0
        private DropDownMenu GetSliceOptionsMenuDropList()
        {
            DropDownMenu sliceOptionsMenuDropList;

            sliceOptionsMenuDropList = new DropDownMenu("Options".Localize() + "... ")
            {
                HoverColor        = new RGBA_Bytes(0, 0, 0, 50),
                NormalColor       = new RGBA_Bytes(0, 0, 0, 0),
                BorderColor       = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100),
                BackgroundColor   = new RGBA_Bytes(0, 0, 0, 0),
                BorderWidth       = 1,
                MenuAsWideAsItems = false,
                AlignToRightEdge  = true,
            };
            sliceOptionsMenuDropList.Name     = "Slice Settings Options Menu";
            sliceOptionsMenuDropList.VAnchor |= VAnchor.ParentCenter;


            showHelpBox = new CheckBox("Show Help".Localize());

            if (primarySettingsView)
            {
                // only turn on the help if in the main view and it is set to on
                showHelpBox.Checked = UserSettings.Instance.get(SliceSettingsShowHelpEntry) == "true";
            }

            showHelpBox.CheckedStateChanged += (s, e) =>
            {
                if (primarySettingsView)
                {
                    // only save the help settings if in the main view
                    UserSettings.Instance.set(SliceSettingsShowHelpEntry, showHelpBox.Checked.ToString().ToLower());
                }
                ShowHelpChanged?.Invoke(this, null);
            };

            MenuItem showHelp = new MenuItem(showHelpBox, "Show Help Checkbox")
            {
                Padding = sliceOptionsMenuDropList.MenuItemsPadding,
            };

            sliceOptionsMenuDropList.MenuItems.Add(showHelp);
            sliceOptionsMenuDropList.AddHorizontalLine();

            sliceOptionsMenuDropList.AddItem("Import".Localize()).Selected += (s, e) => { ImportSettingsMenu_Click(); };
            sliceOptionsMenuDropList.AddItem("Export".Localize()).Selected += (s, e) => { WizardWindow.Show <ExportSettingsPage>("ExportSettingsPage", "Export Settings"); };

            MenuItem settingsHistory = sliceOptionsMenuDropList.AddItem("Restore Settings".Localize());

            settingsHistory.Selected += (s, e) => { WizardWindow.Show <PrinterProfileHistoryPage>("PrinterProfileHistory", "Restore Settings"); };

            settingsHistory.Enabled = !string.IsNullOrEmpty(AuthenticationData.Instance.ActiveSessionUsername);

            sliceOptionsMenuDropList.AddItem("Reset to Defaults".Localize()).Selected += (s, e) => { UiThread.RunOnIdle(ResetToDefaults); };

            return(sliceOptionsMenuDropList);
        }
        public SliceSettingsDetailControl()
        {
            showHelpBox         = new CheckBox(0, 0, "Show Help".Localize(), textSize: 10);
            showHelpBox.Checked = UserSettings.Instance.get(SliceSettingsShowHelpEntry) == "true";
            // add in the ability to turn on and off help text
            showHelpBox.TextColor            = ActiveTheme.Instance.PrimaryTextColor;
            showHelpBox.Margin               = new BorderDouble(right: 3);
            showHelpBox.VAnchor              = VAnchor.ParentCenter;
            showHelpBox.Cursor               = Cursors.Hand;
            showHelpBox.CheckedStateChanged += (s, e) =>
            {
                UserSettings.Instance.set(SliceSettingsShowHelpEntry, showHelpBox.Checked.ToString().ToLower());
                ShowHelpChanged?.Invoke(this, null);
            };

            this.AddChild(showHelpBox);

            settingsDetailSelector      = new DropDownList("Basic", maxHeight: 200);
            settingsDetailSelector.Name = "User Level Dropdown";
            settingsDetailSelector.AddItem("Basic".Localize(), "Simple");
            settingsDetailSelector.AddItem("Standard".Localize(), "Intermediate");
            settingsDetailSelector.AddItem("Advanced".Localize(), "Advanced");
            if (UserSettings.Instance.get(SliceSettingsLevelEntry) != null &&
                SliceSettingsOrganizer.Instance.UserLevels.ContainsKey(UserSettings.Instance.get(SliceSettingsLevelEntry)))
            {
                settingsDetailSelector.SelectedValue = UserSettings.Instance.get(SliceSettingsLevelEntry);
            }

            settingsDetailSelector.SelectionChanged += (s, e) => RebuildSlicerSettings(null, null);;
            settingsDetailSelector.VAnchor           = VAnchor.ParentCenter;
            settingsDetailSelector.Margin            = new BorderDouble(5, 3);
            settingsDetailSelector.BorderColor       = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100);

            this.AddChild(settingsDetailSelector);
            this.AddChild(GetSliceOptionsMenuDropList());
        }
        public SliceSettingsDetailControl(List <PrinterSettingsLayer> layerCascade)
        {
            showHelpBox = new CheckBox(0, 0, "Show Help".Localize(), textSize: 10)
            {
                VAnchor = VAnchor.ParentCenter,
            };

            if (layerCascade == null)
            {
                // only turn of the help if in the main view and it is set to on
                showHelpBox.Checked = UserSettings.Instance.get(SliceSettingsShowHelpEntry) == "true";
            }

            // add in the ability to turn on and off help text
            showHelpBox.TextColor            = ActiveTheme.Instance.PrimaryTextColor;
            showHelpBox.Margin               = new BorderDouble(right: 3);
            showHelpBox.VAnchor              = VAnchor.ParentCenter;
            showHelpBox.Cursor               = Cursors.Hand;
            showHelpBox.CheckedStateChanged += (s, e) =>
            {
                if (layerCascade == null)
                {
                    // only save the help settings if in the main view
                    UserSettings.Instance.set(SliceSettingsShowHelpEntry, showHelpBox.Checked.ToString().ToLower());
                }
                ShowHelpChanged?.Invoke(this, null);
            };

            this.AddChild(showHelpBox);

            settingsDetailSelector      = new DropDownList("Basic", maxHeight: 200);
            settingsDetailSelector.Name = "User Level Dropdown";
            settingsDetailSelector.AddItem("Basic".Localize(), "Simple");
            settingsDetailSelector.AddItem("Standard".Localize(), "Intermediate");
            settingsDetailSelector.AddItem("Advanced".Localize(), "Advanced");

            if (layerCascade == null)
            {
                // set to the user requested value when in default view
                if (UserSettings.Instance.get(SliceSettingsLevelEntry) != null &&
                    SliceSettingsOrganizer.Instance.UserLevels.ContainsKey(UserSettings.Instance.get(SliceSettingsLevelEntry)))
                {
                    settingsDetailSelector.SelectedValue = UserSettings.Instance.get(SliceSettingsLevelEntry);
                }
            }
            else             // in settings editor view
            {
                // set to advanced
                settingsDetailSelector.SelectedValue = "Advanced";
            }

            settingsDetailSelector.SelectionChanged += (s, e) => RebuildSlicerSettings(null, null);;
            settingsDetailSelector.VAnchor           = VAnchor.ParentCenter;
            settingsDetailSelector.Margin            = new BorderDouble(5, 3);
            settingsDetailSelector.BorderColor       = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100);

            if (layerCascade == null)
            {
                // only add these in the default view
                this.AddChild(settingsDetailSelector);
                this.AddChild(GetSliceOptionsMenuDropList());
            }

            VAnchor = VAnchor.ParentCenter;
        }