def initGui(self): """Function initalizes GUI of the OSM Plugin. """ self.dockWidgetVisible = False # create action for loading OSM file self.actionLoad = QAction( QIcon(":/plugins/osm_plugin/images/osm_load.png"), QCoreApplication.translate("OsmPlugin", "Load OSM from file"), self.iface.mainWindow()) self.actionLoad.setWhatsThis( QCoreApplication.translate("OsmPlugin", "Load OpenStreetMap from file")) # create action for import of a layer into OSM self.actionImport = QAction( QIcon(":/plugins/osm_plugin/images/osm_import.png"), QCoreApplication.translate("OsmPlugin", "Import data from a layer"), self.iface.mainWindow()) self.actionImport.setWhatsThis( QCoreApplication.translate( "OsmPlugin", "Import data from a layer to OpenStreetMap")) # create action for saving OSM file self.actionSave = QAction( QIcon(":/plugins/osm_plugin/images/osm_save.png"), QCoreApplication.translate("OsmPlugin", "Save OSM to file"), self.iface.mainWindow()) self.actionSave.setWhatsThis( QCoreApplication.translate("OsmPlugin", "Save OpenStreetMap to file")) # create action for OSM data downloading self.actionDownload = QAction( QIcon(":/plugins/osm_plugin/images/osm_download.png"), QCoreApplication.translate("OsmPlugin", "Download OSM data"), self.iface.mainWindow()) self.actionDownload.setWhatsThis( QCoreApplication.translate("OsmPlugin", "Download OpenStreetMap data")) # create action for OSM data downloading self.actionUpload = QAction( QIcon(":/plugins/osm_plugin/images/osm_upload.png"), QCoreApplication.translate("OsmPlugin", "Upload OSM data"), self.iface.mainWindow()) self.actionUpload.setWhatsThis( QCoreApplication.translate("OsmPlugin", "Upload OpenStreetMap data")) # create action for OSM dockable window self.actionDockWidget = QAction( QIcon(":/plugins/osm_plugin/images/osm_featureManager.png"), QCoreApplication.translate("OsmPlugin", "Show/Hide OSM Feature Manager"), self.iface.mainWindow()) self.actionDockWidget.setWhatsThis( QCoreApplication.translate( "OsmPlugin", "Show/Hide OpenStreetMap Feature Manager")) self.actionDockWidget.setCheckable(True) # connect new action to plugin function - when action is triggered QObject.connect(self.actionLoad, SIGNAL("triggered()"), self.loadOsmFromFile) QObject.connect(self.actionSave, SIGNAL("triggered()"), self.saveOsmToFile) QObject.connect(self.actionDownload, SIGNAL("triggered()"), self.downloadOsmData) QObject.connect(self.actionUpload, SIGNAL("triggered()"), self.uploadOsmData) QObject.connect(self.actionDockWidget, SIGNAL("triggered()"), self.showHideDockWidget) QObject.connect(self.actionImport, SIGNAL("triggered()"), self.importData) # create a toolbar self.toolBar = self.iface.addToolBar("OpenStreetMap") self.toolBar.setObjectName("OpenStreetMap") self.toolBar.addAction(self.actionLoad) self.toolBar.addAction(self.actionDockWidget) self.toolBar.addAction(self.actionDownload) self.toolBar.addAction(self.actionUpload) self.toolBar.addAction(self.actionImport) self.toolBar.addAction(self.actionSave) # populate plugins menu self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionLoad) self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionDockWidget) self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionDownload) self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionUpload) self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionImport) self.iface.addPluginToWebMenu("&OpenStreetMap", self.actionSave) # create manager of sqlite database(-s) self.dbm = OsmDatabaseManager(self) self.undoredo = None self.dockWidget = None # create widget for undo/redo actions self.undoredo = OsmUndoRedoDW(self) self.iface.addDockWidget(Qt.LeftDockWidgetArea, self.undoredo) self.undoredo.hide() QObject.connect(self.undoredo, SIGNAL("visibilityChanged(bool)"), self.__urVisibilityChanged) self.undoredo.setContentEnabled(False) # create widget for osm feature info self.dockWidget = OsmFeatureDW(self) self.iface.addDockWidget(Qt.RightDockWidgetArea, self.dockWidget) QObject.connect(self.dockWidget, SIGNAL("visibilityChanged(bool)"), self.__ofVisibilityChanged) self.dockWidget.setContentEnabled(False)