Exemple #1
0
        private void BuildInternalStructures()
        {
            internalSettingsDictionary = new Dictionary <string, SlicerSettingsItem>(StringComparer.InvariantCultureIgnoreCase);
            List <XMLSettingsItem> allSettings = xmlSettings.GetAllSettings();

            foreach (XMLSettingsItem xmlSettingsItem1 in allSettings)
            {
                XMLSettingsItem setting = xmlSettingsItem1;
                if (setting.SlicerSettingsItem is SettingsItemBoolRPCType)
                {
                    ((SettingsItemBoolRPCType)setting.SlicerSettingsItem).SetParentSettings(this);
                }

                if (!setting.Name.StartsWith(XMLSetting.MagicInternalString, StringComparison.InvariantCultureIgnoreCase))
                {
                    internalSettingsDictionary.Add(setting.Name, setting.SlicerSettingsItem);
                }

                if (!string.IsNullOrEmpty(setting.GroupToggle))
                {
                    XMLSettingsItem xmlSettingsItem2 = allSettings.Find(item => item.Name == setting.GroupToggle);
                    if (xmlSettingsItem2 != null)
                    {
                        setting.SlicerSettingsItem.GroupToggleSetting = xmlSettingsItem2.SlicerSettingsItem;
                        setting.SlicerSettingsItem.ReverseGroupToggle = setting.ReverseGroupToggle;
                    }
                }
            }
        }
Exemple #2
0
        private Element2D CreateComboBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder)
        {
            var slicerSettingsItem = settings.SlicerSettingsItem as SlicerSettingsEnumItem;
            var horzonalFrame      = new Frame(ID_Builder++, vertLayout)
            {
                RelativeWidth = 1f,
                Height        = 28
            };

            CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text);
            var comboBoxWidget = new ComboBoxWidget(ID_Builder++, horzonalFrame)
            {
                Value = slicerSettingsItem.ValueInt,
                tag   = settings.Name
            };

            comboBoxWidget.Init(host);
            comboBoxWidget.ItemsEnumString = slicerSettingsItem.EnumType.ToString();
            comboBoxWidget.Select          = slicerSettingsItem.ValueInt;
            comboBoxWidget.ToolTipMessage  = settings.Tooltip;
            comboBoxWidget.Height          = 24;
            comboBoxWidget.Width           = 240;
            comboBoxWidget.X                    = 245;
            comboBoxWidget.Size                 = FontSize.Medium;
            comboBoxWidget.HexColor             = "#FF808080";
            comboBoxWidget.TextChangedCallback += new ComboBoxWidget.ComboBoxTextChangedCallback(comboBoxChangedCallBack);
            horzonalFrame.AddChildElement(comboBoxWidget);
            vertLayout.AddChildElement(horzonalFrame);
            return(comboBoxWidget);
        }
Exemple #3
0
        private Element2D CreateCheckBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder)
        {
            var horzonalFrame = new Frame(ID_Builder++, vertLayout)
            {
                RelativeWidth = 1f,
                Height        = 28
            };

            CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text);
            var buttonWidget = new ButtonWidget(ID_Builder++, horzonalFrame);

            buttonWidget.Init(host, ButtonTemplate.CheckBox);
            buttonWidget.ToolTipMessage = settings.Tooltip;
            buttonWidget.ClickType      = ButtonType.Checkable;
            buttonWidget.DontMove       = true;
            buttonWidget.CanClickOff    = true;
            buttonWidget.Height         = 28;
            buttonWidget.Width          = 28;
            buttonWidget.X       = 245;
            buttonWidget.tag     = settings.Name;
            buttonWidget.Checked = bool.Parse(settings.SlicerSettingsItem.TranslateToUserValue());
            buttonWidget.SetCallback(new ButtonCallback(CheckBoxCallback));
            buttonWidget.FadeWhenDisabled = true;
            horzonalFrame.AddChildElement(buttonWidget);
            vertLayout.AddChildElement(horzonalFrame);
            return(buttonWidget);
        }
Exemple #4
0
        private Element2D CreateTextBox(Frame vertLayout, XMLSettingsItem settings, ref int ID_Builder)
        {
            var       slicerSettingsItem = settings.SlicerSettingsItem as IReportFormat;
            NumFormat numFormat          = NumFormat.Thousands;

            if (slicerSettingsItem != null)
            {
                numFormat = slicerSettingsItem.Format;
            }

            var horzonalFrame = new Frame(ID_Builder++, vertLayout)
            {
                RelativeWidth = 1f,
                Height        = 28
            };

            CreateSettingsTitleElement(horzonalFrame, ID_Builder++, settings.Text);
            var editBoxWidget = new EditBoxWidget(ID_Builder++, horzonalFrame);

            editBoxWidget.Init(host, "guicontrols", 898f, 104f, 941f, 135f);
            editBoxWidget.Height           = 25;
            editBoxWidget.Width            = 75;
            editBoxWidget.MAX_CHARS        = 7;
            editBoxWidget.X                = 245;
            editBoxWidget.Size             = FontSize.Medium;
            editBoxWidget.HexColor         = "#FF808080";
            editBoxWidget.ToolTipMessage   = settings.Tooltip;
            editBoxWidget.FadeWhenDisabled = true;
            editBoxWidget.Text             = settings.SlicerSettingsItem.TranslateToUserValue();
            editBoxWidget.tag              = settings.Name;
            editBoxWidget.NumFormat        = numFormat;
            editBoxWidget.SetCallbackOnTextAdded(new EditBoxWidget.EditBoxCallback(EditBoxCallback));
            editBoxWidget.SetCallbackOnBackspace(new EditBoxWidget.EditBoxCallback(EditBoxCallback));
            horzonalFrame.AddChildElement(editBoxWidget);
            var textWidget1 = new TextWidget(ID_Builder++, horzonalFrame)
            {
                Width     = 65,
                Height    = 35,
                X         = 325,
                Size      = FontSize.Medium,
                HexColor  = "#FF7f7f7f",
                Alignment = QFontAlignment.Left,
                Text      = settings.Suffix
            };

            horzonalFrame.AddChildElement(textWidget1);
            var textWidget2 = new TextWidget(ID_Builder++, horzonalFrame)
            {
                Width     = 500,
                Height    = 35,
                X         = 395,
                Size      = FontSize.Medium,
                HexColor  = "#FF7f7f7f",
                Alignment = QFontAlignment.Left,
                Visible   = true,
                tag       = GetRangeText(settings.Name)
            };

            horzonalFrame.AddChildElement(textWidget2);
            vertLayout.AddChildElement(horzonalFrame);
            return(editBoxWidget);
        }
Exemple #5
0
        private void GenerateFromSlicerSettings(SmartSlicerSettingsBase smartSlicerSettings)
        {
            this.smartSlicerSettings = smartSlicerSettings;
            tab_frame = new Frame(608, this)
            {
                X = 180,
                Y = 35,
                HexBorderColor = "#0C0C0C0C"
            };
            AddChildElement(tab_frame);
            var YPos = 35;
            var num  = 10000;
            List <XMLTabCollectionSettingsItem> visualSettings = smartSlicerSettings.VisualSettings;

            for (var index = 0; index < visualSettings.Count; ++index)
            {
                CreateTabButton(visualSettings[index].Header, ref num, YPos, 181, 64);
                YPos += 64;
            }
            for (var index1 = 0; index1 < visualSettings.Count; ++index1)
            {
                var scrollableVerticalLayout = new ScrollableVerticalLayout(num++, tab_frame);
                scrollableVerticalLayout.Init(host);
                scrollableVerticalLayout.tag            = GetTabFrameTag(visualSettings[index1].Header);
                scrollableVerticalLayout.Visible        = false;
                scrollableVerticalLayout.Enabled        = false;
                scrollableVerticalLayout.RelativeWidth  = 1f;
                scrollableVerticalLayout.RelativeHeight = 1f;
                for (var index2 = 0; index2 < visualSettings[index1].Items.Count; ++index2)
                {
                    XMLSettingsItem settings = visualSettings[index1].Items[index2];
                    if (!settings.Name.StartsWith(XMLSetting.MagicInternalString + "Hidden", StringComparison.InvariantCultureIgnoreCase))
                    {
                        Element2D element;
                        switch (settings.SlicerSettingsItem.GetItemType())
                        {
                        case SettingItemType.IntType:
                        case SettingItemType.FloatMMType:
                            element = CreateTextBox(scrollableVerticalLayout, settings, ref num);
                            break;

                        case SettingItemType.BoolType:
                            element = CreateCheckBox(scrollableVerticalLayout, settings, ref num);
                            break;

                        case SettingItemType.FillPatternType:
                        case SettingItemType.SupportPatternType:
                            element = CreateComboBox(scrollableVerticalLayout, settings, ref num);
                            break;

                        default:
                            throw new NotImplementedException("GenerateAdvancedSettings was given an unknown setting");
                        }
                        if (element != null)
                        {
                            ProcessValidity(settings.Name, settings.SlicerSettingsItem, element);
                        }
                    }
                }
                tab_frame.AddChildElement(scrollableVerticalLayout);
            }
            Refresh();
            if (visualSettings.Count == 0)
            {
                return;
            }
            (FindChildElement(GetTabButtonTag(visualSettings[0].Header)) as ButtonWidget)?.SetChecked(true);
        }