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 onKind(evt=None): enable = kindCtrl.GetSelection() < 2 labels[2].Enable(enable) linkCtrl2.Enable(enable) gosubCtrl2.Enable(enable) if not enable: linkCtrl2.textBox.textCtrl.ChangeValue("") linkCtrl2.treeLink = eg.TreeLink( eg.Utils.GetTopLevelWindow(panel).treeItem) linkCtrl2.macro = None gosubCtrl2.SetValue(False) if evt: evt.Skip()
def __init__(self, parent, label, title, mesg, treeLink=None): if treeLink is None: treeLink = eg.TreeLink(eg.Utils.GetTopLevelWindow(parent).treeItem) self.treeLink = treeLink self.macro = treeLink.target if self.macro is None: macroName = "" else: macroName = self.macro.name self.title = title self.mesg = mesg wx.Window.__init__(self, parent, -1) self.textBox = eg.StaticTextBox(self, -1, macroName, size=(200, -1)) self.button = wx.Button(self, -1, label) self.Bind(wx.EVT_BUTTON, self.OnButton) sizer = wx.BoxSizer(wx.HORIZONTAL) sizer.Add(self.textBox, 1, wx.EXPAND | wx.ALIGN_CENTER_VERTICAL) sizer.Add(self.button, 0, wx.LEFT, 5) self.SetSizer(sizer) self.Bind(wx.EVT_SIZE, self.OnSize) self.Bind(wx.EVT_SET_FOCUS, self.OnSetFocus) self.Layout()