예제 #1
0
        private void AddRightClickPrinterMenu(ChromeTab printerTab, PrinterConfig printer, MouseEventArgs mouseEvent)
        {
            var menuTheme = ApplicationController.Instance.MenuTheme;
            var popupMenu = new PopupMenu(menuTheme);

            var renameMenuItem = popupMenu.CreateMenuItem("Rename".Localize());

            renameMenuItem.Click += (s, e) =>
            {
                DialogWindow.Show(
                    new InputBoxPage(
                        "Rename Item".Localize(),
                        "Name".Localize(),
                        printer.Settings.GetValue(SettingsKey.printer_name),
                        "Enter New Name Here".Localize(),
                        "Rename".Localize(),
                        (newName) =>
                {
                    printer.Settings.SetValue(SettingsKey.printer_name, newName);
                }));
            };

            popupMenu.ShowMenu(printerTab, mouseEvent);
        }
예제 #2
0
        private void AddRightClickTabMenu(ChromeTabs tabs, ChromeTab printerTab, PrinterConfig printer, PartWorkspace workspace, MouseEventArgs mouseEvent)
        {
            var menuTheme = ApplicationController.Instance.MenuTheme;
            var popupMenu = new PopupMenu(menuTheme);

            var renameMenuItem = popupMenu.CreateMenuItem("Rename".Localize());

            renameMenuItem.Click += (s, e) =>
            {
                if (workspace != null)
                {
                    workspace.LibraryView.ActiveContainer.Rename(workspace.LibraryView.ActiveContainer.Items.FirstOrDefault());
                }
                else if (printer != null)
                {
                    DialogWindow.Show(
                        new InputBoxPage(
                            "Rename Item".Localize(),
                            "Name".Localize(),
                            printer.Settings.GetValue(SettingsKey.printer_name),
                            "Enter New Name Here".Localize(),
                            "Rename".Localize(),
                            (newName) =>
                    {
                        printer.Settings.SetValue(SettingsKey.printer_name, newName);
                    }));
                }
            };


            var moveButtons = new FlowLayoutWidget();

            var textWidget = new TextWidget("Move Tab", pointSize: theme.DefaultFontSize, textColor: theme.TextColor)
            {
                Margin  = PopupMenu.MenuPadding.Clone(PopupMenu.MenuPadding.Left - 5, right: 5),
                VAnchor = VAnchor.Center,
            };

            moveButtons.AddChild(textWidget);
            var buttonSize     = 24 * DeviceScale;
            var moveLeftButton = new IconButton(StaticData.Instance.LoadIcon("fa-angle-right_12.png", 14, 14, theme.InvertIcons).MirrorX(), theme)
            {
                Width      = buttonSize,
                Height     = buttonSize,
                Margin     = new BorderDouble(3, 0),
                HoverColor = theme.AccentMimimalOverlay,
                VAnchor    = VAnchor.Center,
                Enabled    = tabs.GetTabIndex(printerTab) > tabs.FirstMovableTab,
            };

            moveLeftButton.Click += (s, e) =>
            {
                tabs.MoveTabLeft(printerTab);
                popupMenu.Unfocus();
            };
            moveButtons.AddChild(moveLeftButton);

            var moveRightButton = new IconButton(StaticData.Instance.LoadIcon("fa-angle-right_12.png", 14, 14, theme.InvertIcons), theme)
            {
                Width      = buttonSize,
                Height     = buttonSize,
                Margin     = new BorderDouble(3, 0),
                HoverColor = theme.AccentMimimalOverlay,
                VAnchor    = VAnchor.Center,
                Enabled    = printerTab.NextTab != null,
            };

            moveRightButton.Click += (s, e) =>
            {
                tabs.MoveTabRight(printerTab);
                popupMenu.Unfocus();
            };
            moveButtons.AddChild(moveRightButton);

            popupMenu.AddChild(moveButtons);

            popupMenu.ShowMenu(printerTab, mouseEvent);
        }