def Configure(self, link=None): panel = eg.ConfigPanel(resizable=True) if link is not None: searchItem = link.target else: searchItem = None link = eg.TreeLink(panel.dialog.treeItem) tree = eg.TreeItemBrowseCtrl( panel, self.FilterFunc, #searchFunc, selectItem=searchItem) tree.SetFocus() panel.sizer.Add(panel.StaticText(self.text.text1), 0, wx.BOTTOM, 5) panel.sizer.Add(tree, 1, wx.EXPAND) while panel.Affirmed(): treeItem = tree.GetSelection() if treeItem.IsOk(): obj = tree.GetPyData(treeItem) if self.IsSelectableItem(obj): link.SetTarget(obj) panel.SetResult(link) continue eg.MessageBox(self.text.cantSelect, parent=panel)
def AskDelete(self): allItems = self.GetAllItems() if eg.config.confirmDelete: count = len(allItems) - 1 if count > 0: mesg = eg.text.General.deleteManyQuestion % str(count) else: mesg = eg.text.General.deleteQuestion answer = eg.MessageBox( mesg, eg.APP_NAME, wx.NO_DEFAULT | wx.YES_NO | wx.ICON_EXCLAMATION) if answer == wx.ID_NO: return False dependants = self.GetDependantsOutside(allItems) if len(dependants) > 0: answer = eg.MessageBox( eg.text.General.deleteLinkedItems, eg.APP_NAME, wx.NO_DEFAULT | wx.YES_NO | wx.ICON_EXCLAMATION) return answer == wx.ID_YES return True
def onPort(evt): strng = evt.GetString() self.port = int(strng[3:]) - 1 self.ConnectPort() global tmp_bType tmp_bType = self.SelectBoard() bTypeCtrl.SetLabel(BOARDS[tmp_bType][0]) ccCtrl.SetLabel(BOARDS[tmp_bType][1]) panel.sizer.Layout() if tmp_bType == "": eg.MessageBox(text.message, text.idProblem, parent = panel) SetDynSizer(tmp_initState, tmp_bType) evt.Skip()
def CheckMultiload(self): if not self.checkMultiLoad: return True info = self.resultData if not info: return True if info.canMultiLoad: return True if any((plugin.info.path == info.path) for plugin in eg.pluginList): eg.MessageBox(Text.noMultiload, Text.noMultiloadTitle, style=wx.ICON_EXCLAMATION) return False else: return True
def AskDelete(self): actionItemCls = self.document.ActionItem def SearchFunc(obj): if obj.__class__ == actionItemCls: if obj.executable and obj.executable.plugin == self.executable: return True return None if self.root.Traverse(SearchFunc) is not None: eg.MessageBox(eg.text.General.deletePlugin, eg.APP_NAME, wx.NO_DEFAULT | wx.OK | wx.ICON_EXCLAMATION) return False if not TreeItem.AskDelete(self): return False return True
def DisplayError(self, errorText): eg.MessageBox(errorText, style=wx.ICON_EXCLAMATION | wx.OK, parent=self)