def osmosis(self): if not self.dock_window: from command_dock import CommandDock self.dock_window = CommandDock(self) self.iface.mainWindow().addDockWidget( Qt.RightDockWidgetArea, self.dock_window ) if self.dock_window2: self.dock_window2.hide() self.dock_window.show()
class Commands(QObject): def __init__(self, iface): QObject.__init__(self) self.iface = iface self.dock_window = None self.dock_window2 = None self.bbox_area = None self.canvas = self.iface.mapCanvas() self.actions = [] def create_action(self,meta): action = QAction(QCoreApplication.translate( NAME, "&%s" % meta['title'] ), self.iface.mainWindow()) tooltip = meta.get('tooltip') if tooltip: action.setWhatsThis(tooltip) action.setToolTip(tooltip) action.setStatusTip(tooltip) icon = meta.get('icon') if icon: action.setIcon(QIcon(icon)) action_name = '%s_action' % meta['action'] setattr(self,action_name,action) setattr(action,'action_name',action_name) QObject.connect(getattr(self,action_name), SIGNAL("triggered()"), getattr(self,meta['action'])) return getattr(self,action_name) def create_menu(self,actions): for action in actions: action_obj = self.create_action(action) self.actions.append(action_obj) # Add toolbar button and menu item self.iface.addToolBarIcon(action_obj) self.iface.addPluginToMenu("&%s" % NAME, action_obj) def unload(self): for action in self.actions: self.iface.removePluginMenu("&%s" % NAME,action) self.iface.removeToolBarIcon(action) def initGui(self): actions = [] actions.append({ 'title':'Process OSM data (osmosis)', 'action':'osmosis', 'tooltip':'Download and clip .osm files using the osmosis java application', 'icon':':/icons/osmosis.png', }) actions.append({ 'title':'Import into PostGIS (osm2pgsql)', 'action':'osm2pgsql', 'tooltip':'Import an osm or osm.bz2 file into a PostGIS enabled PostgreSQL database using osm2pgsql', 'icon':':/icons/osm2pgsql.png', }) actions.append({ 'title':'%s settings' % NAME, 'action':'plugin_settings', 'tooltip':'', 'icon':'', }) self.create_menu(actions) def plugin_settings(self): import settings d = settings.SettingsDialog( self.iface ) d.exec_() def osm2pgsql(self): if not self.dock_window2: from command_dock2 import CommandDock as CommandDock2 self.dock_window2 = CommandDock2(self) self.iface.mainWindow().addDockWidget( Qt.RightDockWidgetArea, self.dock_window2 ) if self.dock_window: self.dock_window.hide() self.dock_window2.show() def osmosis(self): if not self.dock_window: from command_dock import CommandDock self.dock_window = CommandDock(self) self.iface.mainWindow().addDockWidget( Qt.RightDockWidgetArea, self.dock_window ) if self.dock_window2: self.dock_window2.hide() self.dock_window.show()