def __init__(self, grid): """grid ... the owner grid of the ContactDataTable. """ # This makes it convenient to send the necessary GRIDTABLE* events self.grid = grid wx.grid.PyGridTableBase.__init__(self) self.colLabels = metadata.get_labels() # as the order is guaranteed we can do the following self.getterMethods = metadata.get_getter() self.setterMethods = metadata.get_setter() self.dc = None self.rowLabels = [] self.rowActionLabels = { ACTION.ADD:"Added", ACTION.UPDATE:"Updated", ACTION.DELETE:"Deleted" } logging.debug("Create ContactDataTable") logging.debug("Domain Contacts = %s" % self.dc) observer.subscribe(self._populateTable, pmsg.DATA_DOWNLOADED)
def __subscirbeEvents__(self): observer.subscribe(self.onGroupDeletEvent, pmsg.GROUP_DELETION_DONE)
def subscribe(self): observer.subscribe(self.appendRow, pmsg.CONTACT_ADDED) # interested if contact added observer.subscribe(self.forceRefresh, pmsg.DATA_UPLOADED) # because of label changes observer.subscribe(self.forceRefresh, pmsg.CONTACT_DELETED) # because of label changes observer.subscribe(self.hideRows, pmsg.HIDE_ROWS) # used by search observer.subscribe(self.unhideAll, pmsg.UNHIDE_ROWS) # used by search
def enterApp(self): observer.subscribe(self.app.doExit, pmsg.EXIT_APP) observer.subscribe(self.setProxy, pmsg.SET_PROXY) observer.subscribe(self.alertUser, pmsg.ALERT) self.login() self.downloadContacts() self.downloadGroups() observer.subscribe(self.pubContacts, pmsg.PUB_CONTACT) observer.subscribe(self.addContact, pmsg.ADD_CONTACT) observer.subscribe(self.delContact, pmsg.DEL_CONTACT) observer.subscribe(self.manageGroups, pmsg.MAN_GROUPS) observer.subscribe(self.addGroup, pmsg.GROUP_ADDED) observer.subscribe(self.delGroup, pmsg.GROUP_DELETED) observer.subscribe(self.updGroup, pmsg.GROUP_UPDATED) observer.subscribe(self.doSearch, pmsg.SEARCH) observer.subscribe(self.cancelSearch, pmsg.CANCEL_SEARCH)