def showDataWindow(self): if Utils.haveGRASS_: self.datawin = DataWindow() self.mdiArea.addSubWindow(self.datawin) self.datawin.show() else: print "I can't do it. You don't have pygrass" from gui.datawindow import DataWindow self.datawin = DataWindow() self.mdiArea.addSubWindow(self.datawin) self.datawin.show()
class SashaMainWindow(QMainWindow, Ui_SashaMainWindow): def __init__(self, arg): QMainWindow.__init__(self) self.arg_ = arg self.setupUi(self) self.setCentralWidget(self.mdiArea) #self.setLayout(self.verticalLayout) # self.navwin = NavigationWindow() # self.mdiArea.addSubWindow(self.navwin) # self.navwin.show() #self.prefsWindow_ = PreferencesWindow() ##self.actionT_LonLat.triggered.connect(self.showNavWindow) self.actionM_Navigation.triggered.connect(self.showNavWindow) self.actionM_Query.triggered.connect(self.showQueryWindow) self.actionM_GPS.triggered.connect(self.showGpsWindow) self.actionM_Data.triggered.connect(self.showDataWindow) self.actionM_Import.triggered.connect(self.showImportWindow) self.actionM_Preferences.triggered.connect(self.showPrefsWindow) self.actionM_Map.triggered.connect(self.showMapWindow) self.actionM_Ossim.triggered.connect(self.showOssimWindow) #self.connect(self.actionLonLat, SIGNAL("triggered()"), self.LonLatunceckbuttons) # connection self.navwin = None self.joy = logJ() #self.hw = HWS() self.gpsx = GpsT() #self.gt = gt(self.setcmd) # #self.lineEdit2 = QLineEdit(self.tab_6) #self.lineEdit2.setObjectName(_fromUtf8("lineEdit2")) #self.compassLayout.addWidget(self.lineEdit2) self.initWidgets() self.connectSignals() # #self.mainTabWidget.setCurrentIndex(0) def showNavWindow(self): self.navwin = NavigationWindow() self.mdiArea.addSubWindow(self.navwin) self.navwin.show() def showQueryWindow(self): self.querywin = QueryWindow() self.mdiArea.addSubWindow(self.querywin) self.querywin.show() def showGpsWindow(self): self.gpswin = GpsWindow() self.mdiArea.addSubWindow(self.gpswin) self.gpswin.show() def showDataWindow(self): if Utils.haveGRASS_: self.datawin = DataWindow() self.mdiArea.addSubWindow(self.datawin) self.datawin.show() else: print "I can't do it. You don't have pygrass" from gui.datawindow import DataWindow self.datawin = DataWindow() self.mdiArea.addSubWindow(self.datawin) self.datawin.show() def showImportWindow(self): self.impwin = ImportWindow(self.mdiArea) #self.impwin.setAttribute(Qt.WA_DeleteOnClose, True) self.mdiArea.addSubWindow(self.impwin) #self.mdiArea.resize(752,497) self.impwin.show() def showPrefsWindow(self): self.prefwin = PreferencesWindow() self.mdiArea.addSubWindow(self.prefwin) self.prefwin.show() def showMapWindow(self): self.mapwin = MapWindow() self.mdiArea.addSubWindow(self.mapwin) self.mapwin.show() def showOssimWindow(self): self.osmwin = OssimWindow() self.mdiArea.addSubWindow(self.osmwin) self.osmwin.show() # def showExportWindow(self): # self.expwin = KmlWindow() # self.mdiArea.addSubWindow(self.expwin) # self.expwin.show() def initWidgets(self): if Utils.haveGRASS_ == 0: #self.mainTabWidget.removeTab(1) self.actionT_Grass.setEnabled(False) self.actionT_Data.setEnabled(False) self.actionT_Grass.setVisible(False) self.actionT_Data.setVisible(False) self.actionT_Grassshell.setEnabled(False) self.actionT_Grassshell.setVisible(False) else: self.grasswin = GrassWindow() self.datawin = DataWindow() ###FIXME REVIEW ### self.vectors = VectorList() ### self.rasters = RasterList() ### vect = len(self.vectors) ### rast = len(self.rasters) ### numrow = max(vect,rast) ### self.layerTable.setColumnCount(2) ### self.layerTable.setRowCount(numrow) ### self.layerTable.setEditTriggers(QTableWidget.NoEditTriggers) ### for i in range(rast): ### item = QTableWidgetItem(self.rasters[i]) ### item.setTextAlignment(Qt.AlignCenter) ### item.setCheckState(Qt.Unchecked) ### self.layerTable.setItem(i, 0, item) ### for i in range(vect): ### item = QTableWidgetItem(self.vectors[i]) ### item.setTextAlignment(Qt.AlignCenter) ### item.setCheckState(Qt.Unchecked) ### self.layerTable.setItem(i, 1, item) self.gcmd.setEditable(1) self.gcmd.setAutoCompletion(1) commandlist = self.commandlist() self.gcmd.addItems(commandlist) self.gcmd.setEditable(1) self.gcmd.setAutoCompletion(1) self.gt = gt(self.setcmd) # ##FME """ self.grassvectoroption.hide() # Hide/Show Slider self.actionHideSlider.setChecked(True) self.actionHideSpinbox.setChecked(True) self.actionHideStepTool.setChecked(True) self.actionHide_place_position.setChecked(True) """ # spyderlib if self.arg_ == '-d': from spyderlib.widgets import internalshell dock = QDockWidget("Python Shell") self.pythonshell = internalshell.InternalShell(dock, namespace=globals(),commands=[], multithreaded=False) dock.setWidget(self.pythonshell) self.addDockWidget(Qt.BottomDockWidgetArea, dock) #self.show() def connectSignals(self): # Hide Panel self.connect(self.actionHideSlider, SIGNAL("triggered()"), self.hidetool) #self.connectZoomSignals() #self.connectPlaceSignals() self.connectActionSignals() # Epsg search-tool #self.connect(self.actionEpsg, SIGNAL("triggered()"), self.SEpsg) # Geonames sqlite DB # Vector GeoTransform ##self.connect(self.actionVectorOp, SIGNAL("triggered()"), self.Geom) # Exit QApp #self.connect(self.actionExit, SIGNAL("triggered()"), qApp, SLOT("quit()")) ##print 'here' self.connect(self.actionT_Exit, SIGNAL("triggered()"), self.quitAll) ##MV to grass window """ self.connect(self.getlisttoquery, SIGNAL("clicked()"),self.getrasterstate) self.connect(self.getlisttoquery, SIGNAL("clicked()"),self.getvectorstate) self.connect(self.gcmdexec, SIGNAL("clicked()"),self.commandlist) self.connect(self.gcmd, SIGNAL("currentIndexChanged(int)"), self.selectcmd) self.connect(self.gcmdexec, SIGNAL("clicked()"), self.startstopGt) self.connect(self.gcmdexec, SIGNAL("clicked()"), self.stopstartGt) # self.connect(self.update, SIGNAL("clicked()"),self.aggiorna) # self.connect(self.getlisttoquery, SIGNAL("clicked()"),self.getrasterstate) # self.connect(self.getlisttoquery, SIGNAL("clicked()"),self.getvectorstate) # self.connect(self.gcmdexec, SIGNAL("clicked()"),self.commandlist) """ def connectPlaceSignals(self): # Place Model (send position to save kml model) #xprint "here" self.connect(self.Lon, SIGNAL("textChanged(QString)"), self.placemodel.setLonValue) self.connect(self.Lat, SIGNAL("textChanged(QString)"), self.placemodel.setLatValue) self.connect(self.RollSpinBox, SIGNAL("valueChanged(double)"), self.placemodel.setChangeRoll) self.connect(self.PitchSpinBox, SIGNAL("valueChanged(double)"), self.placemodel.setChangePitch) self.connect(self.HandlingSpinBox, SIGNAL("valueChanged(double)"), self.placemodel.setChangeHead) self.connect(self.ZoomSpinBox, SIGNAL("valueChanged(double)"), self.placemodel.setChangeZoom) self.connect(self.RangeSpinBox, SIGNAL("valueChanged(double)"), self.placemodel.setChangeRange) self.connect(self.actionModel, SIGNAL("triggered()"), self.modeldialog) #FIXME # # Place Model (send position to save kml model) # self.connect(self.w.Lon, SIGNAL("textChanged(QString)"), # self.placemodel.setLonValue) # self.connect(self.w.Lat, SIGNAL("textChanged(QString)"), # self.placemodel.setLatValue) # self.connect(self.w.RollSpinBox, SIGNAL("valueChanged(double)"), # self.placemodel.setChangeRoll) # self.connect(self.w.PitchSpinBox, SIGNAL("valueChanged(double)"), # self.placemodel.setChangePitch) # self.connect(self.w.HandlingSpinBox, SIGNAL("valueChanged(double)"), # self.placemodel.setChangeHead) # self.connect(self.w.ZoomSpinBox, SIGNAL("valueChanged(double)"), # self.placemodel.setChangeZoom) # self.connect(self.w.RangeSpinBox, SIGNAL("valueChanged(double)"), # self.placemodel.setChangeRange) # self.connect(self.w.actionModel, SIGNAL("triggered()"), # self.modeldialog) # ACTIONS # GPS def connectActionSignals(self): self.connectGpsActions() #self.connectLonLatActions() #FME self.connectJoystickActions() self.connectHwActions() ###self.connectPositonActions() self.connect(self.actionT_Broadcast, SIGNAL("triggered()"), self.onTActionBroadCast) self.connect(self.actionT_LonLat, SIGNAL("triggered()"), self.onTActionLonLat) ##actionT_Prefs actionT_GVrt self.connect(self.actionT_Prefs, SIGNAL("triggered()"), self.showPreferences) def connectGpsActions(self): #FME self.connect(self.actionT_GPS, SIGNAL("triggered()"), self.startstopgpsx) self.connect(self.actionT_GPS, SIGNAL("triggered()"), self.GPSunceckbuttons) #FME self.connect(self.actionT_GPS, SIGNAL("triggered()"), self.stopstartgpsx) #self.connect(self.actionNMEA, SIGNAL("triggered()"), # self.GpsHandling) #self.connect(self.actionGPS, SIGNAL("triggered()"), # self.GpsHandling) def connectJoystickActions(self): # Joistick self.connect(self.actionJoystick, SIGNAL("triggered()"), self.Joyunceckbuttons) self.connect(self.actionJoystick, SIGNAL("triggered()"), self.startstopjoy) self.connect(self.actionJoystick, SIGNAL("triggered()"), self.stopstartjoy) def connectHwActions(self): # HW self.connect(self.actionT_HW, SIGNAL("triggered()"), self.Serialunceckbuttons2) self.connect(self.actionT_HW, SIGNAL("triggered()"), self.stopstartHW) self.connect(self.actionT_HW, SIGNAL("triggered()"), self.startstopHW) self.connect(self.actionDB_setting, SIGNAL("triggered()"), self.pgsetting) self.connect(self.actionDataexp, SIGNAL("triggered()"), self.processdata) #FME """ self.connect(self.actionData, SIGNAL("triggered()"), self.processdata) self.connect(self.renderoptions, SIGNAL("clicked()"), self.getRenderOptions) self.connect(self.renderoptions, SIGNAL("clicked()"), self.showrenderoptions) """ #moving to nav """ def connectPositonActions(self): # Send Position self.connect(self.SendPosition, SIGNAL("clicked()"), self.SetLonLat) self.connect(self.SendPosition, SIGNAL("clicked()"), self.SetJoyCoords) self.connect(self.SendPosition, SIGNAL("clicked()"), self.ResetPosition) self.connect(self.RollSpinBox, SIGNAL("valueChanged(double)"), self.kmlview.setChangeRoll) self.connect(self.PitchSpinBox, SIGNAL("valueChanged(double)"), self.kmlview.setChangePitch) self.connect(self.HandlingSpinBox, SIGNAL("valueChanged(double)"), self.kmlview.setChangeHead) self.connect(self.ZoomSpinBox, SIGNAL("valueChanged(double)"), self.kmlview.setChangeZoom) self.connect(self.RangeSpinBox, SIGNAL("valueChanged(double)"), self.kmlview.setChangeRange) self.connect(self.actionSavekml, SIGNAL("triggered()"), self.kmldialog) """ def showPreferences(self): self.prefsWindow_.show() def processdata(self): self.datawin.show() def dataprocess(self): self.DataW.show() #self.compass.show() def GrassShell(self): if Utils.haveGRASS_ != 0: self.Gshell.show() def kmldialog(self): self.kmlview.show() def SEpsg(self): #self.searchepsg = SearchEpsg() self.epsgWindow.show() def Geom(self): self.vectoroperation.show() def pgsetting(self): self.pgconn = PgConn() self.pgconn.show() def worningmessage(self,text): self.worn = WarnMsgWindow() self.worn.label.setText(text) self.worn.show() # def showPreference(self): # self.preferencesetting = PreferencesWindow() # def selectcmd(self,index): #global setcmd self.setcmd = self.w.gcmd.itemText(index) return self.setcmd def addLayer(self): count = self.layerTable.rowCount() self.rasterCombo.clear() for j in xrange(1): for i in xrange(count): cell = self.layerTable.item(i,j) if cell and cell.checkState() == 2: self.rasterCombo.addItem(cell.text()) # cell = self.layerTable.item(i, 0) # if cell.checkState() == 2: # while 1: # try: # s = read_command('r.what', input=cell.text(), east_north=lonlat) def addRasterLayer(self): try: pp = str(parseOutputconf()['pport']) dp = str(parseOutputconf()['dport']) host = str(parseOutputconf()['host']).split() #print host, dp, pp for item in self.layerTable.selectedItems(): lname = item.text() #print host for i in host : #print i try: run_command('./grass_script/r.planet.py', flags = 'a', map = lname, host = str(i), dport = dp, pport = pp ) except IOError: time.sleep(0.1) except IOError: time.sleep(0.1) print 'add', lname def removeraster(self): while 1: try: run_command('r.planet.py', flags = 'r', map = inputR, host = str(parseOutputconf()['host']), dport = parseOutputconf()['dport'], pport = parseOutputconf()['pport']) break except IOError: time.sleep(0.1) print 'removed', inputR def addvector(self): database_name = parseOutputconf()['spatialitedb'] print database_name while 1: try: print inputV mapset = getEnv()['MAPSET'] #instruction = "v.planet.py -a map='%s'@'%s' brush=111,111,111 pen=111,111,111 size=1,1 fill=0 " % (inputV, mapset) #print instruction #os.system(instruction) #PointSize = str(parseOutputconf()['PointSize']) #LineWidth = str(parseOutputconf()['LineWidth']) #PenColor = str(parseOutputconf()['PenColor']) #BrushColor = str(parseOutputconf()['BrushColor']) Thickness = parseOutputconf()['Thickness'] Fill = parseOutputconf()['Fill'] PointSize = self.w.PointSize.text() LineWidth = self.w.LineWidth.value() PenColor = self.w.PenColor.text() BrushColor = self.w.BrushColor.text() run_command('v.planet.py', flags = 'a', map = str(inputV)+'@'+str(mapset), host = str(parseOutputconf()['host']), dport = parseOutputconf()['dport'], pport = parseOutputconf()['pport'], brush = BrushColor, pen = PenColor, size = PointSize, fill = Fill) break except IOError: time.sleep(0.2) print 'add', inputV def removevector(self): while 1: try: #mapsets = read_command('g.mapsets', flags ='l') #mapsets.replace('\n','').split() #for i in mapsets : # print inputV+str(i) # run_command('v.planet.py', flags = 'r', map = inputV+'@'+str(i), dport = 8000, pport = 7000) mapset = getEnv()['MAPSET'] run_command('v.planet.py', flags = 'r', map = str(inputV)+'@'+str(mapset), host = str(parseOutputconf()['host']), dport = parseOutputconf()['dport'], pport = parseOutputconf()['pport']) time.sleep(0.1) break except IOError: time.sleep(0.1) print 'removed', inputV def selectraster(self,index): inputR = self.rasterCombo.itemText(index) return inputR def selectvector(self,index): global inputV inputV = self.w.GrassVLayer.itemText(index) return inputV def refreshlayer(self): vector = VectorList() raster = RasterList() self.GrassRLayer.clear() self.GrassVLayer.clear() self.GrassRLayer.addItems(raster) self.GrassVLayer.addItems(vector) def showrenderoptions(self): if self.renderoptions.isChecked(): self.grassvectoroption.show() else : self.grassvectoroption.hide() def getRenderOptions(self): PointSize = self.w.PointSize.text() LineWidth = self.w.LineWidth.value() PenColor = self.w.PenColor.text() BrushColor = self.w.BrushColor.text() #Tikchness = self.w.Tikchness.text() print PointSize, LineWidth, PenColor, BrushColor def commandlist(self): grassCmd = [] grassCmd = GetGRASSCmds() #grassCmd.append(grassCmds) #grassCmds = self.GetGRASSCmds(bin = False) #grassCmd.append(grassCmds) return grassCmd # Refresh SQLite def setplacezonecoords(self,index): Placename = self.placezone.itemText(index) st = unicode(Placename) st = st.split(' ') try : lat = st[-2] lon = st[-1] self.Lon.setText(lon) self.Lat.setText(lat) except : pass def gettablelist(self): #database_name = sqlitedb database_name = parseOutputconf()['spatialitedb'] #xprint database_name db_connection = None try : db_connection = sqlite3.connect(database_name) except : self.worningmessage('spatialitedb not found') if db_connection is not None: db_cursor = db_connection.cursor() listatabelle = db_cursor.execute("SELECT name FROM sqlite_master where type = 'table';") tabelle = listatabelle.fetchall() tablelist = [] for i in tabelle: tablelist.append(i[0]) db_connection.commit() tablelist.sort() return tablelist def SEpsg(self): self.searchepsg = SearchEpsg() self.searchepsg.show() # Quit Application def quitAll(self): print "Good Bye, PlanetSasha" qApp.quit() def Geom(self): self.vectoroperation.show() def aggiorna(self): newlon = str(self.Lon.text()) newlat = str(self.Lat.text()) #''' try : if self.ViewType == 'LookAt': newlon = str(self.lookatLon.text()) newlat = str(self.lookatLat.text()) #xprint 'query mode set to LookAt' except : print 'query mode set to eye' #xprint #''' self.longitude.setText(newlon) self.latitude.setText(newlat) def getrasterstate(self): raster = RasterList() rast = len(raster) rastertoquery = [] valori = [] newlon = str(self.longitude.text()) newlat = str(self.latitude.text()) lonlat = str(newlon)+' '+str(newlat) f = tempfile.NamedTemporaryFile(delete=False) coordsfile = f.name f.write(lonlat) f.flush() f.close while 1: try: c = read_command('m.proj', input=coordsfile, flags='i') break except IOError: time.sleep(0.1) os.unlink(f.name) lonlat = parse_key_val(c,'\t') lonlat = str(lonlat) lonlat = lonlat.replace('{','') lonlat = lonlat.replace('}','') lonlat = lonlat.replace("'",'') lonlat = lonlat.replace(':','') lonlat = lonlat.replace('|',' ') lonlat = lonlat.split(' ') lonlat = str(lonlat[0])+','+str(lonlat[1]) htmlquery = [] html = """<TABLE cellpadding="4" style="border: 1px solid \ 000000; border-collapse: collapse;" border="1"><TR><TD>Layer</TD>\ <TD>Values</TD>""" htmlquery.append(html) for i in range(rast): cell = self.layerTable.item(i, 0) if cell.checkState() == 2: while 1: try: s = read_command('r.what', input=cell.text(), east_north=lonlat) break except IOError: time.sleep(0.1) attr = str(s) attr = attr.replace("|",' ') attr = attr.replace('\n',' ') attr = attr.split(':') attr = str(attr) attr = attr.replace("'",'') attr = attr.replace('"','') attr = attr.replace('[','') attr = attr.replace(']','') results = str(cell.text())+' : '+attr htmlvalue = '<TR><TD>%s</TD><TD>%s</TD>' % (cell.text() ,attr) htmlquery.append(htmlvalue) rastertoquery.append(results) htmlend = """</TR></TABLE>""" htmlquery.append(htmlend) rastertoquery = str(rastertoquery) rastertoquery = rastertoquery.replace("'",'') rastertoquery = rastertoquery.split(',') rastertoquery = str(rastertoquery) rastertoquery = rastertoquery.replace('[','') rastertoquery = rastertoquery.replace(']','') htmlquery = str(htmlquery) htmlquery = htmlquery.replace("', u'",'') htmlquery = htmlquery.replace("']",'') htmlquery = htmlquery.replace("['",'') htmlquery = htmlquery.replace("', '",'') self.QueryResultsRaster.setText(htmlquery) #xprint rastertoquery def getvectorstate(self): vector = VectorList() vect = len(vector) vectortoquery = [] newlon = str(self.longitude.text()) newlat = str(self.latitude.text()) lonlat = str(newlon)+' '+str(newlat) f = tempfile.NamedTemporaryFile(delete=False) coordsfile = f.name f.write(lonlat) f.flush() f.close while 1: try: c = read_command('m.proj', input=coordsfile, flags='i') break except IOError: time.sleep(0.1) os.unlink(f.name) lonlat = parse_key_val(c,'\t') lonlat = str(lonlat) lonlat = lonlat.replace('{','') lonlat = lonlat.replace('}','') lonlat = lonlat.replace("'",'') lonlat = lonlat.replace(':','') lonlat = lonlat.replace('|',' ') lonlat = lonlat.split(' ') lonlat = str(lonlat[0])+','+str(lonlat[1]) htmlquery = [] html = """<TABLE cellpadding="4" style="border: 1px solid \ 000000; border-collapse: collapse;" border="1"><TR>\ <TD>Layer</TD><TD>Values</TD>""" htmlquery.append(html) for i in range(vect): cell = self.layerTable.item(i, 1) if cell.checkState() == 2: while 1: try: s = read_command('v.what', map=cell.text(), east_north=lonlat) break except IOError: time.sleep(0.1) attr = parse_key_val(s,':') attr = str(attr) attr = attr.replace('{','') attr = attr.replace('}','') attr = attr.replace("'",'') attr = attr.replace(': None','') htmlvalue = '<TR><TD>%s</TD><TD>%s</TD>' % (cell.text() ,attr) htmlquery.append(htmlvalue) #xprint attr htmlend = """</TR></TABLE>""" htmlquery.append(htmlend) htmlquery = str(htmlquery) htmlquery = htmlquery.replace("', u'",'') htmlquery = htmlquery.replace("']",'') htmlquery = htmlquery.replace("['",'') htmlquery = htmlquery.replace("', '",'') htmlquery = htmlquery.replace(",",'<BR>') self.QueryResultsVector.setText(str(htmlquery)) # Set Toolbar Action def GPSunceckbuttons(self): Utils.preferences().setSettings('actionGPS',self.actionT_GPS.isChecked()) self.actionT_LonLat.setChecked(False) if Utils.haveGRASS_ != 0: self.actionT_Grass.setChecked(False) #TBD """ if self.actionJoystick.isChecked(): self.joy.stop() self.actionJoystick.setChecked(False) """ if self.actionT_HW.isChecked(): self.hw.stop() self.actionT_HW.setChecked(False) #if self.actionSerial.isChecked(): #renamed from LonLatunceckbuttons def onTActionLonLat(self): checked = not self.actionT_LonLat.isChecked() self.actionT_Broadcast.setChecked(checked) Utils.preferences().setSettings('actionLonLat', checked ) if self.actionT_GPS.isChecked(): self.gpsx.stop() self.actionT_GPS.setChecked(False) if Utils.haveGRASS_ != 0: self.actionT_Grass.setChecked(False) #if self.actionJoystick.isChecked(): # self.joy.stop() # self.actionJoystick.setChecked(False) if self.actionT_HW.isChecked(): self.hw.stop() self.actionT_HW.setChecked(False) #renamed from serialunceckbuttons def onTActionBroadCast(self): checked = self.actionT_Broadcast.isChecked() print checked self.actionT_Broadcast.setChecked(checked) Utils.preferences().setSettings('actionBroadcast', checked ) self.actionT_GPS.setChecked(False) self.actionT_LonLat.setChecked(False) if Utils.haveGRASS_ != 0: self.actionT_Grass.setChecked(False) #self.actionJoystick.setChecked(False) self.actionT_HW.setChecked(False) if self.navwin: self.navwin.toogleBroadCast(self.actionT_Broadcast.isChecked()) else: print 'nav win not created' def Grassunceckbuttons(self): if self.actionGPS.isChecked(): self.gpsx.stop() self.actionGPS.setChecked(False) self.actionLonLat.setChecked(False) if self.actionJoystick.isChecked(): self.joy.stop() self.actionJoystick.setChecked(False) if self.actionHW.isChecked(): self.hw.stop() self.actionHW.setChecked(False) def Joyunceckbuttons(self): self.actionGPS.setChecked(False) self.actionLonLat.setChecked(False) if Utils.haveGRASS_ != 0: self.actionGrass.setChecked(False) self.actionHW.setChecked(False) def Serialunceckbuttons2(self): self.actionGPS.setChecked(False) self.actionLonLat.setChecked(False) if Utils.haveGRASS_ != 0: self.actionGrass.setChecked(False) def startstopjoy(self): if self.actionJoystick.isChecked(): self.joy = logJ() self.joy.start() #xprint 'i am self jcords', self.Jcoords() self.joy.toggle(self.Jcoords()[0],self.Jcoords()[1]) self.connect(self.Lon, SIGNAL("textChanged(QString)"), self.joy.setValueLonJ) self.connect(self.Lat, SIGNAL("textChanged(QString)"), self.joy.setValueLatJ) self.SetJoyCoords() self.Lon.setText(self.Lon.text()) self.Lat.setText(self.Lat.text()) #xprint self.Lon.text(), self.Lat.text() else : self.joy.stop() def stopstartjoy(self): if not self.actionJoystick.isChecked(): self.joy = logJ() self.joy.stop() self.joy.toggle(0,0) def startstopHW(self): if self.actionHW.isChecked(): self.hw = HWS() self.hw.start() self.hw.ValUpdated.connect(self.textHW.setText) self.hw.toggle() else : #self.hw = HWS() self.hw.stop() def stopstartHW(self): if not self.actionHW.isChecked(): self.hw = HWS() self.hw.stop() self.hw.toggle() """ MV moved to navwindow def startstoplog(self): if self.actionBroadcast.isChecked(): self.log = logS() self.log.start() self.log.LonUpdated.connect(self.Lon.setText) self.log.LatUpdated.connect(self.Lat.setText) self.log.RollUpdated.connect(self.RollSpinBox.setValue) self.log.PitchUpdated.connect(self.PitchSpinBox.setValue) self.log.GainUpdated.connect(self.HandlingSpinBox.setValue) self.log.AltUpdated2.connect(self.Alt.setText) self.log.AltUpdated.connect(self.ZoomSpinBox.setValue) self.log.LookAtLonUpdated.connect(self.lookatLon.setText) self.log.LookAtLatUpdated.connect(self.lookatLat.setText) self.log.LookAtAltitudeUpdated.connect(self.lookatAlt.setText) self.log.LookAtRangeUpdated.connect(self.RangeSpinBox.setValue) self.log.toggle() else : self.log.stop() def stopstartlog(self): if not self.actionBroadcast.isChecked(): self.log = logS() self.log.stop() self.log.toggle() """ def startstopGt(self): if self.gcmdexec.isChecked(): self.gt = gt(self.setcmd) self.gt.start() self.gt.toggle() else : self.gt.stop() def stopstartGt(self): if not self.gcmdexec.isChecked(): self.gt = gt(self.setcmd) self.gt.stop() self.gt.toggle() def startstopgpsx(self): if self.actionGPS.isChecked(): #self.gpsx = GpsT() self.gpsx.start() self.gpsx.GPSlatitude.connect(self.GPSlat.setText) self.gpsx.GPSlongitude.connect(self.GPSlon.setText) self.gpsx.GPStime.connect(self.GPSTime.setText) self.gpsx.GPSutctime.connect(self.GPSUtctime.setText) self.gpsx.GPSaltitude.connect(self.GPSAltitude.setText) self.gpsx.GPSspeed.connect(self.GPSSpeed.setText) self.gpsx.GPStrack.connect(self.GPSTrack.setText) self.gpsx.GPSclimb.connect(self.GPSClimb.setText) self.gpsx.GPSeph.connect(self.GPSEph.setText) self.gpsx.GPSept.connect(self.GPSEpt.setText) self.gpsx.GPSepv.connect(self.GPSEpv.setText) self.gpsx.GPSepd.connect(self.GPSEpd.setText) self.gpsx.GPSepc.connect(self.GPSEpc.setText) self.gpsx.GPSeps.connect(self.GPSEps.setText) self.gpsx.GPSpdop.connect(self.GPSPdop.setText) self.gpsx.GPShdop.connect(self.GPSHdop.setText) self.gpsx.GPSvdop.connect(self.GPSVdop.setText) self.gpsx.GPStdop.connect(self.GPSTdop.setText) self.gpsx.GPSgdop.connect(self.GPSGdop.setText) self.gpsx.GPSsat.connect(self.Satellite.setText) #xprint self.GPSlat.text() #print 'qualcosa' #if head == str('Manual'): # heads = self.HandlingSlider.value() #if head == str('Auto'): # heads = self.GPSTrack #print heads head = 'Manual' self.gpsx.toggle() else : self.gpsx.stop() def stopstartgpsx(self): if not self.actionGPS.isChecked(): self.gpsx = GpsT() #self.gpsx.wait() self.gpsx.stop() self.gpsx.toggle() def modeldialog(self): self.placemodel.show() # Hide/Show widget def hidetool(self): if self.actionHideSlider.isChecked(): self.tabWidget.show() else : self.tabWidget.hide() def SetJoyCoords(self): if self.actionJoystick.isChecked(): a = self.Lon.text() b = self.Lat.text() aa = float(a) + 1 bb = float(b) + 1 self.Lon.setText(str(aa)) self.Lat.setText(str(bb)) self.Lon.setText(str(a)) self.Lat.setText(str(b))
def initWidgets(self): if Utils.haveGRASS_ == 0: #self.mainTabWidget.removeTab(1) self.actionT_Grass.setEnabled(False) self.actionT_Data.setEnabled(False) self.actionT_Grass.setVisible(False) self.actionT_Data.setVisible(False) self.actionT_Grassshell.setEnabled(False) self.actionT_Grassshell.setVisible(False) else: self.grasswin = GrassWindow() self.datawin = DataWindow() ###FIXME REVIEW ### self.vectors = VectorList() ### self.rasters = RasterList() ### vect = len(self.vectors) ### rast = len(self.rasters) ### numrow = max(vect,rast) ### self.layerTable.setColumnCount(2) ### self.layerTable.setRowCount(numrow) ### self.layerTable.setEditTriggers(QTableWidget.NoEditTriggers) ### for i in range(rast): ### item = QTableWidgetItem(self.rasters[i]) ### item.setTextAlignment(Qt.AlignCenter) ### item.setCheckState(Qt.Unchecked) ### self.layerTable.setItem(i, 0, item) ### for i in range(vect): ### item = QTableWidgetItem(self.vectors[i]) ### item.setTextAlignment(Qt.AlignCenter) ### item.setCheckState(Qt.Unchecked) ### self.layerTable.setItem(i, 1, item) self.gcmd.setEditable(1) self.gcmd.setAutoCompletion(1) commandlist = self.commandlist() self.gcmd.addItems(commandlist) self.gcmd.setEditable(1) self.gcmd.setAutoCompletion(1) self.gt = gt(self.setcmd) # ##FME """ self.grassvectoroption.hide() # Hide/Show Slider self.actionHideSlider.setChecked(True) self.actionHideSpinbox.setChecked(True) self.actionHideStepTool.setChecked(True) self.actionHide_place_position.setChecked(True) """ # spyderlib if self.arg_ == '-d': from spyderlib.widgets import internalshell dock = QDockWidget("Python Shell") self.pythonshell = internalshell.InternalShell(dock, namespace=globals(),commands=[], multithreaded=False) dock.setWidget(self.pythonshell) self.addDockWidget(Qt.BottomDockWidgetArea, dock)