public ICSMenuBar()
                : base()
            {
                Menu menu = fileMenuItem.Submenu as Menu;
                  connectMenuItem =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("_Connect"));
                  connectMenuItem.Image =
                    new Image (Stock.Connect,
                           IconSize.Menu);
                  disconnectMenuItem =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("_Disconnect"));
                  disconnectMenuItem.Image =
                    new Image (Stock.Disconnect,
                           IconSize.Menu);
                int i = 0;
                  menu.Insert (connectMenuItem, i++);
                  menu.Insert (disconnectMenuItem, i++);

                  showTabsMenuItem =
                    new CheckMenuItem (Catalog.
                               GetString
                               ("Show _Tabs"));
                  try
                {
                    showTabsMenuItem.Active =
                        App.Session.ICSShowTabs;
                }
                catch
                {
                    showTabsMenuItem.Active = true;
                }

                Menu vmenu = viewMenuItem.Submenu as Menu;
                  vmenu.Append (showTabsMenuItem);
                  vmenu.Append (new SeparatorMenuItem ());

                  ShowAll ();
            }
Beispiel #2
0
 private void SetCheckMenuItemActivity(CheckMenuItem item, bool isActive)
 {
     item.Active = isActive;
 }
Beispiel #3
0
 /// <summary>Populate the context menu from the descriptions passed in.</summary>
 /// <param name="menuDescriptions">Menu descriptions for each menu item.</param>
 public void PopulateContextMenu(List <MenuDescriptionArgs> menuDescriptions)
 {
     ClearPopup();
     foreach (MenuDescriptionArgs Description in menuDescriptions)
     {
         MenuItem item;
         if (Description.ShowCheckbox)
         {
             CheckMenuItem checkItem = new CheckMenuItem(Description.Name);
             checkItem.Active = Description.Checked;
             item             = checkItem;
         }
         else if (!String.IsNullOrEmpty(Description.ResourceNameForImage) && hasResource(Description.ResourceNameForImage))
         {
             ImageMenuItem imageItem = new ImageMenuItem(Description.Name);
             imageItem.Image = new Image(null, Description.ResourceNameForImage);
             item            = imageItem;
         }
         else
         {
             item = new MenuItem(Description.Name);
         }
         if (!String.IsNullOrEmpty(Description.ShortcutKey))
         {
             string           keyName  = String.Empty;
             Gdk.ModifierType modifier = Gdk.ModifierType.None;
             string[]         keyNames = Description.ShortcutKey.Split(new Char[] { '+' });
             foreach (string name in keyNames)
             {
                 if (name == "Ctrl")
                 {
                     modifier |= Gdk.ModifierType.ControlMask;
                 }
                 else if (name == "Shift")
                 {
                     modifier |= Gdk.ModifierType.ShiftMask;
                 }
                 else if (name == "Alt")
                 {
                     modifier |= Gdk.ModifierType.Mod1Mask;
                 }
                 else if (name == "Del")
                 {
                     keyName = "Delete";
                 }
                 else
                 {
                     keyName = name;
                 }
             }
             try
             {
                 Gdk.Key accelKey = (Gdk.Key)Enum.Parse(typeof(Gdk.Key), keyName, false);
                 item.AddAccelerator("activate", accel, (uint)accelKey, modifier, AccelFlags.Visible);
             }
             catch
             {
             }
         }
         item.Activated += Description.OnClick;
         Popup.Append(item);
     }
     if (Popup.AttachWidget == null)
     {
         Popup.AttachToWidget(treeview1, null);
     }
     Popup.ShowAll();
 }
Beispiel #4
0
        private void createMenu()
        {
            mainMenu = new MenuBar();

            // create the top menu buttons
            mnuFile  = new MenuItem("File");
            mnuTools = new MenuItem("Tools");
            mnuHelp  = new MenuItem("Help");

            mainMenu.Append(mnuFile);
            mainMenu.Append(mnuTools);
            mainMenu.Append(mnuHelp);

            // create the File menu items
            mnuFile_Open            = new MenuItem("Open barn...");
            mnuFile_Extract         = new MenuItem("Extract selected files");
            mnuFile_SetExtractPath  = new MenuItem("Set extract to path...");
            mnuFile_Preview         = new MenuItem("Preview file");
            mnuFile_ConvertBitmaps  = new CheckMenuItem("Convert bitmaps");
            mnuFile_DecompressFiles = new CheckMenuItem("Decompress files");
            mnuFile_Exit            = new MenuItem("Exit");

            // set the default checks
            mnuFile_ConvertBitmaps.Active  = BarnManager.ConvertBitmaps;
            mnuFile_DecompressFiles.Active = BarnManager.Decompress;

            mnuTools_ExtractBitmaps = new MenuItem("Extract all bitmaps");
            mnuTools_ExtractWavs    = new MenuItem("Extract all wavs");
            mnuTools_ExtractDocs    = new MenuItem("Extract all docs");
            mnuTools_ExtractHTML    = new MenuItem("Extract all html files");

            // create the Help menu items
            mnuHelp_About = new MenuItem("About");

            // insert the File menu items into the File menu
            Menu fm = new Menu();

            fm.Append(mnuFile_Open);
            fm.Append(mnuFile_Extract);
            fm.Append(mnuFile_SetExtractPath);
            fm.Append(mnuFile_Preview);
            fm.Append(new SeparatorMenuItem());
            fm.Append(mnuFile_ConvertBitmaps);
            fm.Append(mnuFile_DecompressFiles);
            fm.Append(new SeparatorMenuItem());
            fm.Append(mnuFile_Exit);
            mnuFile.Submenu = fm;

            // insert the Layer menu items into the Layer menu
            Menu tm = new Menu();

            tm.Append(mnuTools_ExtractBitmaps);
            tm.Append(mnuTools_ExtractWavs);
            tm.Append(mnuTools_ExtractDocs);
            tm.Append(mnuTools_ExtractHTML);
            mnuTools.Submenu = tm;

            // insert the Help menu items into the File menu
            Menu hm = new Menu();

            hm.Append(mnuHelp_About);
            mnuHelp.Submenu = hm;

            // assign File menu item event handlers
            mnuFile_Open.Activated           += new EventHandler(mnuFile_Open_Clicked);
            mnuFile_Extract.Activated        += new EventHandler(mnuFile_Extract_Clicked);
            mnuFile_SetExtractPath.Activated += new EventHandler(mnuFile_SetExtractPath_Clicked);
            mnuFile_Preview.Activated        += new EventHandler(mnuFile_Preview_Clicked);
            mnuFile_ConvertBitmaps.Toggled   += new EventHandler(mnuFile_ConvertBitmaps_Toggled);
            mnuFile_DecompressFiles.Toggled  += new EventHandler(mnuFile_DecompressFiles_Toggled);
            mnuFile_Exit.Activated           += new EventHandler(exit_Clicked);

            // assign Help menu item event handlers
            mnuHelp_About.Activated += new EventHandler(mnuHelp_About_Clicked);
        }
Beispiel #5
0
        public void DynamicallyAddedItemsShouldValidateAndDisable()
        {
            bool disabledWasClicked = false;
            int  validateWasCalled  = 0;

            void AddMenuItems(ISubmenu submenu, Window window, int initialItems = 0)
            {
                if (submenu.Items.Count > initialItems)
                {
                    return;
                }

                var commandButton = new Command {
                    MenuText = "A Command Item"
                };

                commandButton.Executed += (sender, e) => Log.Write(sender, $"{commandButton.MenuText} was clicked");

                var disabledCommandButton = new Command {
                    MenuText = "A Disabled command Item", Enabled = false
                };

                disabledCommandButton.Executed += (sender, e) => {
                    Log.Write(sender, $"{disabledCommandButton.MenuText} was clicked");
                };

                var enabledButton = new ButtonMenuItem {
                    Text = "An Enabled Button"
                };

                enabledButton.Validate += (sender, e) =>
                {
                    validateWasCalled++;
                    Log.Write(sender, "Validate was called!");
                };
                enabledButton.Click += (s2, e2) => Log.Write(s2, $"{enabledButton.Text} was clicked");

                var disabledButton = new ButtonMenuItem {
                    Text = "Disabled button", Enabled = false
                };

                disabledButton.Click += (sender, e) =>
                {
                    Log.Write(sender, $"{disabledButton.Text} was clicked");
                    disabledWasClicked = true;
                    window.Close();
                };

                var toggledButton = new ButtonMenuItem {
                    Text = "Toggled button"
                };

                toggledButton.Click += (s2, e2) => Log.Write(s2, $"{toggledButton.Text} was clicked");

                var checkButton = new CheckMenuItem {
                    Text = "toggled button enabled", Checked = true
                };

                toggledButton.Bind(c => c.Enabled, checkButton, c => c.Checked);
                checkButton.Click += (s2, e2) => Log.Write(s2, $"{checkButton.Text} was clicked");


                submenu.Items.Add(enabledButton);
                submenu.Items.Add(disabledButton);
                submenu.Items.AddSeparator();
                submenu.Items.Add(toggledButton);
                submenu.Items.Add(checkButton);
                submenu.Items.AddSeparator();
                submenu.Items.Add(commandButton);
                submenu.Items.Add(disabledCommandButton);
            }

            ManualForm("Ensure the items in the\nFile menu are correct", form =>
            {
                var sub = new SubMenuItem {
                    Text = "A Child Menu"
                };
                sub.Opening += (sender, e) => AddMenuItems((ISubmenu)sender, form);

                var file = new SubMenuItem {
                    Text = "&File"
                };
                file.Opening += (sender, e) => AddMenuItems((ISubmenu)sender, form, 3);
                file.Items.Add(sub);

                var menu = new MenuBar();
                menu.Items.Add(file);

                var showContextMenuButton = new Button {
                    Text = "Show ContextMenu"
                };
                showContextMenuButton.Click += (sender, e) => {
                    var contextMenu = new ContextMenu();

                    var subMenuItem = new SubMenuItem {
                        Text = "A Child Menu"
                    };
                    subMenuItem.Opening += (s2, e2) => AddMenuItems((ISubmenu)s2, form);
                    contextMenu.Items.Add(subMenuItem);

                    contextMenu.Opening += (s2, e2) => AddMenuItems((ISubmenu)s2, form, 3);
                    contextMenu.Show();
                };

                form.Menu = menu;
                return(new Panel {
                    Size = new Size(200, 50), Content = TableLayout.AutoSized(showContextMenuButton, centered: true)
                });
            });

            Assert.IsFalse(disabledWasClicked, "#1 - Disabled item should not be clickable");
            Assert.Greater(validateWasCalled, 0, "#2 - Validate was never called!");
        }
        public NavigateToDialog(NavigateToType navigateTo, bool isAbleToSearchMembers)
        {
            this.NavigateToType        = navigateTo;
            this.isAbleToSearchMembers = isAbleToSearchMembers;
            this.Build();
            this.label1.MnemonicWidget  = matchEntry.Entry;
            this.matchEntry.Ready       = true;
            this.matchEntry.Visible     = true;
            this.matchEntry.IsCheckMenu = true;
            HasSeparator = false;

            CheckMenuItem includeFilesItem = this.matchEntry.AddFilterOption(0, GettextCatalog.GetString("Include _Files"));

            includeFilesItem.DrawAsRadio = false;
            includeFilesItem.Active      = (navigateTo & NavigateToType.Files) == NavigateToType.Files;
            includeFilesItem.Toggled    += delegate {
                if (includeFilesItem.Active)
                {
                    this.NavigateToType |= NavigateToType.Files;
                }
                else
                {
                    this.NavigateToType &= ~NavigateToType.Files;
                }
                PerformSearch();
            };

            CheckMenuItem includeTypes = this.matchEntry.AddFilterOption(1, GettextCatalog.GetString("Include _Types"));

            includeTypes.DrawAsRadio = false;
            includeTypes.Active      = (navigateTo & NavigateToType.Files) == NavigateToType.Files;
            includeTypes.Toggled    += delegate {
                if (includeTypes.Active)
                {
                    this.NavigateToType |= NavigateToType.Types;
                }
                else
                {
                    this.NavigateToType &= ~NavigateToType.Types;
                }
                PerformSearch();
            };

            if (this.isAbleToSearchMembers)
            {
                CheckMenuItem includeMembers = this.matchEntry.AddFilterOption(2, GettextCatalog.GetString("Include _Members"));
                includeMembers.DrawAsRadio = false;
                includeMembers.Active      = (navigateTo & NavigateToType.Members) == NavigateToType.Members;
                includeMembers.Toggled    += delegate {
                    if (includeMembers.Active)
                    {
                        this.NavigateToType |= NavigateToType.Members;
                    }
                    else
                    {
                        this.NavigateToType &= ~NavigateToType.Members;
                    }
                    PerformSearch();
                };
            }

            this.matchEntry.Changed += delegate {
                PerformSearch();
            };
            SetupTreeView();
            this.labelResults.MnemonicWidget = list;

            StartCollectThreads();
            this.matchEntry.Entry.KeyPressEvent += HandleKeyPress;
            this.matchEntry.Activated           += delegate {
                OpenFile();
            };
            this.buttonOpen.Clicked += delegate {
                OpenFile();
            };

            this.matchEntry.Entry.GrabFocus();

            DefaultWidth  = PropertyService.Get("NavigateToDialog.DialogWidth", 620);
            DefaultHeight = PropertyService.Get("NavigateToDialog.DialogHeight", 440);
            Show();
            this.SizeAllocated += delegate(object o, SizeAllocatedArgs args) {
                PropertyService.Set("NavigateToDialog.DialogWidth", args.Allocation.Width);
                PropertyService.Set("NavigateToDialog.DialogHeight", args.Allocation.Height);
            };
        }
Beispiel #7
0
        private void InitializeComponent()
        {
            SuspendLayout();

            tbImageSave        = new ButtonToolItem();
            tbImageSave.Click += tbImageSave_Click;

            tbGens = new ButtonToolItem();
            //tbGens.DropDown = MenuGens;
            tbGens.Text   = "tbGens";
            tbGens.Click += (sender, e) => MenuGens.Show(this);

            tbModes = new ButtonToolItem();
            //tbModes.DropDown = MenuModes;
            tbModes.Click += (sender, e) => MenuModes.Show(this);

            tbFilter        = new ButtonToolItem();
            tbFilter.Click += ToolBar1_ButtonClick;

            tbPrev         = new ButtonToolItem();
            tbPrev.Enabled = false;
            tbPrev.Click  += ToolBar1_ButtonClick;

            tbNext         = new ButtonToolItem();
            tbNext.Enabled = false;
            tbNext.Click  += ToolBar1_ButtonClick;

            tbDocPreview        = new ButtonToolItem();
            tbDocPreview.Click += tbDocPreview_Click;

            tbDocPrint        = new ButtonToolItem();
            tbDocPrint.Click += tbDocPrint_Click;

            tbOptions        = new ButtonToolItem();
            tbOptions.Click += tbOptions_Click;

            ToolBar1           = new ToolBar();
            ToolBar1.TextAlign = ToolBarTextAlign.Right;
            ToolBar1.Items.AddRange(new ToolItem[] {
                tbImageSave,
                new SeparatorToolItem(),
                tbGens,
                new SeparatorToolItem(),
                tbModes,
                new SeparatorToolItem(),
                tbFilter,
                tbPrev,
                tbNext,
                new SeparatorToolItem(),
                tbDocPreview,
                tbDocPrint,
                new SeparatorToolItem(),
                tbOptions
            });

            miGensInf         = new RadioMenuItem();
            miGensInf.Checked = true;
            miGensInf.Text    = "Inf";
            miGensInf.Click  += miGens9_Click;

            miGens1        = new RadioMenuItem();
            miGens1.Text   = "1";
            miGens1.Click += miGens9_Click;

            miGens2        = new RadioMenuItem();
            miGens2.Text   = "2";
            miGens2.Click += miGens9_Click;

            miGens3        = new RadioMenuItem();
            miGens3.Text   = "3";
            miGens3.Click += miGens9_Click;

            miGens4        = new RadioMenuItem();
            miGens4.Text   = "4";
            miGens4.Click += miGens9_Click;

            miGens5        = new RadioMenuItem();
            miGens5.Text   = "5";
            miGens5.Click += miGens9_Click;

            miGens6        = new RadioMenuItem();
            miGens6.Text   = "6";
            miGens6.Click += miGens9_Click;

            miGens7        = new RadioMenuItem();
            miGens7.Text   = "7";
            miGens7.Click += miGens9_Click;

            miGens8        = new RadioMenuItem();
            miGens8.Text   = "8";
            miGens8.Click += miGens9_Click;

            miGens9        = new RadioMenuItem();
            miGens9.Text   = "9";
            miGens9.Click += miGens9_Click;

            MenuGens = new ContextMenu();
            MenuGens.Items.AddRange(new MenuItem[] {
                miGensInf,
                miGens1,
                miGens2,
                miGens3,
                miGens4,
                miGens5,
                miGens6,
                miGens7,
                miGens8,
                miGens9
            });

            miModeBoth        = new RadioMenuItem();
            miModeBoth.Text   = "miModeBoth";
            miModeBoth.Click += miModeItem_Click;

            miModeAncestors        = new RadioMenuItem();
            miModeAncestors.Text   = "miModeAncestors";
            miModeAncestors.Click += miModeItem_Click;

            miModeDescendants        = new RadioMenuItem();
            miModeDescendants.Text   = "miModeDescendants";
            miModeDescendants.Click += miModeItem_Click;

            miTraceSelected        = new CheckMenuItem();
            miTraceSelected.Text   = "miTraceSelected";
            miTraceSelected.Click += miTraceSelected_Click;

            miTraceKinships        = new CheckMenuItem();
            miTraceKinships.Text   = "miTraceKinships";
            miTraceKinships.Click += miTraceKinships_Click;

            miCertaintyIndex        = new CheckMenuItem();
            miCertaintyIndex.Text   = "miCertaintyIndex";
            miCertaintyIndex.Click += miCertaintyIndex_Click;

            miFillColor        = new ButtonMenuItem();
            miFillColor.Text   = "miFillColor";
            miFillColor.Click += miFillColor_Click;

            miFillImage        = new ButtonMenuItem();
            miFillImage.Text   = "miFillImage";
            miFillImage.Click += miFillImage_Click;

            MenuModes = new ContextMenu();
            MenuModes.Items.AddRange(new MenuItem[] {
                miModeBoth,
                miModeAncestors,
                miModeDescendants,
                new SeparatorMenuItem(),
                miTraceSelected,
                miTraceKinships,
                miCertaintyIndex,
                new SeparatorMenuItem(),
                miFillColor,
                miFillImage,
                new SeparatorMenuItem()
            });

            miEdit        = new ButtonMenuItem();
            miEdit.Text   = "miEdit";
            miEdit.Click += miEdit_Click;

            miFatherAdd        = new ButtonMenuItem();
            miFatherAdd.Text   = "miFatherAdd";
            miFatherAdd.Click += miFatherAdd_Click;

            miMotherAdd        = new ButtonMenuItem();
            miMotherAdd.Text   = "miMotherAdd";
            miMotherAdd.Click += miMotherAdd_Click;

            miFamilyAdd        = new ButtonMenuItem();
            miFamilyAdd.Text   = "miFamilyAdd";
            miFamilyAdd.Click += miFamilyAdd_Click;

            miSpouseAdd        = new ButtonMenuItem();
            miSpouseAdd.Text   = "miSpouseAdd";
            miSpouseAdd.Click += miSpouseAdd_Click;

            miSonAdd        = new ButtonMenuItem();
            miSonAdd.Text   = "miSonAdd";
            miSonAdd.Click += miSonAdd_Click;

            miDaughterAdd        = new ButtonMenuItem();
            miDaughterAdd.Text   = "miDaughterAdd";
            miDaughterAdd.Click += miDaughterAdd_Click;

            miDelete        = new ButtonMenuItem();
            miDelete.Text   = "miDelete";
            miDelete.Click += miDelete_Click;

            miRebuildTree        = new ButtonMenuItem();
            miRebuildTree.Text   = "miRebuildTree";
            miRebuildTree.Click += miRebuildTree_Click;

            miRebuildKinships        = new ButtonMenuItem();
            miRebuildKinships.Text   = "miRebuildKinships";
            miRebuildKinships.Click += miRebuildKinships_Click;

            miSelectColor        = new ButtonMenuItem();
            miSelectColor.Text   = "miSelectColor";
            miSelectColor.Click += miSelectColor_Click;

            MenuPerson = new ContextMenu();
            MenuPerson.Items.AddRange(new MenuItem[] {
                miEdit,
                new SeparatorMenuItem(),
                miFatherAdd,
                miMotherAdd,
                miFamilyAdd,
                miSpouseAdd,
                miSonAdd,
                miDaughterAdd,
                new SeparatorMenuItem(),
                miDelete,
                new SeparatorMenuItem(),
                miRebuildTree,
                miRebuildKinships,
                new SeparatorMenuItem(),
                miSelectColor
            });
            MenuPerson.Opening += MenuPerson_Opening;


            ShowInTaskbar = true;
            Title         = "TreeChartWin";
            ToolBar       = ToolBar1;
            KeyDown      += TreeChartWin_KeyDown;

            UIHelper.SetPredefProperties(this, 820, 450, true, true);
            ResumeLayout();
        }
Beispiel #8
0
        void CreateMenuToolBar()
        {
            var about = new Commands.About();
            var quit  = new Commands.Quit();

            if (Platform.Supports <MenuBar>())
            {
                var fileCommand = new Command {
                    MenuText = "File Command", Shortcut = Application.Instance.CommonModifier | Keys.F
                };
                fileCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var editCommand = new Command {
                    MenuText = "Edit Command", Shortcut = Keys.Shift | Keys.E
                };
                editCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var viewCommand = new Command {
                    MenuText = "View Command", Shortcut = Keys.Control | Keys.V
                };
                viewCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var windowCommand = new Command {
                    MenuText = "Window Command"
                };
                windowCommand.Executed += (sender, e) => Log.Write(sender, "Executed");

                var file = new ButtonMenuItem {
                    Text = "&File", Items = { fileCommand }
                };
                var edit = new ButtonMenuItem {
                    Text = "&Edit", Items = { editCommand }
                };
                var view = new ButtonMenuItem {
                    Text = "&View", Items = { viewCommand }
                };
                var window = new ButtonMenuItem {
                    Text = "&Window", Order = 1000, Items = { windowCommand }
                };

                if (Platform.Supports <CheckMenuItem>())
                {
                    edit.Items.AddSeparator();

                    var checkMenuItem1 = new CheckMenuItem {
                        Text = "Check Menu Item", Shortcut = Keys.Shift | Keys.K
                    };
                    checkMenuItem1.Click          += (sender, e) => Log.Write(checkMenuItem1, "Click, {0}, Checked: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    checkMenuItem1.CheckedChanged += (sender, e) => Log.Write(checkMenuItem1, "CheckedChanged, {0}: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    edit.Items.Add(checkMenuItem1);

                    var checkMenuItem2 = new CheckMenuItem {
                        Text = "Initially Checked Menu Item", Checked = true
                    };
                    checkMenuItem2.Click          += (sender, e) => Log.Write(checkMenuItem2, "Click, {0}, Checked: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    checkMenuItem2.CheckedChanged += (sender, e) => Log.Write(checkMenuItem2, "CheckedChanged, {0}: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    edit.Items.Add(checkMenuItem2);
                }

                if (Platform.Supports <RadioMenuItem>())
                {
                    edit.Items.AddSeparator();

                    RadioMenuItem controller = null;
                    for (int i = 0; i < 5; i++)
                    {
                        var radio = new RadioMenuItem(controller)
                        {
                            Text = "Radio Menu Item " + (i + 1)
                        };
                        radio.Click          += (sender, e) => Log.Write(radio, "Click, {0}, Checked: {1}", radio.Text, radio.Checked);
                        radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.Text, radio.Checked);
                        edit.Items.Add(radio);

                        if (controller == null)
                        {
                            radio.Checked = true;                             // check the first item initially
                            controller    = radio;
                        }
                    }
                }

                Menu = new MenuBar
                {
                    Items =
                    {
                        // custom top-level menu items
                        file, edit, view, window
                    },
                    ApplicationItems =
                    {
                        // custom menu items for the application menu (Application on OS X, File on others)
                        new Command        {
                            MenuText = "Application command"
                        },
                        new ButtonMenuItem {
                            Text = "Application menu item"
                        }
                    },
                    HelpItems =
                    {
                        new Command {
                            MenuText = "Help Command"
                        }
                    },
                    QuitItem  = quit,
                    AboutItem = about
                };
            }

            if (Platform.Supports <ToolBar>())
            {
                // create and set the toolbar
                ToolBar = new ToolBar();

                ToolBar.Items.Add(about);
                if (Platform.Supports <CheckToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.Divider
                    });
                    ToolBar.Items.Add(new CheckToolItem {
                        Text = "Check", Image = TestIcons.TestImage
                    });
                }
                if (Platform.Supports <RadioToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.FlexibleSpace
                    });
                    ToolBar.Items.Add(new RadioToolItem {
                        Text = "Radio1", Image = TestIcons.TestIcon, Checked = true
                    });
                    ToolBar.Items.Add(new RadioToolItem {
                        Text = "Radio2", Image = TestIcons.TestImage
                    });
                }
                ;
            }
        }
Beispiel #9
0
        public MainForm()
        {
            Title      = "My Eto Form";
            ClientSize = new Size(800, 600);

            quoter = new Quoter();
            lBox   = new TextArea();
            rBox   = new TextArea();

            openNL = new CheckMenuItem
            {
                Text    = "'(' + new line",
                ToolTip = "Open parenthesis on a new line",
            };
            closeNL = new CheckMenuItem
            {
                Text    = "new line + ')'",
                ToolTip = "Closing parenthesis on a new line",
            };
            preserveWS = new CheckMenuItem
            {
                Text    = "Whitespace",
                ToolTip = "Preserve original whitespace"
            };
            keepApi = new CheckMenuItem
            {
                Text    = "Keep API",
                ToolTip = "Keep redundant API calls",
                Checked = true
            };
            staticUsing = new CheckMenuItem
            {
                Text    = "using static",
                ToolTip = "Do require 'using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;'",
                Checked = true
            };

            //var nodeKind = new MenuItem ();

            var layout = new DynamicLayout
            {
                Padding = 10,
            };

            layout.BeginHorizontal(yscale: true);
            layout.Add(lBox, xscale: true);
            layout.Add(rBox, xscale: true);
            layout.EndHorizontal();

            Content = layout;

            kindFile = new RadioMenuItem {
                Text = "File", Checked = true
            };
            kindMember = new RadioMenuItem(kindFile)
            {
                Text = "Member"
            };
            kindStatement = new RadioMenuItem(kindFile)
            {
                Text = "Statement"
            };
            kindExpression = new RadioMenuItem(kindFile)
            {
                Text = "Expression"
            };
            subMenu = new ButtonMenuItem
            {
                Text  = "Parse as File",
                Items = { kindFile, kindMember, kindStatement, kindExpression }
            };

            Menu = new MenuBar(
                openNL, closeNL, preserveWS, keepApi, staticUsing, new SeparatorMenuItem(), subMenu
                );

            lBox.TextChanged              += OnUpdate;
            openNL.CheckedChanged         += OnUpdate;
            closeNL.CheckedChanged        += OnUpdate;
            preserveWS.CheckedChanged     += OnUpdate;
            keepApi.CheckedChanged        += OnUpdate;
            staticUsing.CheckedChanged    += OnUpdate;
            kindFile.CheckedChanged       += OnKindUpdate;
            kindMember.CheckedChanged     += OnKindUpdate;
            kindStatement.CheckedChanged  += OnKindUpdate;
            kindExpression.CheckedChanged += OnKindUpdate;
        }
Beispiel #10
0
    private MenuBar _ApplicationMenu()
    {
        MenuItem tmpMenuItem, tmpMenuHeader;

        SeparatorMenuItem tmpSeparator;

        MenuBar tmpMainMenu = new MenuBar();

        //The "File" menu
        Menu tmpFileMenu = new Menu();

        tmpMenuItem = new ImageMenuItem(Stock.Open, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.Save, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.SaveAs, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.New, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpFileMenu.Append(tmpSeparator);

        tmpMenuItem = new MenuItem("_Export Image (unimplimented)");
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpFileMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpFileMenu.Append(tmpSeparator);

        tmpMenuItem            = new ImageMenuItem(Stock.Quit, _AcceleratorGroup);
        tmpMenuItem.Activated += new EventHandler(Menu_Exit);
        tmpFileMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_File");
        tmpMenuHeader.Submenu = tmpFileMenu;

        tmpMainMenu.Append(tmpMenuHeader);



        Menu tmpEditMenu = new Menu();

        tmpMenuItem            = new ImageMenuItem(Stock.Copy, _AcceleratorGroup);
        tmpMenuItem.Activated += new EventHandler(Menu_Copy_Parameters);
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem = new MenuItem("Copy _Image");
        //tmp_Menu_Item.Activated += new EventHandler (  );
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem = new ImageMenuItem(Stock.Paste, _AcceleratorGroup);
        //tmp_Menu_Item.Activated += new EventHandler ();
        tmpEditMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpEditMenu.Append(tmpSeparator);

        tmpMenuItem            = new MenuItem("_Show Selection");
        tmpMenuItem.Activated += new EventHandler(MenuSelectionShow);
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.F11, Gdk.ModifierType.None, AccelFlags.Visible));
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("_Hide Selection");
        tmpMenuItem.Activated += new EventHandler(MenuSelectionHide);
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.F12, Gdk.ModifierType.None, AccelFlags.Visible));
        tmpEditMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_Edit");
        tmpMenuHeader.Submenu = tmpEditMenu;
        tmpMainMenu.Append(tmpMenuHeader);


        Menu tmpEnginesMenu = new Menu();

        tmpMenuItem            = new MenuItem("_Mandelbrot");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineMandelbrot);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("_Julia");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineJulia);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuItem            = new MenuItem("Debug Grid");
        tmpMenuItem.Activated += new EventHandler(MenuSwitchEngineGrid);
        tmpEnginesMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("E_ngines");
        tmpMenuHeader.Submenu = tmpEnginesMenu;
        tmpMainMenu.Append(tmpMenuHeader);


        Menu tmpRenderMenu = new Menu();

        tmpMenuItem = new MenuItem("_Render Image");
        tmpMenuItem.AddAccelerator("activate", _AcceleratorGroup, new AccelKey(Gdk.Key.R, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
        tmpMenuItem.Activated += new EventHandler(Menu_Render);
        tmpRenderMenu.Append(tmpMenuItem);

        tmpSeparator = new SeparatorMenuItem();
        tmpRenderMenu.Append(tmpSeparator);
        //...

        //Quality Submenu
        Menu tmpRenderQualityMenu = new Menu();

        this._MenuQuality = new CheckMenuItem[8];

        this._MenuQuality[0]            = new CheckMenuItem("_0 - Low");
        this._MenuQuality[0].Activated += new EventHandler(MenuQualityChange0);
        tmpRenderQualityMenu.Append(this._MenuQuality[0]);

        this._MenuQuality[1] = new CheckMenuItem("_1 - Standard");
        ((CheckMenuItem)this._MenuQuality[1]).Active = true;
        this._MenuQuality[1].Activated += new EventHandler(MenuQualityChange1);
        tmpRenderQualityMenu.Append(this._MenuQuality[1]);

        this._MenuQuality[2]            = new CheckMenuItem("_2 - High");
        this._MenuQuality[2].Activated += new EventHandler(MenuQualityChange2);
        tmpRenderQualityMenu.Append(this._MenuQuality[2]);

        this._MenuQuality[3]            = new CheckMenuItem("_3 - Very High (Slow)");
        this._MenuQuality[3].Activated += new EventHandler(MenuQualityChange3);
        tmpRenderQualityMenu.Append(this._MenuQuality[3]);

        this._MenuQuality[4]            = new CheckMenuItem("_4 - Super High (Very Slow)");
        this._MenuQuality[4].Activated += new EventHandler(MenuQualityChange4);
        tmpRenderQualityMenu.Append(this._MenuQuality[4]);

        this._MenuQuality[5]            = new CheckMenuItem("_5 - Ultra Super High (Very Very Slow)");
        this._MenuQuality[5].Activated += new EventHandler(MenuQualityChange5);
        tmpRenderQualityMenu.Append(this._MenuQuality[5]);

        this._MenuQuality[6]            = new CheckMenuItem("_6 - Ultra Super High (Very Slow Squared)");
        this._MenuQuality[6].Activated += new EventHandler(MenuQualityChange6);
        tmpRenderQualityMenu.Append(this._MenuQuality[6]);

        this._MenuQuality[7]            = new CheckMenuItem("_7 - Gimongous");
        this._MenuQuality[7].Activated += new EventHandler(MenuQualityChange7);
        tmpRenderQualityMenu.Append(this._MenuQuality[7]);

        tmpMenuItem         = new MenuItem("Render _Quality");
        tmpMenuItem.Submenu = tmpRenderQualityMenu;
        tmpRenderMenu.Append(tmpMenuItem);
        //End Quality Submenu

        tmpSeparator = new SeparatorMenuItem();
        tmpRenderMenu.Append(tmpSeparator);

        tmpMenuItem = new CheckMenuItem("Visual");
        ((CheckMenuItem)tmpMenuItem).Active = true;
        tmpMenuItem.Activated += new EventHandler(MenuQualityToggleVisual);
        tmpRenderMenu.Append(tmpMenuItem);

        tmpMenuHeader         = new MenuItem("_Render");
        tmpMenuHeader.Submenu = tmpRenderMenu;
        tmpMainMenu.Append(tmpMenuHeader);

        return(tmpMainMenu);
    }
Beispiel #11
0
        void InitMenu(MenuBar menubar)
        {
            // ReSharper disable JoinDeclarationAndInitializer
            Menu     menu, submenu;
            MenuItem menuItem;

            // ReSharper restore JoinDeclarationAndInitializer

            // tasks menu
            menuItem         = new MenuItem("Tasks");
            menu             = new Menu();
            menuItem.Submenu = menu;
            menubar.Add(menuItem);

            // subitems of tasks menu
            menuItem            = new MenuItem("Add new download");
            menuItem.Activated += BtnAddUrl_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Add batch download");
            menuItem.Activated += BtnAddBatch_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Add batch download from clipboard");
            menuItem.Activated += mnuAddBatchClipboard_Click;
            menu.Add(menuItem);

            menuItem = new MenuItem("Export");
            menu.Add(menuItem);
            // it has a submenu
            submenu          = new Menu();
            menuItem.Submenu = submenu;

            menuItem            = new MenuItem("To text file");
            menuItem.Activated += mnuExportTxt_Click;
            submenu.Add(menuItem);

            menuItem            = new MenuItem("To EF2 file");
            menuItem.Activated += mnuExportEF2_Click;
            submenu.Add(menuItem);

            menuItem = new MenuItem("Import");
            menu.Add(menuItem);
            // it has a submenu
            submenu          = new Menu();
            menuItem.Submenu = submenu;

            menuItem            = new MenuItem("From text file");
            menuItem.Activated += mnuImportTxt_Click;
            submenu.Add(menuItem);

            menuItem            = new MenuItem("From EF2 file");
            menuItem.Activated += mnuImportEF2_Click;
            submenu.Add(menuItem);


            menuItem            = new MenuItem("Exit");
            menuItem.Activated += mnuExit_Click;
            menu.Add(menuItem);

            // file menu
            menuItem         = new MenuItem("File");
            menu             = new Menu();
            menuItem.Submenu = menu;
            menubar.Add(menuItem);

            menuItem            = new MenuItem("Stop Download");
            menuItem.Activated += BtnStop_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Remove");
            menuItem.Activated += BtnDelete_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Download Now");
            menuItem.Activated += BtnResume_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Redownload");
            menuItem.Activated += mnuRedownload_Click;
            menu.Add(menuItem);

            // Downloads menu
            menuItem         = new MenuItem("Downloads");
            menu             = new Menu();
            menuItem.Submenu = menu;
            menubar.Add(menuItem);

            menuItem            = new MenuItem("Pause All");
            menuItem.Activated += mnuPauseAll_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Stop All");
            menuItem.Activated += BtnStopAll_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Delete All Completed");
            menuItem.Activated += BtnDeleteCompleted_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Scheduler");
            menuItem.Activated += mnuScheduler_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Start Queue");
            menuItem.Activated += BtnStartQueue_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("Stop Queue");
            menuItem.Activated += BtnStopQueue_Click;
            menu.Add(menuItem);

            if (speedLimit != null)
            {
                menuItem = new MenuItem("Speed Limiter");
                menu.Add(menuItem);
                submenu          = new Menu();
                menuItem.Submenu = submenu;

                menuItem = new RadioMenuItem("On");
                ((RadioMenuItem)menuItem).Active = speedLimit.CurrentEnabled;
                menuItem.Activated += mnuSpeedLimiterOn_Click;
                submenu.Add(menuItem);

                menuItem = new RadioMenuItem((RadioMenuItem)menuItem, "Off");
                ((RadioMenuItem)menuItem).Active = !speedLimit.CurrentEnabled;
                menuItem.Activated += mnuSpeedLimiterOff_Click;
                submenu.Add(menuItem);
            }

            menuItem            = new MenuItem("Options");
            menuItem.Activated += BtnOptions_Click;
            menu.Add(menuItem);

            // View menu
            menuItem         = new MenuItem("View");
            menu             = new Menu();
            menuItem.Submenu = menu;
            menubar.Add(menuItem);

            menuItem         = new MenuItem("Toolbar");
            submenu          = new Menu();
            menuItem.Submenu = submenu;
            menu.Add(menuItem);

            RadioMenuItem radioMenuItem;

            radioMenuItem            = new RadioMenuItem("IDM style");
            radioMenuItem.Active     = MonoDM.App.Settings.Default.UseIdmIcons;
            radioMenuItem.Activated += mnuToolbarIconIdm_Click;
            submenu.Add(radioMenuItem);

            radioMenuItem            = new RadioMenuItem(radioMenuItem, "GTK style");
            radioMenuItem.Active     = !MonoDM.App.Settings.Default.UseIdmIcons;
            radioMenuItem.Activated += mnuToolbarIconGtk_Click;
            submenu.Add(radioMenuItem);

            menuItem = new CheckMenuItem("Tray Icon");
            ((CheckMenuItem)menuItem).Active = MonoDM.App.Settings.Default.ShowTrayIcon;
            menuItem.Toggled += mnuTrayIcon_Click;
            menu.Add(menuItem);

            // help menu
            menuItem         = new MenuItem("Help");
            menu             = new Menu();
            menuItem.Submenu = menu;
            menubar.Add(menuItem);

            menuItem            = new MenuItem("Documentation");
            menuItem.Activated += mnuDocumentation_Click;
            menu.Add(menuItem);

            menuItem            = new MenuItem("About");
            menuItem.Activated += mnuAbout_Click;
            menu.Add(menuItem);
        }
Beispiel #12
0
        void InitializeComponent()
        {
            Title = Core.Name;

            Screen screen = Screen.PrimaryScreen;

            Size     = (Size)(screen.Bounds.Size / 1.5f);
            Location = (Point)(screen.WorkingArea.Center - (Size / 2));

            cbxAutoReload = new CheckMenuItem {
                Text = "Auto reload", Command = CmdAutoReload
            };

            rdoInstanceHidden = new RadioMenuItem {
                Text = "Hidden", Command = CmdShowInstancesHidden
            };
            rdoInstanceTinted = new RadioMenuItem(rdoInstanceHidden)
            {
                Text = "Tinted", Command = CmdShowInstancesTinted, Checked = true
            };
            rdoInstanceNormal = new RadioMenuItem(rdoInstanceHidden)
            {
                Text = "Normal", Command = CmdShowInstancesNormal
            };

            Menu = new MenuBar
            {
                Items =
                {
                    new ButtonMenuItem
                    {
                        Text  = "&File",
                        Items =
                        {
                            CmdOpen,
                            CmdClose,
                            new SeparatorMenuItem(),
                            CmdReload,
                            cbxAutoReload
                        }
                    },
                    new ButtonMenuItem            {
                        Text = "&Edit", Items =   { CmdPreferences          }
                    },
                    new ButtonMenuItem            {
                        Text = "&View", Items =   { CmdFullScreen           }
                    },
                    new ButtonMenuItem
                    {
                        Text  = "&Instancing",
                        Items =
                        {
                            new ButtonMenuItem
                            {
                                Text  = "View",
                                Items =
                                {
                                    rdoInstanceHidden,
                                    rdoInstanceTinted,
                                    rdoInstanceNormal
                                }
                            },
                            new SeparatorMenuItem {
                            },
                            CmdSaveCollapsedAs
                        }
                    }
                },
                QuitItem  = CmdQuit,
                AboutItem = CmdAbout
            };
        }
Beispiel #13
0
 private void SetCheckMenuItemActivity(CheckMenuItem item, bool isActive, EventHandler handler)
 {
     item.Toggled -= handler;
     item.Active   = isActive;
     item.Toggled += handler;
 }
Beispiel #14
0
        private void SetCheckMenuItemActivity(string itemName, bool isActive, EventHandler handler)
        {
            CheckMenuItem item = Base.GetWidget(itemName) as CheckMenuItem;

            SetCheckMenuItemActivity(item, isActive, handler);
        }
Beispiel #15
0
        public static Gtk.Window Create()
        {
            window = new Window("Menus");

            AccelGroup accel_group = new AccelGroup();

            window.AddAccelGroup(accel_group);

            VBox box1 = new VBox(false, 0);

            window.Add(box1);

            MenuBar menubar = new MenuBar();

            box1.PackStart(menubar, false, false, 0);

            Menu     menu     = Create_Menu(2, true);
            MenuItem menuitem = new MenuItem("foo");

            menuitem.Submenu = menu;
            menubar.Append(menuitem);

            menuitem         = new MenuItem("bar");
            menuitem.Submenu = Create_Menu(3, true);
            menubar.Append(menuitem);

            Image image = new Image(Stock.Help, IconSize.Menu);

            menuitem = new ImageMenuItem("Help");
            ((ImageMenuItem)menuitem).Image = image;
            menuitem.Submenu        = Create_Menu(4, true);
            menuitem.RightJustified = true;
            menubar.Append(menuitem);

            menubar = new MenuBar();
            box1.PackStart(menubar, false, true, 0);

            menu = Create_Menu(2, true);

            menuitem         = new MenuItem("Second menu bar");
            menuitem.Submenu = menu;
            menubar.Append(menuitem);

            VBox box2 = new VBox(false, 10);

            box2.BorderWidth = 10;
            box1.PackStart(box2, true, true, 0);

            menu            = Create_Menu(1, false);
            menu.AccelGroup = accel_group;

            menu.Append(new SeparatorMenuItem());

            menuitem = new CheckMenuItem("Accelerate Me");
            menu.Append(menuitem);
            menuitem.AddAccelerator("activate", accel_group, 0xFFBE, 0, AccelFlags.Visible);

            menuitem = new CheckMenuItem("Accelerator locked");
            menu.Append(menuitem);
            menuitem.AddAccelerator("activate", accel_group, 0xFFBF, 0, AccelFlags.Visible | AccelFlags.Locked);

            menuitem = new CheckMenuItem("Accelerator Frozen");
            menu.Append(menuitem);
            menuitem.AddAccelerator("activate", accel_group, 0xFFBF, 0, AccelFlags.Visible);
            menuitem.AddAccelerator("activate", accel_group, 0xFFC0, 0, AccelFlags.Visible);

            OptionMenu option_menu = new OptionMenu();

            option_menu.Menu = menu;
            option_menu.SetHistory(3);
            box2.PackStart(option_menu, true, true, 0);

            box1.PackStart(new HSeparator(), false, false, 0);

            box2             = new VBox(false, 10);
            box2.BorderWidth = 10;
            box1.PackStart(box2, false, true, 0);

            Button close_button = new Button(Stock.Close);

            close_button.Clicked += new EventHandler(Close_Button);
            box2.PackStart(close_button, true, true, 0);

            close_button.CanDefault = true;
            close_button.GrabDefault();

            window.ShowAll();
            return(window);
        }
Beispiel #16
0
        /// <summary>Populate the main menu tool strip.</summary>
        /// <param name="menuDescriptions">Descriptions for each item.</param>
        public void Populate(List <MenuDescriptionArgs> menuDescriptions)
        {
            ClearMenu();
            foreach (MenuDescriptionArgs description in menuDescriptions)
            {
                MenuItem item;
                if (description.ShowCheckbox)
                {
                    CheckMenuItem checkItem = new CheckMenuItem(description.Name);
                    checkItem.Active = description.Checked;
                    item             = checkItem;
                }
                else
                {
                    ManifestResourceInfo info = Assembly.GetExecutingAssembly().GetManifestResourceInfo(description.ResourceNameForImage);
                    if (info != null)
                    {
                        ImageMenuItem imageItem = new ImageMenuItem(description.Name);
                        imageItem.Image = new Gtk.Image(null, description.ResourceNameForImage);
                        item            = imageItem;
                    }
                    else
                    {
                        item = new MenuItem(description.Name);
                    }
                }

                if (!String.IsNullOrEmpty(description.ShortcutKey))
                {
                    string           keyName  = String.Empty;
                    Gdk.ModifierType modifier = Gdk.ModifierType.None;
                    string[]         keyNames = description.ShortcutKey.Split(new Char[] { '+' });
                    foreach (string name in keyNames)
                    {
                        if (name == "Ctrl")
                        {
                            modifier |= Gdk.ModifierType.ControlMask;
                        }
                        else if (name == "Shift")
                        {
                            modifier |= Gdk.ModifierType.ShiftMask;
                        }
                        else if (name == "Alt")
                        {
                            modifier |= Gdk.ModifierType.Mod1Mask;
                        }
                        else if (name == "Del")
                        {
                            keyName = "Delete";
                        }
                        else
                        {
                            keyName = name;
                        }
                    }
                    try
                    {
                        Gdk.Key accelKey = (Gdk.Key)Enum.Parse(typeof(Gdk.Key), keyName, false);
                        item.AddAccelerator("activate", Accelerators, (uint)accelKey, modifier, AccelFlags.Visible);
                    }
                    catch
                    {
                    }
                }
                item.Activated += description.OnClick;
                if (description.FollowsSeparator && (menu.Children.Length > 0))
                {
                    menu.Append(new SeparatorMenuItem());
                }
                menu.Append(item);
            }
            menu.ShowAll();
        }
        public AssemblyBrowserWidget()
        {
            this.Build();
            TreeView = new ExtensibleTreeView(new NodeBuilder[]   {
                new ErrorNodeBuilder(),
                new AssemblyNodeBuilder(this),
                new ModuleReferenceNodeBuilder(),
                new ModuleDefinitionNodeBuilder(this),
                new ReferenceFolderNodeBuilder(this),
                new ResourceFolderNodeBuilder(),
                new ResourceNodeBuilder(),
                new NamespaceBuilder(this),
                new DomTypeNodeBuilder(this),
                new DomMethodNodeBuilder(this),
                new DomFieldNodeBuilder(this),
                new DomEventNodeBuilder(this),
                new DomPropertyNodeBuilder(this),
                new BaseTypeFolderNodeBuilder(this),
                new DomReturnTypeNodeBuilder(this),
                new ReferenceNodeBuilder(this),
            }, new TreePadOption [] {
                new TreePadOption("PublicApiOnly", GettextCatalog.GetString("Show public members only"), true)
            });
            TreeView.Tree.Selection.Mode = Gtk.SelectionMode.Single;
            TreeView.Tree.CursorChanged += HandleCursorChanged;

            TreeView.ShadowType = ShadowType.In;
            treeViewPlaceholder.Add(TreeView);
            treeViewPlaceholder.ShowAll();

//			this.descriptionLabel.ModifyFont (Pango.FontDescription.FromString ("Sans 9"));
            this.documentationLabel.ModifyFont(Pango.FontDescription.FromString("Sans 12"));
            this.documentationLabel.ModifyBg(Gtk.StateType.Normal, new Gdk.Color(255, 255, 225));
            this.documentationLabel.Wrap = true;

            Mono.TextEditor.TextEditorOptions options = new Mono.TextEditor.TextEditorOptions();
            options.FontName             = PropertyService.Get <string> ("FontName");
            options.ShowFoldMargin       = false;
            options.ShowIconMargin       = false;
            options.ShowInvalidLines     = false;
            options.ShowLineNumberMargin = false;
            options.ShowSpaces           = false;
            options.ShowTabs             = false;
            options.HighlightCaretLine   = true;
            options.ColorScheme          = PropertyService.Get("ColorScheme", "Default");
            this.inspectEditor.Options   = options;

            PropertyService.PropertyChanged       += HandlePropertyChanged;
            this.inspectEditor.Document.ReadOnly   = true;
            this.inspectEditor.Document.SyntaxMode = new Mono.TextEditor.Highlighting.MarkupSyntaxMode();
            this.inspectEditor.LinkRequest        += InspectEditorhandleLinkRequest;

//			this.inspectLabel.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (255, 255, 250));

//			this.vpaned1.ExposeEvent += VPaneExpose;
            this.hpaned1.ExposeEvent += HPaneExpose;

/*			this.notebook1.SwitchPage += delegate {
 *                              // Hack for the switch page select all bug.
 * //				this.inspectLabel.Selectable = false;
 *                      };*/
            this.notebook1.GetNthPage(0).Hide();
            this.languageCombobox.AppendText(GettextCatalog.GetString("Summary"));
            this.languageCombobox.AppendText(GettextCatalog.GetString("IL"));
            this.languageCombobox.AppendText(GettextCatalog.GetString("C#"));
            this.languageCombobox.Active          = PropertyService.Get("AssemblyBrowser.InspectLanguage", 2);
            this.languageCombobox.Changed        += LanguageComboboxhandleChanged;
            this.searchentry1.Ready               = true;
            this.searchentry1.WidthRequest        = 200;
            this.searchentry1.Visible             = true;
            this.searchentry1.EmptyMessage        = GettextCatalog.GetString("Search for types or members");
            this.searchentry1.InnerEntry.Changed += SearchEntryhandleChanged;

            CheckMenuItem checkMenuItem = this.searchentry1.AddFilterOption(0, GettextCatalog.GetString("Types"));

            checkMenuItem.Active   = true;
            checkMenuItem.Toggled += delegate {
                if (checkMenuItem.Active)
                {
                    searchMode = AssemblyBrowserWidget.SearchMode.Type;
                    CreateColumns();
                    StartSearch();
                }
            };

            CheckMenuItem checkMenuItem1 = this.searchentry1.AddFilterOption(1, GettextCatalog.GetString("Members"));

            checkMenuItem1.Toggled += delegate {
                if (checkMenuItem1.Active)
                {
                    searchMode = AssemblyBrowserWidget.SearchMode.Member;
                    CreateColumns();
                    StartSearch();
                }
            };
            comboboxVisibilty.InsertText(0, GettextCatalog.GetString("Only public members"));
            comboboxVisibilty.InsertText(1, GettextCatalog.GetString("All members"));
            comboboxVisibilty.Active   = 0;
            comboboxVisibilty.Changed += delegate {
                PublicApiOnly = comboboxVisibilty.Active == 0;
                this.TreeView.GetRootNode().Options["PublicApiOnly"] = PublicApiOnly;
                FillInspectLabel();
            };

            /*
             * this.searchInCombobox.Active = 0;
             * this.searchInCombobox.Changed += SearchInComboboxhandleChanged;
             */
            this.notebook1.SetTabLabel(this.documentationScrolledWindow, new Label(GettextCatalog.GetString("Documentation")));
            this.notebook1.SetTabLabel(this.vboxInspect, new Label(GettextCatalog.GetString("Inspect")));
            this.notebook1.SetTabLabel(this.searchWidget, new Label(GettextCatalog.GetString("Search")));
            //this.searchWidget.Visible = false;

            typeListStore = new Gtk.ListStore(typeof(Gdk.Pixbuf),               // type image
                                              typeof(string),                   // name
                                              typeof(string),                   // namespace
                                              typeof(string),                   // assembly
                                              typeof(IMember)
                                              );

            memberListStore = new Gtk.ListStore(typeof(Gdk.Pixbuf),             // member image
                                                typeof(string),                 // name
                                                typeof(string),                 // Declaring type full name
                                                typeof(string),                 // assembly
                                                typeof(IMember)
                                                );
            CreateColumns();
            SetInpectWidget();
//			this.searchEntry.Changed += SearchEntryhandleChanged;
            this.searchTreeview.RowActivated += SearchTreeviewhandleRowActivated;
            this.searchentry1.ShowAll();
            this.buttonBack.Clicked     += this.OnNavigateBackwardActionActivated;
            this.buttonForeward.Clicked += this.OnNavigateForwardActionActivated;
        }
Beispiel #18
0
        /// <summary>Initialise widget.</summary>
        private void InitialiseWidget()
        {
            scroller = new ScrolledWindow();
            if (textEditor.Parent is Container container)
            {
                container.Remove(textEditor);
                container.Add(scroller);
            }
            scroller.Add(textEditor);
            mainWidget = scroller;
            CodeSegmentPreviewWindow.CodeSegmentPreviewInformString = "";
            TextEditorOptions options = new TextEditorOptions();

            options.EnableSyntaxHighlighting = true;
            options.ColorScheme                = Configuration.Settings.EditorStyleName;
            options.Zoom                       = Configuration.Settings.EditorZoom;
            options.HighlightCaretLine         = true;
            options.EnableSyntaxHighlighting   = true;
            options.HighlightMatchingBracket   = true;
            options.FontName                   = Utility.Configuration.Settings.EditorFontName;
            textEditor.Options                 = options;
            textEditor.Options.Changed        += EditorOptionsChanged;
            textEditor.Options.ColorScheme     = Configuration.Settings.EditorStyleName;
            textEditor.Options.Zoom            = Configuration.Settings.EditorZoom;
            textEditor.TextArea.DoPopupMenu    = DoPopup;
            textEditor.Document.LineChanged   += OnTextHasChanged;
            textEditor.TextArea.FocusInEvent  += OnTextBoxEnter;
            textEditor.TextArea.FocusOutEvent += OnTextBoxLeave;
            textEditor.TextArea.KeyPressEvent += OnKeyPress;
            textEditor.Text                    = "";
            scroller.Hadjustment.Changed      += Hadjustment_Changed;
            scroller.Vadjustment.Changed      += Vadjustment_Changed;
            mainWidget.Destroyed              += _mainWidget_Destroyed;

            AddContextActionWithAccel("Cut", OnCut, "Ctrl+X");
            AddContextActionWithAccel("Copy", OnCopy, "Ctrl+C");
            AddContextActionWithAccel("Paste", OnPaste, "Ctrl+V");
            AddContextActionWithAccel("Delete", OnDelete, "Delete");
            AddContextSeparator();
            AddContextActionWithAccel("Undo", OnUndo, "Ctrl+Z");
            AddContextActionWithAccel("Redo", OnRedo, "Ctrl+Y");
            AddContextActionWithAccel("Find", OnFind, "Ctrl+F");
            AddContextActionWithAccel("Replace", OnReplace, "Ctrl+H");
            AddContextActionWithAccel("Change Font", OnChangeFont, null);
            styleSeparator = AddContextSeparator();
            styleMenu      = AddMenuItem("Use style", null);
            Menu styles = new Menu();

            // find all the editor styles and add sub menu items to the popup
            string[] styleNames = Mono.TextEditor.Highlighting.SyntaxModeService.Styles;
            Array.Sort(styleNames, StringComparer.InvariantCulture);
            foreach (string name in styleNames)
            {
                CheckMenuItem subItem = new CheckMenuItem(name);
                if (string.Compare(name, options.ColorScheme, true) == 0)
                {
                    subItem.Toggle();
                }
                subItem.Activated += OnChangeEditorStyle;
                subItem.Visible    = true;
                styles.Append(subItem);
            }
            styleMenu.Submenu = styles;

            IntelliSenseChars = ".";
        }
        private void InitControls()
        {
            this.SourceFileLabel = new Label {
                Text = "File to time-stamp"
            };
            this.SourceFile              = new TextBox();
            this.SourceFile.TextChanged += this.SourceFileOnTextChanged;

            this.LogExceptions      = new CheckMenuItem();
            this.LogExceptions.Text = "Log exceptions";

            this.SourceFileButton        = new Button();
            this.SourceFileButton.Text   = @"Browse";
            this.SourceFileButton.Click += this.SourceFileButtonOnClick;

            this.SourceFileButton        = new Button();
            this.SourceFileButton.Text   = @"Browse";
            this.SourceFileButton.Click += this.SourceFileButtonOnClick;

            this.OutFileLabel = new Label {
                Text = "Output file"
            };
            this.OutFile = new TextBox();

            this.OutFileButton        = new Button();
            this.OutFileButton.Text   = @"Browse";
            this.OutFileButton.Click += this.OutFileButtonOnClick;

            this.ServerAddressLabel = new Label {
                Text = "TSA service URL"
            };
            this.ServerAddress = new TextBox();

            this.HashAlgorithmLabel = new Label {
                Text = "Hash algorithm"
            };
            this.HashAlgorithm = new DropDown();
            this.HashAlgorithm.Items.Add(new ComboItemHash("SHA-1", Oid.SHA1));
            this.HashAlgorithm.Items.Add(new ComboItemHash("SHA-256", Oid.SHA256));
            this.HashAlgorithm.Items.Add(new ComboItemHash("SHA-512", Oid.SHA512));
            this.HashAlgorithm.Items.Add(new ComboItemHash("MD5", Oid.MD5));
            this.HashAlgorithm.SelectedKey = "SHA-256";

            this.ResponseFormatLabel = new Label {
                Text = "Output format"
            };
            this.ResponseFormat = new DropDown();
            this.ResponseFormat.Items.Add(new ComboItemFormat("Raw time-stamp token", SharedUtils.ResultFormat.RawTST));
            this.ResponseFormat.Items.Add(new ComboItemFormat("ASiC-S TST (ZIP file with source file and time-stamp token)", SharedUtils.ResultFormat.ASIC_S));
            this.ResponseFormat.SelectedKey           = SharedUtils.ResultFormat.RawTST.ToString();
            this.ResponseFormat.SelectedValueChanged += this.ResponseFormatOnValueChanged;

            this.RequestedPolicyLabel = new Label {
                Text = "Requested policy"
            };
            this.RequestedPolicy = new TextBox();

            this.NonceLabel = new Label {
                Text = "Nonce (hex)"
            };
            this.Nonce = new TextBox();

            this.TSACertificateLabel = new Label {
                Text = "Request TSA certificate"
            };
            this.TSACertificate = new DropDown();

            ComboItemCertReq yes = new ComboItemCertReq(true);
            ComboItemCertReq no  = new ComboItemCertReq(false);

            this.TSACertificate.Items.Add(no);
            this.TSACertificate.Items.Add(yes);
            this.TSACertificate.SelectedKey = yes.Key;

            this.RequestTimeStampButton        = new Button();
            this.RequestTimeStampButton.Text   = @"Request time-stamp";
            this.RequestTimeStampButton.Click += this.RequestTimeStampButtonOnClick;

            this.GenerateNonce        = new Button();
            this.GenerateNonce.Text   = @"Generate";
            this.GenerateNonce.Click += this.GenerateNonceBytesOnClick;

            this.LogAreaLabel = new Label {
                Text = @"Activity log"
            };
            this.LogArea          = new TextArea();
            this.LogArea.ReadOnly = true;

            this.UserCertLabel = new Label {
                Text = @"PKCS#12 file with SSL client certificate"
            };
            this.UserCert = new TextBox();

            this.UserCertButton        = new Button();
            this.UserCertButton.Text   = @"Browse";
            this.UserCertButton.Click += this.UserCertButtonOnClick;

            this.UserCertPasswordLabel = new Label {
                Text = @"PKCS#12 file password"
            };
            this.UserCertPassword = new PasswordBox();

            this.UserNameLabel = new Label {
                Text = @"HTTP user name"
            };
            this.UserName = new TextBox();

            this.UserPasswordLabel = new Label {
                Text = @"HTTP password"
            };
            this.UserPassword = new PasswordBox();
        }
        FindInFilesDialog(bool showReplace)
        {
            this.showReplace = showReplace;
            Build();
            Title        = showReplace ? GettextCatalog.GetString("Replace in Files") : GettextCatalog.GetString("Find in Files");
            TransientFor = IdeApp.Workbench.RootWindow;
            if (!showReplace)
            {
                buttonReplace.Destroy();
            }

            if (showReplace)
            {
                tableFindAndReplace.NRows = 4;
                labelReplace = new Label {
                    Text = GettextCatalog.GetString("_Replace:"), Xalign = 0f, UseUnderline = true
                };
                tableFindAndReplace.Add(labelReplace);

                comboboxentryReplace = new ComboBoxEntry();
                tableFindAndReplace.Add(comboboxentryReplace);

                var childLabel = (Table.TableChild)tableFindAndReplace[labelReplace];
                childLabel.TopAttach    = 1;
                childLabel.BottomAttach = 2;
                childLabel.XOptions     = childLabel.YOptions = (AttachOptions)4;

                var childCombo = (Table.TableChild)tableFindAndReplace[comboboxentryReplace];
                childCombo.TopAttach    = 1;
                childCombo.BottomAttach = 2;
                childCombo.LeftAttach   = 1;
                childCombo.RightAttach  = 2;
                childCombo.XOptions     = childCombo.YOptions = (AttachOptions)4;

                childLabel              = (Table.TableChild)tableFindAndReplace[labelScope];
                childLabel.TopAttach    = 2;
                childLabel.BottomAttach = 3;

                childCombo              = (Table.TableChild)tableFindAndReplace[hbox2];
                childCombo.TopAttach    = 2;
                childCombo.BottomAttach = 3;

                childCombo              = (Table.TableChild)tableFindAndReplace[labelFileMask];
                childCombo.TopAttach    = 3;
                childCombo.BottomAttach = 4;

                childCombo              = (Table.TableChild)tableFindAndReplace[searchentry1];
                childCombo.TopAttach    = 3;
                childCombo.BottomAttach = 4;

                Child.ShowAll();
            }

            comboboxentryFind.Entry.Activated += delegate { buttonSearch.Click(); };

            buttonReplace.Clicked += HandleReplaceClicked;
            buttonSearch.Clicked  += HandleSearchClicked;
            buttonClose.Clicked   += (sender, e) => Destroy();
            DeleteEvent           += (o, args) => Destroy();
            buttonStop.Clicked    += ButtonStopClicked;
            var scopeStore = new ListStore(typeof(string));

            scopeStore.AppendValues(GettextCatalog.GetString("Whole solution"));
            scopeStore.AppendValues(GettextCatalog.GetString("Current project"));
            scopeStore.AppendValues(GettextCatalog.GetString("All open files"));
            scopeStore.AppendValues(GettextCatalog.GetString("Directories"));
            scopeStore.AppendValues(GettextCatalog.GetString("Current document"));
            scopeStore.AppendValues(GettextCatalog.GetString("Selection"));

            comboboxScope.Model = scopeStore;

            comboboxScope.Changed += HandleScopeChanged;

            InitFromProperties();

            if (IdeApp.Workbench.ActiveDocument != null)
            {
                var view = IdeApp.Workbench.ActiveDocument.GetContent <ITextBuffer> ();
                if (view != null)
                {
                    string selectedText = view.SelectedText;
                    if (!string.IsNullOrEmpty(selectedText))
                    {
                        if (selectedText.Any(c => c == '\n' || c == '\r'))
                        {
//							comboboxScope.Active = ScopeSelection;
                        }
                        else
                        {
                            if (comboboxScope.Active == ScopeSelection)
                            {
                                comboboxScope.Active = ScopeCurrentDocument;
                            }
                            comboboxentryFind.Entry.Text = selectedText;
                        }
                    }
                    else if (comboboxScope.Active == ScopeSelection)
                    {
                        comboboxScope.Active = ScopeCurrentDocument;
                    }
                }
            }
            comboboxentryFind.Entry.SelectRegion(0, comboboxentryFind.ActiveText.Length);

            DeleteEvent += delegate { Destroy(); };
            UpdateStopButton();
            searchentry1.Ready       = true;
            searchentry1.Visible     = true;
            searchentry1.IsCheckMenu = true;

            var properties = PropertyService.Get("MonoDevelop.FindReplaceDialogs.SearchOptions", new Properties());

            CheckMenuItem checkMenuItem = searchentry1.AddFilterOption(0, GettextCatalog.GetString("Include binary files"));

            checkMenuItem.DrawAsRadio = false;
            checkMenuItem.Active      = properties.Get("IncludeBinaryFiles", false);
            checkMenuItem.Toggled    += delegate {
                properties.Set("IncludeBinaryFiles", checkMenuItem.Active);
            };

            CheckMenuItem checkMenuItem1 = searchentry1.AddFilterOption(1, GettextCatalog.GetString("Include hidden files and directories"));

            checkMenuItem1.DrawAsRadio = false;
            checkMenuItem1.Active      = properties.Get("IncludeHiddenFiles", false);
            checkMenuItem1.Toggled    += delegate {
                properties.Set("IncludeHiddenFiles", checkMenuItem1.Active);
            };

            Child.Show();
        }
Beispiel #21
0
        void CreateMenuToolBar()
        {
            var about = new Commands.About();
            var quit  = new Commands.Quit();

            if (Platform.Supports <MenuBar>())
            {
                var saveSettingsItem = new CheckMenuItem {
                    Text = "Save Selected Section"
                };
                saveSettingsItem.Bind(c => c.Checked, TestApplication.Settings, s => s.SaveInitialSection);

                var fileCommand = new Command {
                    MenuText = "File Command", Shortcut = Application.Instance.CommonModifier | Keys.F
                };
                fileCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var editCommand = new Command {
                    MenuText = "Edit Command", Shortcut = Keys.Shift | Keys.E
                };
                editCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var viewCommand = new Command {
                    MenuText = "View Command", Shortcut = Keys.Control | Keys.Shift | Keys.V
                };
                viewCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var windowCommand = new Command {
                    MenuText = "Window Command"
                };
                windowCommand.Executed += (sender, e) => Log.Write(sender, "Executed");

                var crashCommand = new Command {
                    MenuText = "Test Exception"
                };
                crashCommand.Executed += (sender, e) =>
                {
                    throw new InvalidOperationException("This is the exception message");
                };

                var subMenu = new SubMenuItem {
                    Text = "Sub Menu"
                };
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 1"
                });
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 2"
                });
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 3"
                });

                var file = new SubMenuItem {
                    Text = "&File", Items = { saveSettingsItem, fileCommand, crashCommand }
                };
                var edit = new SubMenuItem {
                    Text = "&Edit", Items = { editCommand, subMenu }
                };
                var view = new SubMenuItem {
                    Text = "&View", Items = { viewCommand }
                };
                var window = new SubMenuItem {
                    Text = "&Window", Order = 1000, Items = { windowCommand }
                };

                if (Platform.Supports <CheckMenuItem>())
                {
                    edit.Items.AddSeparator();

                    var checkMenuItem1 = new CheckMenuItem {
                        Text = "Check Menu Item", Shortcut = Keys.Shift | Keys.K
                    };
                    checkMenuItem1.Click          += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    checkMenuItem1.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    edit.Items.Add(checkMenuItem1);

                    var checkMenuItem2 = new CheckMenuItem {
                        Text = "Initially Checked Menu Item", Checked = true
                    };
                    checkMenuItem2.Click          += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    checkMenuItem2.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    edit.Items.Add(checkMenuItem2);

                    var checkMenuItem3 = new CheckCommand {
                        MenuText = "Check Command", Shortcut = Keys.Shift | Keys.K
                    };
                    checkMenuItem3.Executed       += (sender, e) => Log.Write(sender, "Executed, {0}, Checked: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked);
                    checkMenuItem3.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked);
                    edit.Items.Add(checkMenuItem3);

                    checkMenuItem1.Click += (sender, e) => checkMenuItem3.Checked = !checkMenuItem3.Checked;
                }

                if (Platform.Supports <RadioMenuItem>())
                {
                    edit.Items.AddSeparator();

                    RadioMenuItem controller = null;
                    for (int i = 0; i < 5; i++)
                    {
                        var radio = new RadioMenuItem(controller)
                        {
                            Text = "Radio Menu Item " + (i + 1)
                        };
                        if (controller == null)
                        {
                            radio.Checked = true;                             // check the first item initially
                            controller    = radio;
                        }
                        radio.Click          += (sender, e) => Log.Write(radio, "Click, {0}, Checked: {1}", radio.Text, radio.Checked);
                        radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.Text, radio.Checked);
                        edit.Items.Add(radio);
                    }

                    edit.Items.AddSeparator();

                    RadioCommand commandController = null;
                    for (int i = 0; i < 2; i++)
                    {
                        var radio = new RadioCommand {
                            MenuText = "Radio Command " + (i + 1), Controller = commandController
                        };
                        if (commandController == null)
                        {
                            radio.Checked     = true;                         // check the first item initially
                            commandController = radio;
                        }
                        radio.Executed       += (sender, e) => Log.Write(radio, "Executed, {0}, Checked: {1}", radio.MenuText, radio.Checked);
                        radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.MenuText, radio.Checked);
                        edit.Items.Add(radio);
                    }
                }

                edit.Items.AddSeparator();
                var hiddenItem = new ButtonMenuItem {
                    Text = "This button should not be visible!", Visible = false
                };
                var toggleHiddenItem = new ButtonMenuItem {
                    Text = "Toggle Hidden Item"
                };
                toggleHiddenItem.Click += (sender, e) => hiddenItem.Visible = !hiddenItem.Visible;
                edit.Items.Add(hiddenItem);
                edit.Items.Add(toggleHiddenItem);


                Menu = new MenuBar
                {
                    Items =
                    {
                        // custom top-level menu items
                        file, edit, view, window
                    },
                    ApplicationItems =
                    {
                        // custom menu items for the application menu (Application on OS X, File on others)
                        new Command        {
                            MenuText = "Application command"
                        },
                        new ButtonMenuItem {
                            Text = "Application menu item"
                        }
                    },
                    HelpItems =
                    {
                        new Command {
                            MenuText = "Help Command"
                        }
                    },
                    QuitItem  = quit,
                    AboutItem = about
                };
            }

            if (Platform.Supports <ToolBar>())
            {
                // create and set the toolbar
                ToolBar = new ToolBar();

                ToolBar.Items.Add(about);
                if (Platform.Supports <CheckToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.Divider
                    });
                    ToolBar.Items.Add(LogEvents(new CheckToolItem {
                        Text = "Check", Image = TestIcons.TestImage
                    }));
                }
                ToolBar.Items.Add(new SeparatorToolItem {
                    Type = SeparatorToolItemType.Space
                });
                ButtonToolItem clickButton = LogEvents(new ButtonToolItem {
                    Text = "Click Me", Image = TestIcons.Logo
                });
                ToolBar.Items.Add(clickButton);
                if (Platform.Supports <RadioToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.FlexibleSpace
                    });
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio1", Image = TestIcons.Logo, Checked = true
                    }));
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio2", Image = TestIcons.TestImage
                    }));
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio3 (Disabled)", Image = TestIcons.TestImage, Enabled = false
                    }));
                }

                // add an invisible button and separator and allow them to be toggled.
                var invisibleButton = LogEvents(new ButtonToolItem {
                    Text = "Invisible", Visible = false
                });
                var sep = new SeparatorToolItem {
                    Type = SeparatorToolItemType.Divider, Visible = false
                };
                ToolBar.Items.Add(sep);
                ToolBar.Items.Add(invisibleButton);
                clickButton.Click += (sender, e) =>
                {
                    invisibleButton.Visible = !invisibleButton.Visible;
                    sep.Visible             = invisibleButton.Visible;
                };
            }
        }
        public void OnViewLineLengthsToggled(object o, EventArgs args)
        {
            CheckMenuItem menuItem = o as CheckMenuItem;

            Base.Config.ViewLineLengths = menuItem.Active;
        }
        protected void ShowContext()
        {
            var selected = Selection.GetSelectedRows();

            if (selected.Length < 1)
            {
                return;
            }

            Menu context = new Menu();

            MenuItem item = new MenuItem("Remove");

            item.Activated += (sender, e) =>
            {
                foreach (var p in selected)
                {
                    TreeIter iter;
                    if (Messages.GetIter(out iter, p))
                    {
                        Messages.Remove(ref iter);
                    }
                }
                Selection.UnselectAll();
            };
            context.Add(item);

            if (selected.Length == 1)
            {
                TreeIter iter;
                Messages.GetIter(out iter, selected[0]);
                var session = Messages.GetValue(iter, 0) as Session;
                if (session != null)
                {
                    item            = new MenuItem("Remove All " + session.Name);
                    item.Activated += (sender, e) =>
                    {
                        TreeIter delIter;
                        Messages.GetIterFirst(out delIter);

                        while (Messages.IterIsValid(delIter))
                        {
                            var delSession = Messages.GetValue(delIter, 0) as Session;
                            if (delSession != null && delSession.GetType() == session.GetType() && delSession.Name == session.Name)
                            {
                                Messages.Remove(ref delIter);
                            }
                            else
                            {
                                Messages.IterNext(ref delIter);
                            }
                        }
                    };
                    context.Add(item);

                    item            = new MenuItem("Remove and Filter Out All " + session.Name);
                    item.Activated += (sender, e) =>
                    {
                        TreeIter delIter;
                        Messages.GetIterFirst(out delIter);

                        FilterItem filterOut = Main.GetFilter(session);
                        if (filterOut != null)
                        {
                            filterOut.Enabled = false;
                        }
                        Main.RedrawFilters();

                        while (Messages.IterIsValid(delIter))
                        {
                            var delSession = Messages.GetValue(delIter, 0) as Session;
                            if (delSession != null && delSession.GetType() == session.GetType() && delSession.Name == session.Name)
                            {
                                Messages.Remove(ref delIter);
                            }
                            else
                            {
                                Messages.IterNext(ref delIter);
                            }
                        }
                    };
                    context.Add(item);


                    FilterItem filter = Main.GetFilter(session);
                    if (filter != null)
                    {
                        var citem = new CheckMenuItem("Receive " + session.Name);
                        citem.Active   = filter.Enabled;
                        citem.Toggled += (sender, e) =>
                        {
                            filter.Enabled = !filter.Enabled;
                            Main.RedrawFilters();
                        };
                        context.Add(citem);
                    }
                }
            }

            context.Add(new SeparatorMenuItem());

            item            = new MenuItem("Select All");
            item.Activated += (sender, e) =>
            {
                Selection.SelectAll();
            };
            context.Add(item);

            item            = new MenuItem("Deselect");
            item.Activated += (sender, e) =>
            {
                Selection.UnselectAll();
            };
            context.Add(item);

            context.Add(new SeparatorMenuItem());

            item            = new MenuItem("Copy");
            item.Activated += (sender, e) =>
            {
                System.Text.StringBuilder sb = new System.Text.StringBuilder();
                foreach (var p in selected)
                {
                    TreeIter iter;
                    if (Messages.GetIter(out iter, p))
                    {
                        var session = Messages.GetValue(iter, 0) as Session;
                        if (session != null)
                        {
                            sb.AppendLine(string.Join(" | ", session.Columns));
                        }
                    }

                    Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)).Text = sb.ToString().TrimEnd();
                }
            };
            context.Add(item);

            item            = new MenuItem("Clear");
            item.Activated += (sender, e) =>
            {
                Selection.UnselectAll();
                Messages.Clear();
            };
            context.Add(item);

            context.ShowAll();
            context.Popup();
        }
Beispiel #24
0
        private MenuBar ConstructMenuBar()
        {
            var updateMenuItem = new ButtonMenuItem {
                Text = "&Update logs with outdated data…"
            };

            updateMenuItem.Click += (sender, args) =>
            {
                new ProcessingUpdateDialog(LogDataProcessor, LogDataUpdater.GetUpdates(logs).ToList()).ShowModal(this);
            };
            LogSearchFinished          += (sender, args) => { updateMenuItem.Enabled = LogDataUpdater.GetUpdates(logs).Any(); };
            LogDataProcessor.Processed += (sender, args) =>
            {
                if (args.CurrentScheduledItems == 0)
                {
                    bool updatesFound = LogDataUpdater.GetUpdates(logs).Any();
                    Application.Instance.AsyncInvoke(() => updateMenuItem.Enabled = updatesFound);
                }
            };

            var logCacheMenuItem = new ButtonMenuItem {
                Text = "&Log cache"
            };

            logCacheMenuItem.Click += (sender, args) => { new CacheDialog(this).ShowModal(this); };

            var apiDataMenuItem = new ButtonMenuItem {
                Text = "&API cache"
            };

            apiDataMenuItem.Click += (sender, args) => { new ApiDialog(ApiProcessor).ShowModal(this); };

            var settingsFormMenuItem = new ButtonMenuItem {
                Text = "&Settings"
            };

            settingsFormMenuItem.Click += (sender, args) => { new SettingsForm().Show(); };

            var debugDataMenuItem = new CheckMenuItem {
                Text = "Show &debug data"
            };

            debugDataMenuItem.Checked         = Settings.ShowDebugData;
            debugDataMenuItem.CheckedChanged += (sender, args) => { Settings.ShowDebugData = debugDataMenuItem.Checked; };

            var showGuildTagsMenuItem = new CheckMenuItem {
                Text = "Show &guild tags in log details"
            };

            showGuildTagsMenuItem.Checked         = Settings.ShowGuildTagsInLogDetail;
            showGuildTagsMenuItem.CheckedChanged += (sender, args) => { Settings.ShowGuildTagsInLogDetail = showGuildTagsMenuItem.Checked; };

            var showFailurePercentagesMenuItem = new CheckMenuItem {
                Text = "Show failure health &percentages in log list"
            };

            showFailurePercentagesMenuItem.Checked         = Settings.ShowFailurePercentagesInLogList;
            showFailurePercentagesMenuItem.CheckedChanged += (sender, args) =>
            {
                Settings.ShowFailurePercentagesInLogList = showFailurePercentagesMenuItem.Checked;
            };

            var showSidebarMenuItem = new CheckMenuItem {
                Text = "Show &filters in a sidebar"
            };

            showSidebarMenuItem.Checked         = Settings.ShowFilterSidebar;
            Settings.ShowFilterSidebarChanged  += (sender, args) => showSidebarMenuItem.Checked = Settings.ShowFilterSidebar;
            showSidebarMenuItem.CheckedChanged += (sender, args) => { Settings.ShowFilterSidebar = showSidebarMenuItem.Checked; };

            // TODO: Implement

            /*
             * var arcdpsSettingsMenuItem = new ButtonMenuItem {Text = "&arcdps settings", Enabled = false};
             *
             * var arcdpsMenuItem = new ButtonMenuItem {Text = "&arcdps", Enabled = false};
             * arcdpsMenuItem.Items.Add(arcdpsSettingsMenuItem);
             */

            var dataMenuItem = new ButtonMenuItem {
                Text = "&Data"
            };

            dataMenuItem.Items.Add(updateMenuItem);
            dataMenuItem.Items.Add(new SeparatorMenuItem());
            dataMenuItem.Items.Add(logCacheMenuItem);
            dataMenuItem.Items.Add(apiDataMenuItem);

            var viewMenuItem = new ButtonMenuItem {
                Text = "&View"
            };

            viewMenuItem.Items.Add(showSidebarMenuItem);
            viewMenuItem.Items.Add(showGuildTagsMenuItem);
            viewMenuItem.Items.Add(showFailurePercentagesMenuItem);
            viewMenuItem.Items.Add(new SeparatorMenuItem());
            viewMenuItem.Items.Add(debugDataMenuItem);

            var settingsMenuItem = new ButtonMenuItem {
                Text = "&Settings"
            };

            settingsMenuItem.Items.Add(settingsFormMenuItem);

            var helpMenuItem = new ButtonMenuItem {
                Text = "Help"
            };

            helpMenuItem.Items.Add(new About());

            return(new MenuBar(dataMenuItem, viewMenuItem, settingsMenuItem, helpMenuItem));
        }
Beispiel #25
0
        private MenuBar ConstructMenuBar()
        {
            var updateMenuItem = new ButtonMenuItem {
                Text = "&Update"
            };

            updateMenuItem.Click += (sender, args) => { new UpdateDialog(LogDataProcessor, LogDataUpdater.GetUpdates(logs).ToList()).ShowModal(this); };

            var logCacheMenuItem = new ButtonMenuItem {
                Text = "Log &cache"
            };

            logCacheMenuItem.Click += (sender, args) => { new CacheDialog(this).ShowModal(this); };

            var apiDataMenuItem = new ButtonMenuItem {
                Text = "&API data"
            };

            apiDataMenuItem.Click += (sender, args) => { new ApiDialog(ApiProcessor).ShowModal(this); };

            var settingsFormMenuItem = new ButtonMenuItem {
                Text = "&Settings"
            };

            settingsFormMenuItem.Click += (sender, args) => { new SettingsForm().Show(); };

            var debugDataMenuItem = new CheckMenuItem {
                Text = "Show &debug data"
            };

            debugDataMenuItem.Checked         = Settings.ShowDebugData;
            debugDataMenuItem.CheckedChanged += (sender, args) => { Settings.ShowDebugData = debugDataMenuItem.Checked; };

            var showGuildTagsMenuItem = new CheckMenuItem {
                Text = "Show &guild tags in log details"
            };

            showGuildTagsMenuItem.Checked         = Settings.ShowGuildTagsInLogDetail;
            showGuildTagsMenuItem.CheckedChanged += (sender, args) => { Settings.ShowGuildTagsInLogDetail = showGuildTagsMenuItem.Checked; };

            // TODO: Implement

            /*
             * var arcdpsSettingsMenuItem = new ButtonMenuItem {Text = "&arcdps settings", Enabled = false};
             *
             * var arcdpsMenuItem = new ButtonMenuItem {Text = "&arcdps", Enabled = false};
             * arcdpsMenuItem.Items.Add(arcdpsSettingsMenuItem);
             */

            var dataMenuItem = new ButtonMenuItem {
                Text = "&Data"
            };

            dataMenuItem.Items.Add(updateMenuItem);
            dataMenuItem.Items.Add(logCacheMenuItem);
            dataMenuItem.Items.Add(apiDataMenuItem);

            var settingsMenuItem = new ButtonMenuItem {
                Text = "&Settings"
            };

            settingsMenuItem.Items.Add(settingsFormMenuItem);
            settingsMenuItem.Items.Add(showGuildTagsMenuItem);
            settingsMenuItem.Items.Add(new SeparatorMenuItem());
            settingsMenuItem.Items.Add(debugDataMenuItem);

            var helpMenuItem = new ButtonMenuItem {
                Text = "Help"
            };

            helpMenuItem.Items.Add(new About());

            return(new MenuBar(dataMenuItem, settingsMenuItem, helpMenuItem));
        }
Beispiel #26
0
        void HandleSearchEntryhandleRequestMenu(object sender, EventArgs e)
        {
            if (searchEntry.Menu != null)
            {
                searchEntry.Menu.Destroy();
            }

            searchEntry.Menu = new Menu();

            CheckMenuItem caseSensitive = new CheckMenuItem(GettextCatalog.GetString("_Case sensitive"));

            caseSensitive.Active      = IsCaseSensitive;
            caseSensitive.DrawAsRadio = false;
            caseSensitive.Toggled    += delegate {
                SetIsCaseSensitive(caseSensitive.Active);
                UpdateSearchEntry();
            };
            searchEntry.Menu.Add(caseSensitive);

            CheckMenuItem wholeWordsOnly = new CheckMenuItem(GettextCatalog.GetString("_Whole words only"));

            wholeWordsOnly.Active      = IsWholeWordOnly;
            wholeWordsOnly.DrawAsRadio = false;
            wholeWordsOnly.Toggled    += delegate {
                SetIsWholeWordOnly(wholeWordsOnly.Active);
                UpdateSearchEntry();
            };
            searchEntry.Menu.Add(wholeWordsOnly);


            CheckMenuItem regexSearch = new CheckMenuItem(GettextCatalog.GetString("_Regex search"));

            regexSearch.Active      = SearchEngine == RegexSearchEngine;
            regexSearch.DrawAsRadio = false;
            regexSearch.Toggled    += delegate {
                SetIsRegexSearch(regexSearch.Active);
                UpdateSearchEntry();
            };
            searchEntry.Menu.Add(regexSearch);

            CheckMenuItem inselectionSearch = new CheckMenuItem(GettextCatalog.GetString("_Search In Selection"));

            inselectionSearch.Active      = IsInSelectionSearchMode;
            inselectionSearch.DrawAsRadio = false;
            inselectionSearch.Toggled    += delegate {
                IsInSelectionSearchMode = inselectionSearch.Active;
                UpdateSearchEntry();
            };
            searchEntry.Menu.Add(inselectionSearch);

            List <string> history = GetHistory(seachHistoryProperty);

            if (history.Count > 0)
            {
                searchEntry.Menu.Add(new SeparatorMenuItem());
                MenuItem recentSearches = new MenuItem(GettextCatalog.GetString("Recent Searches"));
                recentSearches.Sensitive = false;
                searchEntry.Menu.Add(recentSearches);

                foreach (string item in history)
                {
                    if (item == searchEntry.Entry.Text)
                    {
                        continue;
                    }
                    MenuItem recentItem = new MenuItem(item);
                    recentItem.Name       = item;
                    recentItem.Activated += delegate(object mySender, EventArgs myE) {
                        MenuItem cur = (MenuItem)mySender;
                        SearchAndReplaceOptions.SearchPattern = "";                         // force that the current pattern is stored in history and not replaced
                        searchEntry.Entry.Text = cur.Name;
                        FilterHistory(seachHistoryProperty);
                    };
                    searchEntry.Menu.Add(recentItem);
                }
                searchEntry.Menu.Add(new SeparatorMenuItem());
                MenuItem clearRecentSearches = new MenuItem(GettextCatalog.GetString("Clear Recent Searches"));
                clearRecentSearches.Activated += delegate {
                    StoreHistory(seachHistoryProperty, null);
                };
                searchEntry.Menu.Add(clearRecentSearches);
            }
        }
Beispiel #27
0
        // Should use ActionManager at some point
        private void FeedViewMenuPopup(uint time, PodcastFeedInfo feed)
        {
            if (feed_view_popup_menu == null)
            {
                feed_view_popup_menu = new Menu();

                feed_subscription_menu_item          = new CheckMenuItem(Catalog.GetString("Subscribed"));
                feed_subscription_menu_item.Toggled += OnFeedMenuSubscribeToggled;

                feed_update_menu_item            = new ImageMenuItem(Catalog.GetString("Update Feed"));
                feed_update_menu_item.Image      = new Gtk.Image(Gtk.Stock.Refresh, IconSize.Menu);
                feed_update_menu_item.Activated += OnFeedMenuUpdateCurrentActivated;

                feed_remove_menu_item            = new ImageMenuItem(Catalog.GetString("Delete Feed"));
                feed_remove_menu_item.Image      = new Gtk.Image(Gtk.Stock.Delete, IconSize.Menu);
                feed_remove_menu_item.Activated += OnFeedMenuRemoveActivated;

                feed_new_menu_item            = new ImageMenuItem(Catalog.GetString("Subscribe to New Feed"));
                feed_new_menu_item.Image      = new Gtk.Image(Gtk.Stock.New, IconSize.Menu);
                feed_new_menu_item.Activated += OnFeedMenuNewActivated;

                feed_visit_link_menu_item            = new ImageMenuItem(Catalog.GetString("Homepage"));
                feed_visit_link_menu_item.Image      = new Gtk.Image(Gtk.Stock.JumpTo, IconSize.Menu);
                feed_visit_link_menu_item.Activated += OnFeedMenuVisitLinkActivated;

                feed_properties_menu_item            = new ImageMenuItem(Catalog.GetString("Properties"));
                feed_properties_menu_item.Image      = new Gtk.Image(Gtk.Stock.Properties, IconSize.Menu);
                feed_properties_menu_item.Activated += OnFeedMenuPropertiesActivated;

                feed_view_popup_menu.Append(feed_subscription_menu_item);
                feed_view_popup_menu.Append(new SeparatorMenuItem());
                feed_view_popup_menu.Append(feed_remove_menu_item);
                feed_view_popup_menu.Append(feed_new_menu_item);
                feed_view_popup_menu.Append(new SeparatorMenuItem());
                feed_view_popup_menu.Append(feed_visit_link_menu_item);
                feed_view_popup_menu.Append(feed_update_menu_item);
                feed_view_popup_menu.Append(new SeparatorMenuItem());
                feed_view_popup_menu.Append(feed_properties_menu_item);

                feed_view_popup_menu.ShowAll();
            }

            feed_subscription_menu_item.Toggled -= OnFeedMenuSubscribeToggled;
            feed_subscription_menu_item.Active   = feed.IsSubscribed;
            feed_subscription_menu_item.Toggled += OnFeedMenuSubscribeToggled;

            if (feed.IsBusy)
            {
                // TODO Allow users to delete / unsubscribe from a busy feed.
                // This will be trivial once the download code is moved into PodcastFeedInfo.

                feed_subscription_menu_item.Sensitive = false;
                feed_remove_menu_item.Sensitive       = false;
            }
            else
            {
                feed_remove_menu_item.Sensitive       = true;
                feed_subscription_menu_item.Sensitive = true;
            }

            feed_view_popup_menu.Popup(null, null, null, 0, time);
            return;
        }
            public ViewerMenuBar()
                : base()
            {
                /* File menu */
                fileOpenSeparator = new SeparatorMenuItem ();
                saveAsSeparator = new SeparatorMenuItem ();
                saveAsMenuItem =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("Save _As"));
                saveAsMenuItem.Image =
                    new Image (Stock.Refresh,
                           IconSize.Menu);
                printMenuItem =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("_Print"));
                printMenuItem.Image =
                    new Image (Stock.Print,
                           IconSize.Menu);

                Menu menu = fileMenuItem.Submenu as Menu;
                int i = 0;
                  menu.Insert (fileOpenSeparator, i++);
                  menu.Insert (saveAsMenuItem, i++);
                  menu.Insert (saveAsSeparator, i++);
                  menu.Insert (printMenuItem, i++);

                /* Action menu */
                  actionMenuItem =
                    new MenuItem (Catalog.
                              GetString ("_Action"));
                  AppendAfter (fileMenuItem, actionMenuItem);
                  menu = new Menu ();
                  actionMenuItem.Submenu = menu;
                  switchSideMenuItem =
                    new ImageMenuItem (Catalog.
                               GetString
                               ("_Switch Side"));
                  switchSideMenuItem.Image =
                    new Image (Stock.Refresh,
                           IconSize.Menu);
                  menu.Append (switchSideMenuItem);

                /* Edit menu */
                  menu = editMenuItem.Submenu as Menu;
                  moveCommentMenuItem =
                    new MenuItem (Catalog.
                              GetString
                              ("Move _Comment"));
                  menu.Append (moveCommentMenuItem);

                /* Export As menu */
                  exportAsMenuItem =
                    new MenuItem (Catalog.
                              GetString
                              ("_Export As"));
                  AppendAfter (editMenuItem,
                           exportAsMenuItem);

                /* View menu */
                  menu = viewMenuItem.Submenu as Menu;
                  highlightMoveMenuItem =
                    new CheckMenuItem (Catalog.
                               GetString
                               ("_Highlight Move"));
                  menu.Append (highlightMoveMenuItem);
                  ShowAll ();
            }
Beispiel #29
0
        private void SetCheckMenuItemActivity(string itemName, bool isActive)
        {
            CheckMenuItem item = Base.GetWidget(itemName) as CheckMenuItem;

            SetCheckMenuItemActivity(item, isActive);
        }