def __init__(self, project, name, id=None): if id is None: self.id = project.new_id() else: self.id = id self.project = project self.name = name self.items = [] self.change_callback = lambda n: None self.change_item_callback = None self.undo_manager = undo.UndoManager()
def OnInit(self): if USE_INSPECTOR: self.Init() # Check version if wx.VERSION[:3] < MinWxVersion: wx.LogWarning('''\ This version of XRCed may not work correctly on your version of wxWidgets. \ Please upgrade wxWidgets to %d.%d.%d or higher.''' % MinWxVersion) g.undoMan = undo.UndoManager() Manager.init() parser = OptionParser(prog=progname, version='%s version %s' % (ProgName, version), usage='%prog [options] [XRC file]') parser.add_option('-d', '--debug', action='store_true', help='add Debug command to Help menu') parser.add_option('-m', '--meta', action='store_true', dest='meta', help='activate meta-components') parser.add_option('-v', '--verbose', action='store_true', help='verbose messages') # Process command-line arguments options, args = parser.parse_args() if options.debug: set_debug(True) if options.verbose: set_verbose(True) if options.meta: g.useMeta = True import meta Manager.register(meta.Component) Manager.setMenu(meta.Component, 'TOP_LEVEL', 'component', 'component plugin') self.SetAppName(progname) self.ReadConfig() # Add handlers wx.FileSystem.AddHandler(wx.MemoryFSHandler()) self.toolArtProvider = view.ToolArtProvider() wx.ArtProvider.Push(self.toolArtProvider) # Load standard plugins first plugin.load_plugins(os.path.join(g.basePath, 'plugins')) # ... and then from user-defined dirs plugin.load_plugins_from_dirs() # Setup MVP view.create_view() Presenter.init() Listener.Install(view.frame, view.tree, view.panel, view.toolFrame, view.testWin) if args: path = args[0] # Change current directory dir = os.path.dirname(path) if dir: os.chdir(dir) path = os.path.basename(path) if os.path.isfile(path): Presenter.open(path) else: # Future name Presenter.path = path # Force update title Presenter.setModified(False) view.frame.Show() if not g.useAUI: if not g.conf.embedPanel: view.frame.miniFrame.Show() if g.conf.showToolPanel: Listener.toolFrame.Show() return True