def PostInit(self):
logging.debug('{}.AfterInit started'.format(self.name))
UIM = UIManager()
root_ctrl = UIM.get_root_controller()
if not isinstance(root_ctrl, MainWindowController):
raise Exception()
# DetachPane if granpa object has a AuiManager...
parent_uid = UIM._getparentuid(self.uid)
grampa_uid = UIM._getparentuid(parent_uid)
parent = UIM.get(parent_uid)
grampa = UIM.get(grampa_uid)
if isinstance(grampa, MainWindowController):
mgr = wx.aui.AuiManager.GetManager(root_ctrl.view)
if mgr is not None:
mgr.DetachPane(parent.view)
if self.model.pos == -1:
# Appending - Not needed to declare pos
self.model.pos = parent.view.GetToolsCount()
if self.model.pos > parent.view.GetToolsCount():
# If pos was setted out of range for inserting in parent Menu
msg = 'Invalid tool position for ToolBarTool with text={}. Position will be setting to {}'.format(self.model.label, parent.view.GetToolsCount())
logging.warning(msg)
self.model.pos = parent.view.GetToolsCount()
if self.model.bitmap is None:
bitmap = wx.Bitmap()
else:
bitmap = wx.Bitmap(self.model.bitmap)
# TODO: Rever isso
try:
tool = parent.view.InsertTool(self.model.pos, self.model.id,
self.model.label, bitmap,
wx.NullBitmap, self.model.kind,
self.model.help,
self.model.long_help, None
)
except Exception:
msg = 'Error in creating ToolBarTool.'
logging.exception(msg)
raise
if self.model.callback and tool:
root_ctrl.view.Bind(wx.EVT_TOOL, self.model.callback, tool)
parent.view.Realize()
# AtachPane again if granpa object had it detached...
if isinstance(grampa, MainWindowController):
mgr.AddPane(parent.view, parent.view.paneinfo)
mgr.Update()
logging.debug('{}.AfterInit ended'.format(self.name))
评论列表
文章目录