def OnTreeRightClick(self, evt): item, _flags = self.HitTest(evt.GetPosition()) self.currentNode = None self.currentItem = item frame = self.GetFrame() if item: if item != self.GetSelection(): self.SelectItem(item) self.currentNode = self.GetNode(item) if self.currentNode: cm = Menu(frame) registerproc = self.currentNode.moduleinfo( )['serverclass'].Register cm.Add( registerproc, xlt("Register new %s") % self.currentNode.moduleinfo()['name']) cm.Add(self.OnEdit, xlt("Edit registration")) cm.Add(self.OnUnregister, xlt("Remove registration")) if not self.currentNode.settings.get('group'): cm.Add(self.OnAddGroup, xlt("New group")) else: cm = self.GetFrame().registermenu.Dup() if item: menuItem = cm.Add(self.OnDelGroup, xlt("Remove group")) if self.GetChildrenCount(item) > 0: cm.Enable(menuItem, False) else: cm.Add(self.OnAddGroup, xlt("New group")) cm.Popup(evt)
def OnTreeRightClick(self, evt): item, _flags = self.HitTest(evt.GetPosition()) if item and item != self.GetSelection(): self.SelectItem(item) cm = Menu(self.frame) if item: snippet = self.GetNode(item) if snippet.IsGroup(): cm.Add(self.OnRenameSnippet, xlt("Rename"), xlt(("Rename group"))) item = cm.Add(self.OnDelSnippet, xlt("Delete"), xlt(("Delete group"))) for s in self.snippets.values(): if s.parent == snippet.id: cm.Enable(item, False) break else: cm.Add(self.OnReplaceSnippet, xlt("Replace"), xlt(("Replace snippet text"))) cm.Add(self.OnRenameSnippet, xlt("Rename"), xlt(("Rename snippet"))) item = cm.Add(self.OnRevertSnippet, xlt("Revert"), xlt(("Revert snippet to previous text"))) cm.Enable(item, snippet.prevText != None) cm.Add(self.OnDelSnippet, xlt("Delete"), xlt( ("Delete snippet"))) cm.AppendSeparator() cm.Add(self.OnAddGroup, xlt("Add group"), xlt(("Add group"))) cm.Popup(evt)
def OnRightClickAcl(self, evt): cm = Menu(self) cm.Add(self.OnAddAcl, xlt("Add"), xlt("Add user with rights")) sel = self['ACL'].GetSelection() if len(sel) == 1: cm.Add(self.OnEditAcl, xlt("Edit"), xlt("Edit user's acl")) if len(sel): cm.Add(self.OnDelAcl, xlt("Remove"), xlt("Remove user acl")) cm.Popup(evt)
def OnGridRightClick(self, evt): property = self.grid.GetSelection() if property: oid = property.GetName() if oid: name = self.dialog.attribs[oid].name cm = Menu(self.dialog) cm.Add(self.OnDelAttrs, xlt("Remove %s") % name, xlt("Remove attribute \"%s\"") % name) cm.Popup(evt)
def OnLabelRightClick(self, evt): if evt.Row >= 0: self.SelectRow(evt.Row, evt.ControlDown()) rows=self.GetAllSelectedRows() try: rows.remove(len(self.table.rows)) except: pass if self.tableSpecs.keyCols and rows: cm=Menu(self.GetParent()) if len(rows) > 1: cm.Add(self.OnDeleteRows, xlt("Delete rows")) else: cm.Add(self.OnDeleteRows, xlt("Delete row")) cm.Popup(evt)
def OnLoglineRightClick(self, evt): cm = Menu(adm.GetCurrentFrame(self)) sel = self.control.GetSelection() if not sel: sel = [evt.GetIndex()] self.control.SetSelection(sel) cm.Add(self.OnCopy, xlt("Copy"), xlt("Copy line to clipboard")) q = self.log[sel[0]][self.getIndex('query')] if q: cm.Add(self.OnQuery, xlt("Query"), xlt("Execute query")) cm.Add(self.OnLoglinesDclick, xlt("Details"), xlt("Show details")) cm.Popup(evt)
def OnCellRightClick(self, evt): self.GoToCell(evt.Row, evt.Col) self.cmRow=evt.Row self.cmCol=evt.Col colname=self.table.colNames[evt.Col] cd=self.tableSpecs.colSpecs.get(colname) cm=Menu(self.GetParent()) if cd: item=cm.Add(self.OnSetNull, xlt("Set NULL")) if cd.notNull: cm.Enable(item, False) cm.Popup(evt)
def OnItemRightClick(self, evt): if self.node: if hasattr(evt, 'GetIndex'): index = evt.GetIndex() else: index = -1 page = self.pages[self.GetSelection()] if not hasattr(evt, 'page'): evt.page = page if hasattr(page, 'menus'): cm = Menu(self) menus = page.menus for cls in menus: if hasattr(cls, "CheckAvailableOn" ) and not cls.CheckAvailableOn(page): continue cls.OnExecute._classname_ = cls.__name__ item = cm.Add(cls.OnExecute, cls.name, cls.help) if hasattr(cls, "CheckEnabled") and not cls.CheckEnabled(page): cm.Enable(item, False) if cm.GetMenuItemCount(): cm.Popup(evt) elif hasattr(self.node, "OnItemRightClick"): evt.currentPage = page self.node.OnItemRightClick(evt) elif hasattr(self.node, "GetItemNode"): node = self.node.GetItemNode(evt.page, index) if node: node.RefreshVolatile() node.GetProperties() w = adm.GetCurrentFrame(self) cm = w.GetContextMenu(node) w.currentNode = node cm.Popup(evt) w.currentNode = None
def OnItemRightClick(self, evt): if hasattr(self, 'OnCopy'): cm = Menu(self.dialog) cm.Add(self.OnCopy, xlt("Copy"), xlt("Copy")) cm.Popup(evt)
def OnRightClick(self, evt): self.cmRow = evt.GetRow() cm = Menu(self) cm.Add(self.OnDelete, xlt("Delete"), xlt("Delete line")) cm.Popup(evt)