Пример #1
0
        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();
        }
Пример #2
0
		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);
		}
Пример #3
0
        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();
        }
Пример #4
0
        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(); 
		}
Пример #6
0
        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);
        }
Пример #8
0
		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();
		}