Ejemplo n.º 1
0
        public override void Execute(CommandContext context)
        {
            SheerResponse.DisableOutput();
            var subMenu = new ContextMenu();
            var menuItems = new List<Control>();
            var menuItemId = "iseSettingsDropdown"; //context.Parameters["Id"];

            if (string.IsNullOrEmpty(menuItemId))
            {
                // a bit of a hacky way to determine the caller so we can display the menu
                // in proximity to the triggering control
                var parameters = new UrlString("?" + Context.Items["SC_FORM"]);
                menuItemId = parameters.Parameters["__EVENTTARGET"];
            }

            var menuRootItem =
                Factory.GetDatabase("core")
                    .GetItem("/sitecore/content/Applications/PowerShell/PowerShellIse/Menus/Settings");
            GetMenuItems(menuItems, menuRootItem);

            foreach (var item in menuItems)
            {
                var menuItem = item as MenuItem;
                if (menuItem != null)
                {
                    var subItem = subMenu.Add(menuItem.ID, menuItem.Header, menuItem.Icon, menuItem.Hotkey,
                        menuItem.Click,
                        menuItem.Checked, menuItem.Radiogroup, menuItem.Type);
                    subItem.Disabled = menuItem.Disabled;
                }
            }
            SheerResponse.EnableOutput();
            subMenu.Visible = true;
            SheerResponse.ShowContextMenu(menuItemId, "down", subMenu);
        }
Ejemplo n.º 2
0
        public override void Execute(CommandContext context)
        {
            SheerResponse.DisableOutput();
            var subMenu = new ContextMenu();
            var menuItems = new List<Control>();
            string menuItemId = context.Parameters["menuItemId"];
            Item contextItem = context.Items.Length == 1
                ? context.Items[0]
                : string.IsNullOrEmpty(context.Parameters["db"]) || string.IsNullOrEmpty(context.Parameters["id"])
                    ? null
                    : Database.GetDatabase(context.Parameters["db"]).GetItem(new ID(context.Parameters["id"]));
            GetLibraryMenuItems(contextItem, menuItems, context.Parameters["scriptDB"], context.Parameters["scriptPath"]);

            foreach (Control item in menuItems)
            {
                var menuItem = item as MenuItem;
                if (menuItem != null)
                {
                    var subItem = subMenu.Add(menuItem.ID, menuItem.Header, menuItem.Icon, menuItem.Hotkey, menuItem.Click,
                        menuItem.Checked, menuItem.Radiogroup, menuItem.Type);
                    subItem.Disabled = menuItem.Disabled;
                }
            }
            SheerResponse.EnableOutput();
            subMenu.Visible = true;
            SheerResponse.ShowContextMenu(menuItemId, "right", subMenu);
        }
Ejemplo n.º 3
0
        public override void Execute(CommandContext context)
        {
            SheerResponse.DisableOutput();
            var subMenu = new ContextMenu();
            var menuItems = new List<Control>();
            var menuItemId = context.Parameters["menuItemId"];

            if (string.IsNullOrEmpty(menuItemId))
            {
                // a bit of a hacky way to determine the caller so we can display the menu
                // in proximity to the triggering control
                var parameters = new UrlString("?" + Context.Items["SC_FORM"]);
                menuItemId = parameters.Parameters["__EVENTTARGET"];
            }

            SetupIntegrationPoint(context);
            var contextItem = context.Items.Length == 1
                ? context.Items[0]
                : string.IsNullOrEmpty(context.Parameters["db"]) || string.IsNullOrEmpty(context.Parameters["id"])
                    ? null
                    : Database.GetDatabase(context.Parameters["db"]).GetItem(new ID(context.Parameters["id"]));
            if (string.IsNullOrEmpty(IntegrationPoint))
            {
                var submenu =
                    Factory.GetDatabase(context.Parameters["scriptDB"]).GetItem(context.Parameters["scriptPath"]);
                GetLibraryMenuItems(contextItem, menuItems, submenu);
            }
            else
            {
                foreach (var root in ModuleManager.GetFeatureRoots(IntegrationPoint))
                {
                    GetLibraryMenuItems(contextItem, menuItems, root);
                }
            }

            foreach (var item in menuItems)
            {
                var menuItem = item as MenuItem;
                if (menuItem != null)
                {
                    var subItem = subMenu.Add(menuItem.ID, menuItem.Header, menuItem.Icon, menuItem.Hotkey,
                        menuItem.Click,
                        menuItem.Checked, menuItem.Radiogroup, menuItem.Type);
                    subItem.Disabled = menuItem.Disabled;
                }
            }
            SheerResponse.EnableOutput();
            subMenu.Visible = true;
            SheerResponse.ShowContextMenu(menuItemId, "right", subMenu);
        }
Ejemplo n.º 4
0
 private ContextMenuAction ShowBrowseSources(TorrentLink torLink)
 {
     ContextMenu cmenu = new ContextMenu(Translation.SelectSource);
     cmenu.Add("<<< " + Translation.Browse, () => ShowContextMenuBrowse(torLink));
     foreach (TorrentSource src in Enum.GetValues(typeof(TorrentSource)))
     {
         TorrentSource local = src;
         cmenu.AddAction(DownloadHelper.GetTorrentSourceDescription(src), () =>
         {
             curBrowseSource = local;
             PerformTorrentBrowseAsync();
         });
     }
     return cmenu.Show();
 }
Ejemplo n.º 5
0
      private void _onOptionMenuOpen(object sender, RoutedEventArgs e) {
         var menu = new ContextMenu();
         menu.Placement = PlacementMode.Bottom;
         menu.PlacementTarget = OptionsMenu;

         Action<string, object, bool, bool> addToggle = (header, tag, isChecked, isEnabled) => {
            var menuitem = new MenuItem() { Header = header, Tag = tag, IsChecked = isChecked, IsEnabled = isEnabled };
            menuitem.Click += new RoutedEventHandler(_onOptionsMenuClick);
            menu.Add(menuitem);
         };

         addToggle("UML Extensions", INCLUDE_UML_EXT, this.isUmlExtensionIncluded, true);
         addToggle("Tool Extensions", INCLUDE_TOOL_EXT, this.isToolExtensionIncluded, true);
         addToggle("Profile Definitions", INCLUDE_PROFILE, this.isProfileIncluded, true);

         OptionsMenu.ContextMenu = menu;
         OptionsMenu.ContextMenu.IsOpen = true;
      }
Ejemplo n.º 6
0
        public NoteListViewModel(
            IContentManager contentManager,
            IEnumerable <INoteViewModel> initialNotes,
            Func <IContentManager, INoteViewModel> noteFactory)
        {
            this.contentManager = contentManager;

            foreach (var note in initialNotes)
            {
                Notes.Add(note);
            }

            Add      = new DelegateCommand(_ => AddNote(() => noteFactory(contentManager)));
            Remove   = new DelegateCommand(_ => RemoveNote(), _ => CanRemoveNote());
            EditNote = new DelegateCommand(_ => DoEditNote(contentManager));

            ContextMenu.Add(new MenuItem()
            {
                Text = "Edit Note", Command = EditNote
            });
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="WheelsListView"/> class.
        /// </summary>
        /// <param name="data">The data.</param>
        public WheelsListView(DataBase data)
            : base("Колеса", data.Wheels)
        {
            Radiuses   = Enumerable.Range(12, 20).ToArray();
            Seasons    = EnumHelper.GetData(typeof(WheelSeason));
            Conditions = EnumHelper.GetData(typeof(WheelCondition));


            SelectFileCommand  = new DelegateCommand(OnSelectFile);
            DeleteFileCommand  = new DelegateCommand <string>(OnDeleteFileCommand);
            SelectPhoneCommand = new DelegateCommand <CheckBox>(OnSelectPhoneCommand);

            ContextMenu.Add(new MenuItem
            {
                Header  = "Копировать инфу",
                Command = new DelegateCommand(OnCopy, CanCopy)
            });
            ContextMenu.Add(CreateFilter(data));

            ItemsView.Filter = OnFilter;
        }
Ejemplo n.º 8
0
        public override void Bind()
        {
            ToolStripDropDown settings = ContextMenu.Add(Resources.Settings).DropDown;

            settings.BindCommand(_commandManager, CommandId.RunAtWindowsStartup);
            settings.AddSeparator();
            settings.BindCommand(_commandManager, CommandId.AutomaticallySwitchToPluggedInDevice);

            ContextMenu.AddSeparator();

            ToolStripDropDown appearance = ContextMenu.Add(Resources.Appearance).DropDown;

            appearance.BindCommand(_commandManager, CommandId.ShowPlaybackDevices);
            appearance.BindCommand(_commandManager, CommandId.ShowRecordingDevices);
            appearance.AddSeparator();
            appearance.BindCommand(_commandManager, CommandId.ShowUnpluggedDevices);
            appearance.BindCommand(_commandManager, CommandId.ShowDisabledDevices);
            appearance.BindCommand(_commandManager, CommandId.ShowNotPresentDevices);

            ContextMenu.AddSeparator();
            ContextMenu.BindCommand(_commandManager, CommandId.Exit);
        }
Ejemplo n.º 9
0
        public TaskListViewModel(
            IContentManager contentManager,
            IEnumerable <ITaskViewModel> initialTasks,
            Func <IContentManager, ITaskViewModel> taskFactory)
        {
            this.contentManager = contentManager;

            foreach (var task in initialTasks)
            {
                Tasks.Add(task);
            }

            Add      = new DelegateCommand(_ => DoAddTask(() => taskFactory(contentManager)));
            Remove   = new DelegateCommand(_ => DoRemoveTask(), _ => CanRemoveTask());
            EditTask = new DelegateCommand(_ => DoEditTask());

            ContextMenu.Add(
                new MenuItem()
            {
                Text    = "Edit Task",
                Command = EditTask
            });
        }
Ejemplo n.º 10
0
        public override void Execute(CommandContext context)
        {
            SheerResponse.DisableOutput();
            var subMenu    = new ContextMenu();
            var menuItems  = new List <Control>();
            var menuItemId = "iseSettingsDropdown"; //context.Parameters["Id"];

            if (string.IsNullOrEmpty(menuItemId))
            {
                // a bit of a hacky way to determine the caller so we can display the menu
                // in proximity to the triggering control
                var parameters = new UrlString("?" + Context.Items["SC_FORM"]);
                menuItemId = parameters.Parameters["__EVENTTARGET"];
            }

            var menuRootItem =
                Factory.GetDatabase("core")
                .GetItem("/sitecore/content/Applications/PowerShell/PowerShellIse/Menus/Settings");

            GetMenuItems(menuItems, menuRootItem);

            foreach (var item in menuItems)
            {
                var menuItem = item as MenuItem;
                if (menuItem != null)
                {
                    var subItem = subMenu.Add(menuItem.ID, menuItem.Header, menuItem.Icon, menuItem.Hotkey,
                                              menuItem.Click,
                                              menuItem.Checked, menuItem.Radiogroup, menuItem.Type);
                    subItem.Disabled = menuItem.Disabled;
                }
            }
            SheerResponse.EnableOutput();
            subMenu.Visible = true;
            SheerResponse.ShowContextMenu(menuItemId, "down", subMenu);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Initializes a new instance of the <see cref="LoginListView"/> class.
        /// </summary>
        /// <param name="source">The source.</param>
        public LoginListView(List <Login> source, ILogWriter logWriter)
            : base("Аккаунты", source)
        {
            _logWriter = logWriter;
            Sites      = EnumHelper.GetData(typeof(Site));

            ContextMenu.Add(new MenuItem
            {
                Header  = "Войти на сайт",
                Command = new DelegateCommand(DoLogon, HasSelection)
            });

            ContextMenu.Add(new MenuItem
            {
                Header  = "Очистить объявы",
                Command = new DelegateCommand(DoClear, HasSelection)
            });

            ContextMenu.Add(new MenuItem
            {
                Header  = "Поднять объявы",
                Command = new DelegateCommand(DoUp, HasSelection)
            });
        }
Ejemplo n.º 12
0
      private void _onOptionsMenuOpen(object sender, RoutedEventArgs e) {
         var menu = new ContextMenu();
         menu.Placement = PlacementMode.Bottom;
         menu.PlacementTarget = OptionsMenu;

         var options = _getOptions();
         Action<string, BplSchemaOutputOptions> addToggle = (header, flag) => {
            var menuitem = new MenuItem() { Header = header, Tag = flag, IsChecked = (options & flag) != 0 };
            menuitem.Click += new RoutedEventHandler(_onOptionsMenuClick);
            menu.Add(menuitem);
         };

         addToggle("Sort members by name", BplSchemaOutputOptions.SortMembers);
         addToggle("Expose core types", BplSchemaOutputOptions.ExposeCoreTypes);
         addToggle("Externalize local schemas", BplSchemaOutputOptions.ExternalizeLocalSchemas);

         OptionsMenu.ContextMenu = menu;
         OptionsMenu.ContextMenu.IsOpen = true;
      }
Ejemplo n.º 13
0
            public override void PopupContextMenu(UnitTestLocation unitTest, int x, int y)
            {
                var debugModeSet = Runtime.ProcessService.GetDebugExecutionMode();

                var menu = new ContextMenu();

                if (unitTest.IsFixture)
                {
                    var menuItem = new ContextMenuItem("_Run All");
                    menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, false).Run;
                    menu.Add(menuItem);
                    if (debugModeSet != null)
                    {
                        menuItem          = new ContextMenuItem("_Debug All");
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, true).Run;
                        menu.Add(menuItem);
                    }
                    menuItem          = new ContextMenuItem("_Select in Test Pad");
                    menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, true).Select;
                    menu.Add(menuItem);
                }
                else
                {
                    if (unitTest.TestCases.Count == 0)
                    {
                        var menuItem = new ContextMenuItem("_Run");
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, false).Run;
                        menu.Add(menuItem);
                        if (debugModeSet != null)
                        {
                            menuItem          = new ContextMenuItem("_Debug");
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, true).Run;
                            menu.Add(menuItem);
                        }
                        menuItem          = new ContextMenuItem("_Select in Test Pad");
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, true).Select;
                        menu.Add(menuItem);
                    }
                    else
                    {
                        var menuItem = new ContextMenuItem("_Run All");
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, false).Run;
                        menu.Add(menuItem);
                        if (debugModeSet != null)
                        {
                            menuItem          = new ContextMenuItem("_Debug All");
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, true).Run;
                            menu.Add(menuItem);
                        }
                        menu.Add(new SeparatorContextMenuItem());
                        foreach (var id in unitTest.TestCases)
                        {
                            var submenu = new ContextMenu();
                            menuItem          = new ContextMenuItem("_Run");
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, false).Run;
                            submenu.Add(menuItem);
                            if (debugModeSet != null)
                            {
                                menuItem          = new ContextMenuItem("_Debug");
                                menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, true).Run;
                                submenu.Add(menuItem);
                            }

                            var    label   = "Test" + id;
                            string tooltip = null;
                            var    test    = NUnitService.Instance.SearchTestById(unitTest.UnitTestIdentifier + id);
                            if (test != null)
                            {
                                var result = test.GetLastResult();
                                if (result != null && result.IsFailure)
                                {
                                    tooltip = result.Message;
                                    label  += "!";
                                }
                            }

                            menuItem          = new ContextMenuItem("_Select in Test Pad");
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, true).Select;
                            submenu.Add(menuItem);

                            var subMenuItem = new ContextMenuItem(label);
                            // if (!string.IsNullOrEmpty (tooltip))
                            //	subMenuItem.TooltipText = tooltip;
                            subMenuItem.SubMenu = submenu;
                            menu.Add(subMenuItem);
                        }
                    }
                }
                menu.Show(ext.Editor, x, y);
            }
Ejemplo n.º 14
0
		internal void ShowDockPopupMenu (Gtk.Widget parent, Gdk.EventButton evt)
		{
			var menu = new ContextMenu ();
			ContextMenuItem citem;

			// Hide menuitem
			if ((Behavior & DockItemBehavior.CantClose) == 0) {
				citem = new ContextMenuItem (Catalog.GetString ("Hide"));
				citem.Clicked += delegate { Visible = false; };
				menu.Add (citem);
			}

			// Auto Hide menuitem
			if ((Behavior & DockItemBehavior.CantAutoHide) == 0 && Status != DockItemStatus.AutoHide) {
				citem = new ContextMenuItem (Catalog.GetString ("Minimize"));
				citem.Clicked += delegate { Status = DockItemStatus.AutoHide; };
				menu.Add (citem);
			}

			if (Status != DockItemStatus.Dockable) {
				// Dockable menuitem
				citem = new ContextMenuItem (Catalog.GetString ("Dock"));
				citem.Clicked += delegate { Status = DockItemStatus.Dockable; };
				menu.Add (citem);
			}

			// Floating menuitem
			if ((Behavior & DockItemBehavior.NeverFloating) == 0 && Status != DockItemStatus.Floating) {
				citem = new ContextMenuItem (Catalog.GetString ("Undock"));
				citem.Clicked += delegate { Status = DockItemStatus.Floating; };
				menu.Add (citem);
			}

			if (menu.Items.Count == 0) {
				return;
			}

			ShowingContextMenu = true;
			menu.Show (parent, evt, () => { ShowingContextMenu = true; });
		}
Ejemplo n.º 15
0
        public MainWindow()
        {
            SnapsToDevicePixels = true;
            Icon      = BitmapFrame.Create(Application.GetResourceStream(new Uri("/Icon.ico", UriKind.Relative)).Stream);
            MinWidth  = 600;
            MinHeight = 480;

            ConfigureWindowStateAndPosition();

            var apiList = new RestlessTreeView <ApiItemModel>();

            grid = new Grid();

            grid.AddColumn(300);
            grid.AddColumn(4);
            grid.AddColumn(1, GridUnitType.Star);

            grid.AddRow(1, GridUnitType.Star);
            grid.Add(apiList, 0, 0);
            grid.AddVerticalSplitter(200, 400);
            var apiListContextMenu = new ContextMenu();

            var addChildApiMenuItem           = apiListContextMenu.Add("Add Child _Api");
            var addChildApiCollectionMenuItem = apiListContextMenu.Add("Add Child Api _Collection");
            var apiDeleteMenuItem             = apiListContextMenu.Add("_Delete");

            apiList.ContextMenu = apiListContextMenu;

            var menu = new Menu();

            var fileMenu             = menu.Add("_File");
            var newApiMenuItem       = fileMenu.Add("New _Api");
            var newApiCollectionItem = fileMenu.Add("New Api _Collection");
            var exportAllMenuItem    = fileMenu.Add("_Export");
            var importMenuItem       = fileMenu.Add("_Import");

            var editMenu      = menu.Add("_Edit");
            var copyMenuItem  = editMenu.Add("_Copy");
            var pasteMenuItem = editMenu.Add("_Paste");

            var content = new DockPanel {
                LastChildFill = true
            };

            content.Add(menu, Dock.Top);
            content.Add(grid);

            Content = content;

            var apiPanel           = new ApiPanel();
            var apiCollectionPanel = new ApiCollectionPanel();

            var treeViewItemStyle = new TreeViewItemStyle();

            treeViewItemStyle.AddSetter(x => x.IsSelected, apiList.Bind(x => x.IsSelected));
            treeViewItemStyle.AddSetter(x => x.IsExpanded, apiList.Bind(x => x.IsExpanded));
            apiList.ItemContainerStyle = treeViewItemStyle;

            this.Bind(x => x.Title).To(this, (window, title) => window.Title = title ?? "");
            this.Bind(x => x.Items).To(apiList, x => x.Items, typeof(Item));
            this.Bind(x => x.DeleteSelectedItem).To(x => apiDeleteMenuItem.Command = x);

            var selectedItemChange        = this.Bind(x => x.SelectedItem).ObserveModelPropertyChange();
            var selectedItemNotNullChange = selectedItemChange.Where(x => x != null);

            selectedItemChange.Where(x => x == null).Subscribe(x => HideContent());
            selectedItemNotNullChange.OfType <ApiModel>().Subscribe(x =>
            {
                apiPanel.Model = x;
                ShowContent(apiPanel);
            });
            selectedItemNotNullChange.OfType <ApiCollectionModel>().Subscribe(x =>
            {
                apiCollectionPanel.Model = x;
                if (x != null)
                {
                    ShowContent(apiCollectionPanel);
                }
                else
                {
                    HideContent();
                }
            });

            this.Bind(x => x.SplitterPosition).Mate(grid.ColumnDefinitions[0], ColumnDefinition.WidthProperty);

            Action <ApiModel> onAddApi = apiModel =>
            {
                Model.SelectedItem = apiModel;
                ((ApiPanel)this.content).InitNew();
            };

            var addChildApi = this.Bind(x => x.AddChildApi);

            addChildApi.To(x => addChildApiMenuItem.Command = x);
            addChildApi.ObserveModelPropertyChange().SelectMany(x => x).Subscribe(onAddApi);

            var addChildApiCollection = this.Bind(x => x.AddChildApiCollection);

            addChildApiCollection.To(x => addChildApiCollectionMenuItem.Command = x);
            addChildApiCollection.ObserveModelPropertyChange().SelectMany(x => x).Subscribe(collectionModel =>
            {
                Model.SelectedItem = collectionModel;
            });

            var addApi = this.Bind(x => x.AddApi);

            addApi.To(x => newApiMenuItem.Command = x);
            addApi.ObserveModelPropertyChange().SelectMany(x => x).Subscribe(onAddApi);
            this.Bind(x => x.AddApiCollection).To(x => newApiCollectionItem.Command = x);

            this.Bind(x => x.Export).To(x => exportAllMenuItem.Command = x);
            this.Bind(x => x.Import).To(x => importMenuItem.Command    = x);
        }
Ejemplo n.º 16
0
            public override void PopupContextMenu(UnitTestLocation unitTest, int x, int y)
            {
                var debugModeSet = Runtime.ProcessService.GetDebugExecutionMode();
                var project      = ext?.DocumentContext?.Project;

                if (project == null)
                {
                    return;
                }
                var menu = new ContextMenu();

                if (unitTest.IsFixture)
                {
                    var menuItem = new ContextMenuItem(GettextCatalog.GetString("_Run All"));
                    menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, false).Run;
                    menu.Add(menuItem);
                    if (debugModeSet != null)
                    {
                        menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Debug All"));
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, true).Run;
                        menu.Add(menuItem);
                    }
                    menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Select in Test Pad"));
                    menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, true).Select;
                    menu.Add(menuItem);
                }
                else
                {
                    if (unitTest.TestCases.Count == 0)
                    {
                        var menuItem = new ContextMenuItem(GettextCatalog.GetString("_Run"));
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, false).Run;
                        menu.Add(menuItem);
                        if (debugModeSet != null)
                        {
                            menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Debug"));
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, true).Run;
                            menu.Add(menuItem);
                        }
                        menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Select in Test Pad"));
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, true).Select;
                        menu.Add(menuItem);
                    }
                    else
                    {
                        var menuItem = new ContextMenuItem(GettextCatalog.GetString("_Run All"));
                        menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, false).Run;
                        menu.Add(menuItem);
                        if (debugModeSet != null)
                        {
                            menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Debug All"));
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier, project, true).Run;
                            menu.Add(menuItem);
                        }
                        menu.Add(new SeparatorContextMenuItem());
                        foreach (var id in unitTest.TestCases)
                        {
                            var submenu = new ContextMenu();
                            menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Run"));
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, project, false).Run;
                            submenu.Add(menuItem);
                            if (debugModeSet != null)
                            {
                                menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Debug"));
                                menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, project, true).Run;
                                submenu.Add(menuItem);
                            }

                            var    label   = "Test" + id;
                            string tooltip = null;
                            var    test    = UnitTestService.SearchTestById(unitTest.UnitTestIdentifier + id);
                            if (test != null)
                            {
                                var result = test.GetLastResult();
                                if (result != null && result.IsFailure)
                                {
                                    tooltip = result.Message;
                                    label  += "!";
                                }
                            }

                            menuItem          = new ContextMenuItem(GettextCatalog.GetString("_Select in Test Pad"));
                            menuItem.Clicked += new TestRunner(unitTest.UnitTestIdentifier + id, project, true).Select;
                            submenu.Add(menuItem);

                            const int maxLabelLength = 80;
                            var       trimmedLabel   = label.Trim();
                            if (trimmedLabel.Length > maxLabelLength)
                            {
                                const char gap           = '\u2026';
                                int        remainsLength = (maxLabelLength - 1) / 2;
                                string     start         = trimmedLabel.Substring(0, remainsLength);
                                string     end           = trimmedLabel.Substring(trimmedLabel.Length - remainsLength, remainsLength);
                                label = $"{start.TrimEnd()}{gap}{end.TrimStart ()}";
                            }

                            var subMenuItem = new ContextMenuItem(label);
                            // if (!string.IsNullOrEmpty (tooltip))
                            //	subMenuItem.TooltipText = tooltip;
                            subMenuItem.SubMenu = submenu;
                            menu.Add(subMenuItem);
                        }
                    }
                }
                // FIXME: enforce public API by casting Control to Gtk.Widget, because of IVT
                menu.Show((Gtk.Widget)ext.Editor, x, y);
            }
Ejemplo n.º 17
0
        /// <summary>
        /// Load settings from the given file.
        /// </summary>
        /// <param name="fileName">file to load settings from</param>
        /// <param name="syncPathList">list with paths to synchronize</param>
        public void LoadJob(string fileName, SyncPathList syncPathList)
        {
            XmlDocument doc = new XmlDocument();

            doc.Load(fileName);

            syncPathList.Clear();
            ContextMenu.Clear();
            bool contextMenuRead = false;

            ContextDblClickIdx = -1;

            foreach (XmlNode node in doc.ChildNodes)
            {
                if ((node.NodeType == XmlNodeType.Element) && (node.Name == "InZync"))
                {
                    if (node.HasChildNodes)
                    {
                        foreach (XmlNode param in node.ChildNodes)
                        {
                            if (param.NodeType == XmlNodeType.Element)
                            {
                                // read paths to synchronize
                                if (param.Name == "SourcePaths")
                                {
                                    foreach (XmlNode pathNode in param.ChildNodes)
                                    {
                                        if (pathNode.Name == "Path")
                                        {
                                            PathPair     pp   = new PathPair();
                                            XmlAttribute attr = pathNode.Attributes["source"];
                                            if (attr != null)
                                            {
                                                pp.Source = attr.Value;
                                                attr      = pathNode.Attributes["destination"];
                                                if (attr != null)
                                                {
                                                    pp.Destination = attr.Value;
                                                    syncPathList.Add(pp);
                                                }
                                            }
                                        }
                                    }
                                }

                                if (param.Name == "ShowLog")
                                {
                                    ShowLogWindow = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "SaveLog")
                                {
                                    SaveLog = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "AppendLog")
                                {
                                    AppendLog = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "LogFile")
                                {
                                    LogFile = param.InnerText;
                                }
                                if (param.Name == "ReadOnly")
                                {
                                    RemoveReadOnlyFlag = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "DirectoriesLikeFiles")
                                {
                                    DirectoriesLikeFiles = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "SubDirectories")
                                {
                                    SubDirectories = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "HiddenFiles")
                                {
                                    ProcessHiddenFiles = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "SystemFiles")
                                {
                                    ProcessSystemFiles = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "TerminateApp")
                                {
                                    TerminateApp = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "RunSilent")
                                {
                                    RunSilent = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "Extensions")
                                {
                                    ExtensionList = param.InnerText;
                                }
                                if (param.Name == "ExcludedExtensions")
                                {
                                    ExcludedExtensionList = param.InnerText;
                                }
                                if (param.Name == "SourceNewer")
                                {
                                    SourceNewer = Int32.Parse(param.InnerText);
                                }
                                if (param.Name == "SourceMissing")
                                {
                                    SourceMissing = Int32.Parse(param.InnerText);
                                }
                                if (param.Name == "DestNewer")
                                {
                                    DestNewer = Int32.Parse(param.InnerText);
                                }
                                if (param.Name == "DestMissing")
                                {
                                    DestMissing = Int32.Parse(param.InnerText);
                                }
                                if (param.Name == "BackupMode")
                                {
                                    BackupMode = bool.Parse(param.InnerText);
                                }
                                if (param.Name == "Template")
                                {
                                    Template = Int32.Parse(param.InnerText);
                                }
                                if (param.Name == "ShowOnlyDifferentFiles")
                                {
                                    ShowOnlyDifferentFiles = bool.Parse(param.InnerText);
                                }

                                // read context menu entries
                                if (param.Name == "ContextMenuEntries")
                                {
                                    contextMenuRead = true;
                                    foreach (XmlNode pathNode in param.ChildNodes)
                                    {
                                        if (pathNode.Name == "ContextMenuEntry")
                                        {
                                            XmlAttribute attr = pathNode.Attributes["caption"];
                                            if (attr != null)
                                            {
                                                string cme = attr.Value;
                                                attr = pathNode.Attributes["file"];
                                                if (attr != null)
                                                {
                                                    cme += "\t" + attr.Value;
                                                    ContextMenu.Add(cme);
                                                    if (pathNode.Attributes["DblClick"] != null)
                                                    {
                                                        ContextDblClickIdx = ContextMenu.Count - 1;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (!contextMenuRead)
            {
                SetContextMenuDefaults(ContextMenu);
            }
        }