def OnRegisterItem(self, event):
"""
Registering item in selected parent.
"""
tree = self.treeCtrlItems
items = tree.GetSelections()
if items:
if tree.GetPyData(items[0]) == 0:
# use the selected group
parentGroupI = items[0]
parentGroupName = tree.GetItemText(parentGroupI)
else:
parentGroupI = tree.GetItemParent(items[0])
parentGroupName = tree.GetItemText(parentGroupI)
else:
parentGroupI = tree.GetRootItem()
parentGroupName = ':'
msg = 'Register new item in "%s", with:\n <name> <URI>' % parentGroupName
dlg = wx.TextEntryDialog(self, msg, 'Register item')
dlg.CentreOnParent()
if dlg.ShowModal() == wx.ID_OK:
try:
itemName, uri = dlg.GetValue().split()
except:
self._log('Invalid arguments, use <name> <URI>', 'error')
else:
if parentGroupName != ':':
itemName = '%s.%s' % (parentGroupName, itemName)
else:
itemName = ':%s' % (itemName)
if self.nsc_register_item(itemName, uri):
label = '%s (%s)' % (dlg.GetValue().split()[0], uri)
itemI = tree.AppendItem(parentGroupI, label)
tree.SetPyData(itemI, 1)
tree.SetItemImage(itemI, self.__idItem)
tree.SetItemImage(itemI, self.__idItem,
wx.TreeItemIcon_Selected)
tree.Expand(parentGroupI)
评论列表
文章目录