public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.TabLabelUnselected; editButtonFactory.disabledFillColor = new RGBA_Bytes(); editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.Margin = new BorderDouble(10, 0); FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.ToolTipText = "Enter Multi Select mode".Localize(); enterEditModeButton.Click += enterEditModeButtonClick; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Name = "Queue Done Button"; leaveEditModeButton.Click += leaveEditModeButtonClick; // make sure the buttons are the same size even when localized if (leaveEditModeButton.Width < enterEditModeButton.Width) { editButtonFactory.FixedWidth = enterEditModeButton.Width; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; } else { editButtonFactory.FixedWidth = leaveEditModeButton.Width; enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Name = "Queue Edit Button"; enterEditModeButton.Click += enterEditModeButtonClick; } multiSelectionMenuItems.Add("Merge".Localize() + "..."); CreateEditBarButtons(); leaveEditModeButton.Visible = false; FlowLayoutWidget topBarContainer = new FlowLayoutWidget(); topBarContainer.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; topBarContainer.HAnchor = HAnchor.ParentLeftRight; topBarContainer.Padding = new BorderDouble(0); topBarContainer.AddChild(enterEditModeButton); topBarContainer.AddChild(leaveEditModeButton); topBarContainer.AddChild(new HorizontalSpacer()); topBarContainer.AddChild(itemOperationButtons); // put in the item edit menu { moreMenu = new DropDownMenu("More".Localize() + "... "); moreMenu.NormalColor = new RGBA_Bytes(); moreMenu.BorderWidth = (int)(1 * GuiWidget.DeviceScale + .5); moreMenu.BorderColor = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor, 100); moreMenu.MenuAsWideAsItems = false; moreMenu.VAnchor = VAnchor.ParentBottomTop; moreMenu.Margin = new BorderDouble(3, 3); moreMenu.AlignToRightEdge = true; topBarContainer.AddChild(moreMenu); SetMenuItems(moreMenu); moreMenu.SelectionChanged += new EventHandler(ItemMenu_SelectionChanged); } allControls.AddChild(topBarContainer); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate("Add".Localize(), StaticData.Instance.LoadIcon("icon_plus.png", 32, 32)); addToQueueButton.ToolTipText = "Add an .stl, .amf, .gcode or .zip file to the Queue".Localize(); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += addToQueueButton_Click; addToQueueButton.Name = "Queue Add Button"; // put in the creator button { createButton = textImageButtonFactory.Generate("Create".Localize(), StaticData.Instance.LoadIcon("icon_creator.png", 32, 32)); createButton.ToolTipText = "Choose a Create Tool to generate custom designs".Localize(); createButton.Name = "Design Tool Button"; buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } bool touchScreenMode = UserSettings.Instance.IsTouchScreen; if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate("Buy Materials".Localize(), StaticData.Instance.LoadIcon("icon_shopping_cart_32x32.png", 32, 32)); shopButton.ToolTipText = "Shop online for printing materials".Localize(); shopButton.Name = "Buy Materials Button"; buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActiveSliceSettings.Instance.PrinterSelected) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.GetValue <double>(SettingsKey.filament_diameter) < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); buttonPanel1.AddChild(queueMenuContainer); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); QueueData.Instance.SelectedIndexChanged.RegisterEvent((s, e) => SetEditButtonsStates(), ref unregisterEvents); SetEditButtonsStates(); }
public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.TabLabelUnselected; editButtonFactory.disabledFillColor = new RGBA_Bytes(); editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.Margin = new BorderDouble(10, 0); editButtonFactory.Margin *= TextWidget.GlobalPointSizeScaleRatio; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Click += enterEditModeButtonClick; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; // make sure the buttons are the same size even when localized if (leaveEditModeButton.Width < enterEditModeButton.Width) { editButtonFactory.FixedWidth = enterEditModeButton.Width; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; } else { editButtonFactory.FixedWidth = leaveEditModeButton.Width; enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Click += enterEditModeButtonClick; } CreateEditBarButtons(); leaveEditModeButton.Visible = false; FlowLayoutWidget topBarContainer = new FlowLayoutWidget(); topBarContainer.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; topBarContainer.HAnchor = HAnchor.ParentLeftRight; topBarContainer.Padding = new BorderDouble(0); topBarContainer.AddChild(enterEditModeButton); topBarContainer.AddChild(leaveEditModeButton); topBarContainer.AddChild(new HorizontalSpacer()); topBarContainer.AddChild(itemOperationButtons); // put in the itme edit menu { moreMenu = new DropDownMenu("More".Localize() + "... "); moreMenu.NormalColor = new RGBA_Bytes(); moreMenu.BorderWidth = 1; moreMenu.BorderColor = ActiveTheme.Instance.SecondaryTextColor; moreMenu.MenuAsWideAsItems = false; moreMenu.VAnchor = VAnchor.ParentBottomTop; moreMenu.Margin = new BorderDouble(3, 3); moreMenu.AlignToRightEdge = true; topBarContainer.AddChild(moreMenu); SetMenuItems(moreMenu); moreMenu.SelectionChanged += new EventHandler(ItemMenu_SelectionChanged); } allControls.AddChild(topBarContainer); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new EventHandler(addToQueueButton_Click); // put in the creator button { createButton = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } bool touchScreenMode = ActiveTheme.Instance.IsTouchScreen; if (!touchScreenMode) { if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } } buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); if (!touchScreenMode) { buttonPanel1.AddChild(queueMenuContainer); } ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent((object sender, EventArgs e) => { queueMenuContainer.RemoveAllChildren(); // the printer changed reload the queueMenue queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); }, ref unregisterEvents); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); AddHandlers(); //enterEditModeButtonClick(null, null); }
public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.FixedWidth = 70 * TextWidget.GlobalPointSizeScaleRatio; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Visible = false; FlowLayoutWidget searchPanel = new FlowLayoutWidget(); searchPanel.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; searchPanel.HAnchor = HAnchor.ParentLeftRight; searchPanel.Padding = new BorderDouble(0); searchPanel.AddChild(enterEditModeButton); searchPanel.AddChild(leaveEditModeButton); searchPanel.AddChild(new HorizontalSpacer()); allControls.AddChild(searchPanel); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new EventHandler(addToQueueButton_Click); // put in the creator button { createButton = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } sendItemButton = textImageButtonFactory.Generate("Send".Localize()); sendItemButton.Margin = new BorderDouble(0, 0, 3, 0); sendItemButton.Click += new EventHandler(sendButton_Click); sendItemButton.Visible = false; buttonPanel1.AddChild(sendItemButton); exportItemButton = textImageButtonFactory.Generate("Export".Localize()); exportItemButton.Margin = new BorderDouble(3, 0); exportItemButton.Click += new EventHandler(exportButton_Click); exportItemButton.Visible = false; buttonPanel1.AddChild(exportItemButton); copyItemButton = textImageButtonFactory.Generate("Copy".Localize()); copyItemButton.Margin = new BorderDouble(3, 0); copyItemButton.Click += new EventHandler(copy_Button_Click); copyItemButton.Visible = false; buttonPanel1.AddChild(copyItemButton); removeItemButton = textImageButtonFactory.Generate("Remove".Localize()); removeItemButton.Margin = new BorderDouble(3, 0); removeItemButton.Click += new EventHandler(removeButton_Click); removeItemButton.Visible = false; buttonPanel1.AddChild(removeItemButton); if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } Button deleteAllFromQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Remove All")); deleteAllFromQueueButton.Margin = new BorderDouble(3, 0); deleteAllFromQueueButton.Click += new EventHandler(deleteAllFromQueueButton_Click); //buttonPanel1.AddChild(deleteAllFromQueueButton); buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); buttonPanel1.AddChild(queueMenuContainer); ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent((object sender, EventArgs e) => { queueMenuContainer.RemoveAllChildren(); // the printer changed reload the queueMenue queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); }, ref unregisterEvents); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); AddHandlers(); }
public QueueBottomToolbar(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); { Button addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new ButtonBase.ButtonEventHandler(addToQueueButton_Click); // put in the creator button { Button runCreator = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(runCreator); runCreator.Margin = new BorderDouble(0, 0, 3, 0); runCreator.Click += (sender, e) => { OpenPluginChooserWindow(); }; } if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } System.Diagnostics.Process.Start("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } Button deleteAllFromQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Remove All")); deleteAllFromQueueButton.Margin = new BorderDouble(3, 0); deleteAllFromQueueButton.Click += new ButtonBase.ButtonEventHandler(deleteAllFromQueueButton_Click); //buttonPanel1.AddChild(deleteAllFromQueueButton); GuiWidget spacer1 = new GuiWidget(); spacer1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.AddChild(spacer1); GuiWidget spacer2 = new GuiWidget(); spacer2.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.AddChild(spacer2); GuiWidget queueMenu = new QueueOptionsMenu(); queueMenu.VAnchor = VAnchor.ParentTop; buttonPanel1.AddChild(queueMenu); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); }
public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.TabLabelUnselected; editButtonFactory.disabledFillColor = new RGBA_Bytes(); editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.Margin = new BorderDouble(10, 0); FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.ToolTipText = "Enter Multi Select mode".Localize(); enterEditModeButton.Click += enterEditModeButtonClick; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Name = "Queue Done Button"; leaveEditModeButton.Click += leaveEditModeButtonClick; // make sure the buttons are the same size even when localized if (leaveEditModeButton.Width < enterEditModeButton.Width) { editButtonFactory.FixedWidth = enterEditModeButton.Width; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; } else { editButtonFactory.FixedWidth = leaveEditModeButton.Width; enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Name = "Queue Edit Button"; enterEditModeButton.Click += enterEditModeButtonClick; } multiSelectionMenuItems.Add("Merge..."); CreateEditBarButtons(); leaveEditModeButton.Visible = false; FlowLayoutWidget topBarContainer = new FlowLayoutWidget(); topBarContainer.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; topBarContainer.HAnchor = HAnchor.ParentLeftRight; topBarContainer.Padding = new BorderDouble(0); topBarContainer.AddChild(enterEditModeButton); topBarContainer.AddChild(leaveEditModeButton); topBarContainer.AddChild(new HorizontalSpacer()); topBarContainer.AddChild(itemOperationButtons); // put in the item edit menu { moreMenu = new DropDownMenu("More".Localize() + "... "); moreMenu.NormalColor = new RGBA_Bytes(); moreMenu.BorderWidth = (int)(1 * GuiWidget.DeviceScale + .5); moreMenu.BorderColor = new RGBA_Bytes(ActiveTheme.Instance.SecondaryTextColor,100); moreMenu.MenuAsWideAsItems = false; moreMenu.VAnchor = VAnchor.ParentBottomTop; moreMenu.Margin = new BorderDouble(3, 3); moreMenu.AlignToRightEdge = true; topBarContainer.AddChild(moreMenu); SetMenuItems(moreMenu); moreMenu.SelectionChanged += new EventHandler(ItemMenu_SelectionChanged); } allControls.AddChild(topBarContainer); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), StaticData.Instance.LoadIcon("icon_plus.png", 32, 32)); addToQueueButton.ToolTipText = "Add an .stl, .amf, .gcode or .zip file to the Queue".Localize(); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new EventHandler(addToQueueButton_Click); addToQueueButton.Name = "Queue Add Button"; // put in the creator button { createButton = textImageButtonFactory.Generate(LocalizedString.Get("Create"), StaticData.Instance.LoadIcon("icon_creator.png", 32, 32)); createButton.ToolTipText = "Choose a Create Tool to generate custom designs".Localize(); createButton.Name = "Design Tool Button"; buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } bool touchScreenMode = UserSettings.Instance.IsTouchScreen; if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), StaticData.Instance.LoadIcon("icon_shopping_cart_32x32.png", 32,32)); shopButton.ToolTipText = "Shop online for printing materials".Localize(); shopButton.Name = "Buy Materials Button"; buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActiveSliceSettings.Instance != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.GetValue<double>(SettingsKey.filament_diameter) < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); buttonPanel1.AddChild(queueMenuContainer); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); QueueData.Instance.SelectedIndexChanged.RegisterEvent((s,e) => SetEditButtonsStates(), ref unregisterEvents); SetEditButtonsStates(); }
public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.TabLabelUnselected; editButtonFactory.disabledFillColor = new RGBA_Bytes(); editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.Margin = new BorderDouble(10, 0); editButtonFactory.Margin *= TextWidget.GlobalPointSizeScaleRatio; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Click += enterEditModeButtonClick; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; // make sure the buttons are the same size even when localized if (leaveEditModeButton.Width < enterEditModeButton.Width) { editButtonFactory.FixedWidth = enterEditModeButton.Width; leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); leaveEditModeButton.Click += leaveEditModeButtonClick; } else { editButtonFactory.FixedWidth = leaveEditModeButton.Width; enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); enterEditModeButton.Click += enterEditModeButtonClick; } CreateEditBarButtons(); leaveEditModeButton.Visible = false; FlowLayoutWidget topBarContainer = new FlowLayoutWidget(); topBarContainer.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; topBarContainer.HAnchor = HAnchor.ParentLeftRight; topBarContainer.Padding = new BorderDouble(0); topBarContainer.AddChild(enterEditModeButton); topBarContainer.AddChild(leaveEditModeButton); topBarContainer.AddChild(new HorizontalSpacer()); topBarContainer.AddChild(itemOperationButtons); // put in the itme edit menu { moreMenu = new DropDownMenu("More".Localize() + "... "); moreMenu.NormalColor = new RGBA_Bytes(); moreMenu.BorderWidth = 1; moreMenu.BorderColor = ActiveTheme.Instance.SecondaryTextColor; moreMenu.MenuAsWideAsItems = false; moreMenu.VAnchor = VAnchor.ParentBottomTop; moreMenu.Margin = new BorderDouble(3, 3); moreMenu.AlignToRightEdge = true; topBarContainer.AddChild(moreMenu); SetMenuItems(moreMenu); moreMenu.SelectionChanged += new EventHandler(ItemMenu_SelectionChanged); } allControls.AddChild(topBarContainer); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new EventHandler(addToQueueButton_Click); // put in the creator button { createButton = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } bool touchScreenMode = ActiveTheme.Instance.IsTouchScreen; if (!touchScreenMode) { if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } } buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); if (!touchScreenMode) { buttonPanel1.AddChild(queueMenuContainer); } ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent((object sender, EventArgs e) => { queueMenuContainer.RemoveAllChildren(); // the printer changed reload the queueMenue queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); }, ref unregisterEvents); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); AddHandlers(); //enterEditModeButtonClick(null, null); }
public QueueBottomToolbar(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); { Button addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new ButtonBase.ButtonEventHandler(addToQueueButton_Click); // put in the creator button { Button runCreator = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(runCreator); runCreator.Margin = new BorderDouble(0, 0, 3, 0); runCreator.Click += (sender, e) => { OpenPluginChooserWindow(); }; } if(OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if(ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } System.Diagnostics.Process.Start("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } Button deleteAllFromQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Remove All")); deleteAllFromQueueButton.Margin = new BorderDouble(3, 0); deleteAllFromQueueButton.Click += new ButtonBase.ButtonEventHandler(deleteAllFromQueueButton_Click); //buttonPanel1.AddChild(deleteAllFromQueueButton); GuiWidget spacer1 = new GuiWidget(); spacer1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.AddChild(spacer1); GuiWidget spacer2 = new GuiWidget(); spacer2.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.AddChild(spacer2); FlowLayoutWidget queueMenuSpace = new FlowLayoutWidget(); GuiWidget queueMenu = new QueueOptionsMenu(); queueMenu.VAnchor = VAnchor.ParentTop; queueMenuSpace.AddChild(queueMenu); buttonPanel1.AddChild(queueMenuSpace); ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent((object sender, EventArgs e) => { queueMenuSpace.RemoveAllChildren(); // the printer changed reload the queueMenue queueMenu = new QueueOptionsMenu(); queueMenu.VAnchor = VAnchor.ParentTop; queueMenuSpace.AddChild(queueMenu); }, ref unregisterEvents); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); }
public QueueDataWidget(QueueDataView queueDataView) { this.queueDataView = queueDataView; SetDisplayAttributes(); textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; textImageButtonFactory.borderWidth = 0; editButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.disabledTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; editButtonFactory.borderWidth = 0; editButtonFactory.FixedWidth = 70 * TextWidget.GlobalPointSizeScaleRatio; FlowLayoutWidget allControls = new FlowLayoutWidget(FlowDirection.TopToBottom); { enterEditModeButton = editButtonFactory.Generate("Edit".Localize(), centerText: true); leaveEditModeButton = editButtonFactory.Generate("Done".Localize(), centerText: true); clearAllButton = editButtonFactory.Generate("Clear".Localize(), centerText: true); clearAllButton.Visible = false; leaveEditModeButton.Visible = false; clearAllPlaceholder = new GuiWidget(clearAllButton.Width, clearAllButton.Height); FlowLayoutWidget searchPanel = new FlowLayoutWidget(); searchPanel.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay; searchPanel.HAnchor = HAnchor.ParentLeftRight; searchPanel.Padding = new BorderDouble(0); searchPanel.AddChild(enterEditModeButton); searchPanel.AddChild(leaveEditModeButton); searchPanel.AddChild(new HorizontalSpacer()); if (ActiveTheme.Instance.IsTouchScreen) { TextWidget textWidget = new TextWidget("Print Queue".Localize().ToUpper(), pointSize: 14); textWidget.TextColor = ActiveTheme.Instance.PrimaryAccentColor; textWidget.VAnchor = VAnchor.ParentCenter; searchPanel.AddChild(textWidget); searchPanel.AddChild(new HorizontalSpacer()); searchPanel.AddChild(clearAllButton); searchPanel.AddChild(clearAllPlaceholder); } allControls.AddChild(searchPanel); { // Ensure the form opens with no rows selected. //ActiveQueueList.Instance.ClearSelected(); allControls.AddChild(queueDataView); } FlowLayoutWidget buttonPanel1 = new FlowLayoutWidget(); buttonPanel1.HAnchor = HAnchor.ParentLeftRight; buttonPanel1.Padding = new BorderDouble(0, 3); buttonPanel1.MinimumSize = new Vector2(0, 46); { addToQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Add"), "icon_circle_plus.png"); buttonPanel1.AddChild(addToQueueButton); addToQueueButton.Margin = new BorderDouble(0, 0, 3, 0); addToQueueButton.Click += new EventHandler(addToQueueButton_Click); // put in the creator button { createButton = textImageButtonFactory.Generate(LocalizedString.Get("Create"), "icon_creator_white_32x32.png"); buttonPanel1.AddChild(createButton); createButton.Margin = new BorderDouble(0, 0, 3, 0); createButton.Click += (sender, e) => { OpenPluginChooserWindow(); }; } sendItemButton = textImageButtonFactory.Generate("Send".Localize()); sendItemButton.Margin = new BorderDouble(0, 0, 3, 0); sendItemButton.Click += new EventHandler(sendButton_Click); sendItemButton.Visible = false; buttonPanel1.AddChild(sendItemButton); addToLibraryButton = textImageButtonFactory.Generate("Add To Library".Localize()); addToLibraryButton.Margin = new BorderDouble(3, 0); addToLibraryButton.Click += new EventHandler(addToLibraryButton_Click); addToLibraryButton.Visible = false; buttonPanel1.AddChild(addToLibraryButton); exportItemButton = textImageButtonFactory.Generate("Export".Localize()); exportItemButton.Margin = new BorderDouble(3, 0); exportItemButton.Click += new EventHandler(exportButton_Click); exportItemButton.Visible = false; buttonPanel1.AddChild(exportItemButton); copyItemButton = textImageButtonFactory.Generate("Copy".Localize()); copyItemButton.Margin = new BorderDouble(3, 0); copyItemButton.Click += new EventHandler(copy_Button_Click); copyItemButton.Visible = false; buttonPanel1.AddChild(copyItemButton); removeItemButton = textImageButtonFactory.Generate("Remove".Localize()); removeItemButton.Margin = new BorderDouble(3, 0); removeItemButton.Click += new EventHandler(removeButton_Click); removeItemButton.Visible = false; buttonPanel1.AddChild(removeItemButton); bool touchScreenMode = ActiveTheme.Instance.IsTouchScreen; if (!touchScreenMode) { if (OemSettings.Instance.ShowShopButton) { shopButton = textImageButtonFactory.Generate(LocalizedString.Get("Buy Materials"), "icon_shopping_cart_32x32.png"); buttonPanel1.AddChild(shopButton); shopButton.Margin = new BorderDouble(0, 0, 3, 0); shopButton.Click += (sender, e) => { double activeFilamentDiameter = 0; if (ActivePrinterProfile.Instance.ActivePrinter != null) { activeFilamentDiameter = 3; if (ActiveSliceSettings.Instance.FilamentDiameter < 2) { activeFilamentDiameter = 1.75; } } MatterControlApplication.Instance.LaunchBrowser("http://www.matterhackers.com/mc/store/redirect?d={0}&clk=mcs&a={1}".FormatWith(activeFilamentDiameter, OemSettings.Instance.AffiliateCode)); }; } } Button deleteAllFromQueueButton = textImageButtonFactory.Generate(LocalizedString.Get("Remove All")); deleteAllFromQueueButton.Margin = new BorderDouble(3, 0); deleteAllFromQueueButton.Click += new EventHandler(deleteAllFromQueueButton_Click); //buttonPanel1.AddChild(deleteAllFromQueueButton); buttonPanel1.AddChild(new HorizontalSpacer()); queueMenuContainer = new FlowLayoutWidget(); queueMenuContainer.VAnchor = Agg.UI.VAnchor.ParentBottomTop; queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); if (!touchScreenMode) { buttonPanel1.AddChild(queueMenuContainer); } ActivePrinterProfile.Instance.ActivePrinterChanged.RegisterEvent((object sender, EventArgs e) => { queueMenuContainer.RemoveAllChildren(); // the printer changed reload the queueMenue queueMenu = new QueueOptionsMenu(); queueMenuContainer.AddChild(queueMenu.MenuDropList); }, ref unregisterEvents); } allControls.AddChild(buttonPanel1); } allControls.AnchorAll(); this.AddChild(allControls); AddHandlers(); }