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)
예제 #2
0
    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())