public PrintLibraryWidget()
		{
			currentPrintLibraryWidget = this;
			Reload();
		}
		public PrintLibraryWidget()
		{
			currentPrintLibraryWidget = this;
			SetDisplayAttributes();

			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.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;
				}

				leaveEditModeButton.Visible = false;

				FlowLayoutWidget searchPanel = new FlowLayoutWidget();
				searchPanel.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay;
				searchPanel.HAnchor = HAnchor.ParentLeftRight;
				searchPanel.Padding = new BorderDouble(0);
				{
					searchInput = new MHTextEditWidget(messageWhenEmptyAndNotSelected: "Search Library".Localize());
					searchInput.Margin = new BorderDouble(0, 3, 0, 0);
					searchInput.HAnchor = HAnchor.ParentLeftRight;
					searchInput.VAnchor = VAnchor.ParentCenter;
					searchInput.ActualTextEditWidget.EnterPressed += new KeyEventHandler(searchInputEnterPressed);

					double oldWidth = editButtonFactory.FixedWidth;
					editButtonFactory.FixedWidth = 0;
					Button searchButton = editButtonFactory.Generate(LocalizedString.Get("Search"), centerText: true);
					searchButton.Click += searchButtonClick;
					editButtonFactory.FixedWidth = oldWidth;

					searchPanel.AddChild(enterEditModeButton);
					searchPanel.AddChild(leaveEditModeButton);

					searchPanel.AddChild(searchInput);
					searchPanel.AddChild(searchButton);
				}

				FlowLayoutWidget navigationPanel = new FlowLayoutWidget();
				navigationPanel.HAnchor = HAnchor.ParentLeftRight;
				navigationPanel.Padding = new BorderDouble(0);
				navigationPanel.BackgroundColor = ActiveTheme.Instance.TransparentLightOverlay;

				navigationLabel = new TextWidget("My Library".Localize(), pointSize: 14);
				navigationLabel.VAnchor = Agg.UI.VAnchor.ParentCenter;
				navigationLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor;

				navigationPanel.AddChild(new GuiWidget(50, 0)); //Add this as temporary balance to edit buttons
				navigationPanel.AddChild(new HorizontalSpacer());
				navigationPanel.AddChild(navigationLabel);
				navigationPanel.AddChild(new HorizontalSpacer());

				buttonPanel = new FlowLayoutWidget();
				buttonPanel.HAnchor = HAnchor.ParentLeftRight;
				buttonPanel.Padding = new BorderDouble(0, 3);
				buttonPanel.MinimumSize = new Vector2(0, 46);

                AddLibraryButtonElements();
				CreateEditBarButtons();

				//allControls.AddChild(navigationPanel);
				allControls.AddChild(searchPanel);
				allControls.AddChild(itemOperationButtons);

				libraryDataView = new LibraryDataView();
				breadCrumbWidget = new FolderBreadCrumbWidget(libraryDataView.SetCurrentLibraryProvider, libraryDataView.CurrentLibraryProvider);
				libraryDataView.ChangedCurrentLibraryProvider += breadCrumbWidget.SetBreadCrumbs;

				libraryDataView.ChangedCurrentLibraryProvider += ClearSearchWidget;

				allControls.AddChild(breadCrumbWidget);

				allControls.AddChild(libraryDataView);
				allControls.AddChild(buttonPanel);
			}
			allControls.AnchorAll();

			this.AddChild(allControls);

			AddHandlers();
		}
Esempio n. 3
0
 public PrintLibraryWidget()
 {
     currentPrintLibraryWidget = this;
     Reload();
 }
        public PrintLibraryWidget()
        {
            currentPrintLibraryWidget = this;
            SetDisplayAttributes();

            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.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;
                }

                enterEditModeButton.Name = "Library Edit Button";

                leaveEditModeButton.Visible = false;

                searchPanel = new FlowLayoutWidget();
                searchPanel.BackgroundColor = ActiveTheme.Instance.TransparentDarkOverlay;
                searchPanel.HAnchor         = HAnchor.ParentLeftRight;
                searchPanel.Padding         = new BorderDouble(0);
                {
                    searchInput         = new MHTextEditWidget(messageWhenEmptyAndNotSelected: "Search Library".Localize());
                    searchInput.Name    = "Search Library Edit";
                    searchInput.Margin  = new BorderDouble(0, 3, 0, 0);
                    searchInput.HAnchor = HAnchor.ParentLeftRight;
                    searchInput.VAnchor = VAnchor.ParentCenter;
                    searchInput.ActualTextEditWidget.EnterPressed += new KeyEventHandler(searchInputEnterPressed);

                    double oldWidth = editButtonFactory.FixedWidth;
                    editButtonFactory.FixedWidth = 0;
                    Button searchButton = editButtonFactory.Generate(LocalizedString.Get("Search"), centerText: true);
                    searchButton.Name            = "Search Library Button";
                    searchButton.Click          += searchButtonClick;
                    editButtonFactory.FixedWidth = oldWidth;

                    searchPanel.AddChild(enterEditModeButton);
                    searchPanel.AddChild(leaveEditModeButton);

                    searchPanel.AddChild(searchInput);
                    searchPanel.AddChild(searchButton);
                }

                searchPanel.Visible = false;

                FlowLayoutWidget navigationPanel = new FlowLayoutWidget();
                navigationPanel.HAnchor         = HAnchor.ParentLeftRight;
                navigationPanel.Padding         = new BorderDouble(0);
                navigationPanel.BackgroundColor = ActiveTheme.Instance.TransparentLightOverlay;

                navigationLabel           = new TextWidget("My Library".Localize(), pointSize: 14);
                navigationLabel.VAnchor   = Agg.UI.VAnchor.ParentCenter;
                navigationLabel.TextColor = ActiveTheme.Instance.PrimaryTextColor;

                navigationPanel.AddChild(new GuiWidget(50, 0));                 //Add this as temporary balance to edit buttons
                navigationPanel.AddChild(new HorizontalSpacer());
                navigationPanel.AddChild(navigationLabel);
                navigationPanel.AddChild(new HorizontalSpacer());

                buttonPanel             = new FlowLayoutWidget();
                buttonPanel.HAnchor     = HAnchor.ParentLeftRight;
                buttonPanel.Padding     = new BorderDouble(0, 3);
                buttonPanel.MinimumSize = new Vector2(0, 46);

                AddLibraryButtonElements();
                CreateEditBarButtons();

                //allControls.AddChild(navigationPanel);
                allControls.AddChild(searchPanel);
                allControls.AddChild(itemOperationButtons);

                libraryDataView  = new LibraryDataView();
                breadCrumbWidget = new FolderBreadCrumbWidget(libraryDataView.SetCurrentLibraryProvider, libraryDataView.CurrentLibraryProvider);
                libraryDataView.ChangedCurrentLibraryProvider += breadCrumbWidget.SetBreadCrumbs;

                libraryDataView.ChangedCurrentLibraryProvider += LibraryProviderChanged;

                allControls.AddChild(breadCrumbWidget);

                allControls.AddChild(libraryDataView);
                allControls.AddChild(buttonPanel);
            }

            allControls.AnchorAll();

            this.AddChild(allControls);

            AddHandlers();
        }