Пример #1
0
        private void CreateContextMenu()
        {
            var m = TheContextMenu = new ContextMenu();
            var i = new MenuItem("Jump to source");

            i.Click += (s, e) => { JumpToSourceDoIt(PopupSource); };
            m.MenuItems.Add(i);
            var ieditscope = i = new MenuItem("Edit this scope");

            i.Click += (s, e) => { TheOverlayModel.CurEditing = PopupSource as OverlayScope; };
            m.MenuItems.Add(i);

            var mm           = new MenuItem("Assign style");
            var massignstyle = mm;

            i        = new MenuItem("Assign new style...");
            i.Click += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.AssignNewStyle);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Assign current node style");
            i.Click += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.AssignCurrentNodeStyle);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Change style to new style...");
            i.Click += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.ChangeToNewStyle);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Change style to current node style");
            i.Click += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.ChangeToCurrentNodeStyle);
            mm.MenuItems.Add(i);
            m.MenuItems.Add(mm);

            var mselection = mm = new MenuItem("Selection");

            i        = new MenuItem("Copy");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Copy);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Copy enscoped");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CopyEnscoped);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Cut");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Cut);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Cut enscoped");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CutEnscoped);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Delete");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Delete);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Collect");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Collect);
            mm.MenuItems.Add(i);
            i        = new MenuItem("Collect and enscope");
            i.Click += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CollectEnscoped);
            mm.MenuItems.Add(i);
            m.MenuItems.Add(mm);

            m.Popup += (s, e) => {
                PopupSource          = ObjectAtCursor;
                massignstyle.Enabled = mselection.Enabled = TheOverlayModel.selectionTool.SelItems.Count() > 0;
                ieditscope.Enabled   = (PopupSource is OverlayScope);
            };
        }
Пример #2
0
        private void CreateContextMenu()
        {
            var m = TheContextMenu = new Gtk.Menu();
            var i = new Gtk.MenuItem("Jump to source");

            i.Activated += (s, e) => { JumpToSourceDoIt(PopupSource); };
            m.Add(i);
            i            = new Gtk.MenuItem("Edit this scope");
            i.Activated += (s, e) => { };
            m.Add(i);

            var mm = new Gtk.MenuItem("Assign style");

            i            = new Gtk.MenuItem("Assign new style...");
            i.Activated += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.AssignNewStyle);
            var mmm = new Gtk.Menu();

            mm.Submenu = mmm;
            mmm.Add(i);
            i            = new Gtk.MenuItem("Assign current node style");
            i.Activated += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.AssignCurrentNodeStyle);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Change style to new style...");
            i.Activated += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.ChangeToNewStyle);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Change style to current node style");
            i.Activated += (s, e) => TheOverlayModel.AssignStyle(PdfOverlayModel.AssignStyleType.ChangeToCurrentNodeStyle);
            mmm.Add(i);
            m.Add(mm);

            mm           = new Gtk.MenuItem("Selection");
            mmm          = new Gtk.Menu();
            mm.Submenu   = mmm;
            i            = new Gtk.MenuItem("Copy");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Copy);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Copy enscoped");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CopyEnscoped);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Cut");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Cut);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Cut enscoped");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CutEnscoped);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Delete");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Delete);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Collect");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.Collect);
            mmm.Add(i);
            i            = new Gtk.MenuItem("Collect and enscope");
            i.Activated += (s, e) => TheOverlayModel.PerformCodeBlockOperation(PdfOverlayModel.CodeBlockAction.CollectEnscoped);
            mmm.Add(i);
            m.Add(mm);

            m.PopupMenu += (s, e) => { PopupSource = ObjectAtCursor; };
        }