def __init__(self,parent=None,configFile=None): remapEvtsToDispatcher(self,self.evtDispatch) DyMaps_xrc.xrcUploadTiles.__init__(self,parent) self.model = M_UploadTiles() self.model.addListener(self.populate) ### Dispatch should contian both model tags (model.TAGS), and widgetNames. self.dispatch = d = {} d['ServerTextCtrl'] = self.__server d['server'] = self.__server d['UserTextCtrl'] = self.__user d['user'] = self.__user d['PasswdTextCtrl'] = self.__passwd d['passwd'] = self.__passwd d['TESTCONN'] = self.verify d['UPLOAD'] = self.run d['DATA'] = self.__dataFile d['DATAOPEN'] = self.__dataFile d['mapConfig'] = self.__dataFile d['checkTiles'] = self.__checkTiles d['checkMap'] = self.__checkMap d['checkIDS'] = self.__checkIDS d['checkOverview'] = self.__checkOverview d['CloseButton'] = self.close if configFile: self.model.mapConfig = configFile self.model.checkMap = True self.model.checkIDS = True self.model.checkTiles = True self.model.checkOverview = True
class C_UploadTiles(DyMaps_xrc.xrcUploadTiles): """Implements the DyMaps Frame""" def __init__(self,parent=None,configFile=None): remapEvtsToDispatcher(self,self.evtDispatch) DyMaps_xrc.xrcUploadTiles.__init__(self,parent) self.model = M_UploadTiles() self.model.addListener(self.populate) ### Dispatch should contian both model tags (model.TAGS), and widgetNames. self.dispatch = d = {} d['ServerTextCtrl'] = self.__server d['server'] = self.__server d['UserTextCtrl'] = self.__user d['user'] = self.__user d['PasswdTextCtrl'] = self.__passwd d['passwd'] = self.__passwd d['TESTCONN'] = self.verify d['UPLOAD'] = self.run d['DATA'] = self.__dataFile d['DATAOPEN'] = self.__dataFile d['mapConfig'] = self.__dataFile d['checkTiles'] = self.__checkTiles d['checkMap'] = self.__checkMap d['checkIDS'] = self.__checkIDS d['checkOverview'] = self.__checkOverview d['CloseButton'] = self.close if configFile: self.model.mapConfig = configFile self.model.checkMap = True self.model.checkIDS = True self.model.checkTiles = True self.model.checkOverview = True def close(self,evtName=None,evt=None): self.Close() def reset(self): self.model.reset() def evtDispatch(self,evtName,evt): evtName,widgetName = evtName.split('_',1) if widgetName in self.dispatch: self.dispatch[widgetName](evtName,evt) else: print "not implemneted:",evtName,widgetName #print evtName,widgetName def populate(self,tag=False): if tag: if tag in self.dispatch: self.dispatch[tag](value=self.model.getByTag(tag)) else: print "Warning: %s, has not been implemented"%tag else: for key,value in self.model: if key in self.dispatch: self.dispatch[key](value=value) else: print "Warning: %s, has not been implemented"%key self.able() def verify(self,evtName=None,evt=None): try: if self.model.verify(): success = wx.MessageDialog(self,"The Connection is Ready!","Success!",style=wx.OK|wx.CENTRE|wx.ICON_INFORMATION) success.ShowModal() else: raise ValueError,'Authenticaion Failed' except: fail = wx.MessageDialog(self,"The Server Name, Usename or Password is invalid!","Failed!",style=wx.OK|wx.CENTRE|wx.ICON_INFORMATION) fail.ShowModal() def run(self,evtName=None,evt=None): try: self.model.verify() self.model.run() except: raise def able(self): pass def __server(self,evtName=None,evt=None,value=None): if evt is not None: self.model.server = self.ServerTextCtrl.GetValue() elif value is not None: self.ServerTextCtrl.SetValue(value) def __user(self,evtName=None,evt=None,value=None): if evt is not None: self.model.user = self.UserTextCtrl.GetValue() elif value is not None: self.UserTextCtrl.SetValue(value) def __passwd(self,evtName=None,evt=None,value=None): if evt is not None: self.model.passwd = self.PasswdTextCtrl.GetValue() elif value is not None: self.PasswdTextCtrl.SetValue(value) def __checkMap(self,evtName=None,evt=None,value=None): if evt: self.model.checkMap = evt.IsChecked() elif value is not None: if self.checkMap.IsChecked() != value: self.checkMap.SetValue(value) if value: self.model.checkOverview = True self.model.checkIDS = True def __checkIDS(self,evtName=None,evt=None,value=None): if evt: self.model.checkIDS = evt.IsChecked() elif value is not None: if self.checkIDS.IsChecked() != value: self.checkIDS.SetValue(value) if not value: self.model.checkMap = False def __checkOverview(self,evtName=None,evt=None,value=None): if evt: self.model.checkOverview = evt.IsChecked() elif value is not None: if self.checkOverview.IsChecked() != value: self.checkOverview.SetValue(value) if not value: self.model.checkMap = False def __checkTiles(self,evtName=None,evt=None,value=None): if evt: self.model.checkTiles = evt.IsChecked() elif value is not None: if self.checkTiles.IsChecked() != value: self.checkTiles.SetValue(value) def __dataFile(self,evtName=None,evt=None,value=None): if evtName is not None: if evtName == 'OnText': if self.model.mapConfig != self.DATA.GetValue(): self.model.mapConfig = self.DATA.GetValue() elif evtName == 'OnButton': filter = 'Map Config (*.yaml)|.yaml' fileDialog = wx.FileDialog(self,message='Choose Map Config File',wildcard=filter) result = fileDialog.ShowModal() if result == wx.ID_OK: self.model.mapConfig = fileDialog.GetPath() else: print "canceled" elif value is not None: if value == False: pass else: if not value == self.DATA.GetValue(): self.DATA.SetValue(value)