public void Initalize(MainWindow window, MenuItem treerebuild, PropertiesView propertiesView) { this.window = window; this.propertiesView = propertiesView; menu = new Menu (); addmenu = new Menu(); treeadd = new MenuItem("Add"); treeadd.Submenu = addmenu; treeaddseperator = new SeparatorMenuItem (); treenewitem = new MenuItem ("New Item..."); treenewitem.ButtonPressEvent += delegate(object o, ButtonPressEventArgs args) { menu.Popdown(); window.OnNewItemActionActivated(o, args); }; treenewfolder = new MenuItem ("New Folder..."); treenewfolder.ButtonPressEvent += delegate(object o, ButtonPressEventArgs args) { menu.Popdown(); window.OnNewFolderActionActivated(o, args); }; treeadditem = new MenuItem ("Existing Item..."); treeadditem.ButtonPressEvent += window.OnAddItemActionActivated; treeaddfolder = new MenuItem ("Existing Folder..."); treeaddfolder.ButtonPressEvent += window.OnAddFolderActionActivated; treerename = new MenuItem ("Rename"); treerename.Activated += window.OnRenameActionActivated; treerenameseparator = new SeparatorMenuItem(); treedelete = new MenuItem ("Delete"); treedelete.Activated += window.OnDeleteActionActivated; treeopenfile = new MenuItem ("Open"); treeopenfile.Activated += delegate { List<TreeIter> iters; List<string> ids; GetSelectedTreePath(out iters, out ids); if (ids.Count != 1) return; string start = openedProject; if(ids[0] != ID_BASE) start = window._controller.GetFullPath(GetPathFromIter(iters[0])); #if LINUX Process.Start("mimeopen", "-n " + start); #else Process.Start(start); #endif }; treeopenfilelocation = new MenuItem ("Open Item Directory"); treeopenfilelocation.Activated += delegate { List<TreeIter> iters; List<string> ids; GetSelectedTreePath(out iters, out ids); if(ids[0] != ID_BASE) Process.Start(System.IO.Path.GetDirectoryName(window._controller.GetFullPath(GetPathFromIter(iters[0])))); else Process.Start(System.IO.Path.GetDirectoryName(window._controller.GetFullPath(""))); }; addmenu.Add (treenewitem); addmenu.Add (treenewfolder); addmenu.Add (new SeparatorMenuItem ()); addmenu.Add (treeadditem); addmenu.Add (treeaddfolder); menu.Add (treeopenfile); menu.Add (treeadd); menu.Add (treeaddseperator); menu.Add (treeopenfilelocation); menu.Add (treerebuild); menu.Add (new SeparatorMenuItem ()); menu.Add (treerename); menu.Add (treerenameseparator); menu.Add (treedelete); }
static void DeactivateMenu(object sender, EventArgs args) { Gtk.Menu menu = (Gtk.Menu)sender; menu.Popdown(); }
private void treeviewContextMenu() { menuCtx = new Menu (); Gtk.MenuItem myItem; if(genericWinContextMenu == Constants.ContextMenu.EDITDELETE) { myItem = new MenuItem ( Catalog.GetString("Edit selected") ); myItem.Activated += on_edit_selected_clicked; menuCtx.Attach( myItem, 0, 1, 0, 1 ); myItem = new MenuItem ( Catalog.GetString("Delete selected") ); myItem.Activated += on_delete_selected_clicked; menuCtx.Attach( myItem, 0, 1, 1, 2 ); } else if(genericWinContextMenu == Constants.ContextMenu.DELETE) { myItem = new MenuItem ( Catalog.GetString("Delete selected") ); myItem.Activated += on_delete_selected_clicked; menuCtx.Attach( myItem, 0, 1, 0, 1 ); } else { //don't show nothing if there are no options menuCtx.Popdown(); return; } menuCtx.Popup(); menuCtx.ShowAll(); }