def __init__(self, parent): super(RepoModBox, self).__init__(parent) # Attributes self._list = RepoModList(self) self._config = ConfigDialog.ConfigData() # Singleton Config Obj self._crepo = 0 self._ctrl = ScCommand.SourceController(self) self._repos = self.FindRepos(self._config['projects'].keys()) self._repo_ch = None self._commit = None # Created in __DoLayout self._refresh = None self._update = None self._revert = None # Setup self.__DoLayout() # Event Handlers self.Bind(wx.EVT_BUTTON, lambda evt: self.DoCommit(), self._commit) self.Bind(wx.EVT_BUTTON, lambda evt: self.DoUpdate(), self._update) self.Bind(wx.EVT_BUTTON, lambda evt: self.DoStatusRefresh(), self._refresh) self.Bind(wx.EVT_BUTTON, lambda evt: self.DoRevert(), self._revert) self.Bind(wx.EVT_CHOICE, self.OnChoice, id=ID_REPO_CHOICE) self.Bind(wx.EVT_WINDOW_DESTROY, self.OnDestroy, self) # self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateUI) # Handlers for projects messages sent over editra message bus ed_msg.Subscribe(self.OnProjectAdded, ConfigDialog.MSG_PROJ_ADDED) ed_msg.Subscribe(self.OnProjectRemoved, ConfigDialog.MSG_PROJ_REMOVED) # Do a refresh when first shown wx.CallLater(500, self.DoStatusRefresh)
def GetConfigPanel(self, parent): """Get the configuration panel for this plugin @param parent: parent window for the panel @return: wxPanel """ return ConfigDialog.ConfigNotebook(parent, wx.ID_ANY, ConfigDialog.ConfigData())