/* * Initialize the GUI interface for the plugin - this is only called once when the plugin is * added to the plugin registry in the QGIS application. */ void RoadGraphPlugin::initGui() { // create shorttest path dock mQShortestPathDock = new RgShortestPathWidget( mQGisIface->mainWindow(), this ); mQGisIface->addDockWidget( Qt::LeftDockWidgetArea, mQShortestPathDock ); // Create the action for tool mQSettingsAction = new QAction( QIcon( ":/roadgraph/road.png" ), tr( "Settings" ), this ); mQSettingsAction->setObjectName( "mQSettingsAction" ); // Set the what's this text mQSettingsAction->setWhatsThis( tr( "Road graph plugin settings" ) ); setGuiElementsToDefault(); // Connect the action to slots connect( mQSettingsAction, SIGNAL( triggered() ), this, SLOT( property() ) ); mQGisIface->addPluginToVectorMenu( tr( "Road graph" ), mQSettingsAction ); connect( mQGisIface, SIGNAL( projectRead() ), this, SLOT( projectRead() ) ); connect( mQGisIface, SIGNAL( newProjectCreated() ), this, SLOT( newProject() ) ); connect( mQGisIface, SIGNAL( projectRead() ), mQShortestPathDock, SLOT( clear() ) ); connect( mQGisIface, SIGNAL( newProjectCreated() ), mQShortestPathDock, SLOT( clear() ) ); // load settings projectRead(); } // RoadGraphPlugin::initGui()
checkDock::checkDock( QgisInterface* qIface, QWidget* parent ) : QDockWidget( parent ), Ui::checkDock() { mTest = new topolTest( qIface ); setupUi( this ); // hide the fix-related stuff, needs more work qgsInterface = qIface; mFixButton->hide(); mFixBox->hide(); mErrorListModel = new DockModel( mErrorList, parent ); mErrorTableView->setModel( mErrorListModel ); mErrorTableView->setSelectionBehavior( QAbstractItemView::SelectRows ); mErrorTableView->verticalHeader()->setDefaultSectionSize( 20 ); mLayerRegistry = QgsMapLayerRegistry::instance(); mConfigureDialog = new rulesDialog( mTest->testMap(), qIface, parent ); mTestTable = mConfigureDialog->rulesTable(); mValidateExtentButton->setIcon( QIcon( ":/topology/validateExtent.png" ) ); mValidateAllButton->setIcon( QIcon( ":/topology/validateAll.png" ) ); mConfigureButton->setIcon( QIcon( ":/topology/configureRules.png" ) ); QgsMapCanvas* canvas = qIface->mapCanvas();// mQgisApp->mapCanvas(); mRBFeature1 = new QgsRubberBand( canvas ); mRBFeature2 = new QgsRubberBand( canvas ); mRBConflict = new QgsRubberBand( canvas ); mRBFeature1->setColor( QColor( 0, 0, 255, 65 ) ); mRBFeature2->setColor( QColor( 0, 255, 0, 65 ) ); mRBConflict->setColor( QColor( 255, 0, 0, 65 ) ); mRBFeature1->setWidth( 5 ); mRBFeature2->setWidth( 5 ); mRBConflict->setWidth( 5 ); mVMConflict = 0; mVMFeature1 = 0; mVMFeature2 = 0; connect( mConfigureButton, SIGNAL( clicked() ), this, SLOT( configure() ) ); connect( mValidateAllButton, SIGNAL( clicked() ), this, SLOT( validateAll() ) ); //connect( mValidateSelectedButton, SIGNAL( clicked() ), this, SLOT( validateSelected() ) ); connect( mValidateExtentButton, SIGNAL( clicked() ), this, SLOT( validateExtent() ) ); connect( mToggleRubberband, SIGNAL( clicked() ), this, SLOT( toggleErrorMarker() ) ); connect( mFixButton, SIGNAL( clicked() ), this, SLOT( fix() ) ); connect( mErrorTableView, SIGNAL( clicked( const QModelIndex & ) ), this, SLOT( errorListClicked( const QModelIndex & ) ) ); connect( mLayerRegistry, SIGNAL( layerWillBeRemoved( QString ) ), this, SLOT( parseErrorListByLayer( QString ) ) ); connect( this, SIGNAL( visibilityChanged( bool ) ), this, SLOT( updateRubberBands( bool ) ) ); connect( qgsInterface, SIGNAL( newProjectCreated() ), mConfigureDialog, SLOT( clearRules() ) ); connect( qgsInterface, SIGNAL( newProjectCreated() ), this, SLOT( deleteErrors() ) ); }
QgisAppInterface::QgisAppInterface( QgisApp * _qgis ) : qgis( _qgis ) , mTimer( nullptr ) , legendIface( _qgis->layerTreeView() ) , pluginManagerIface( _qgis->pluginManager() ) { // connect signals connect( qgis->layerTreeView(), SIGNAL( currentLayerChanged( QgsMapLayer * ) ), this, SIGNAL( currentLayerChanged( QgsMapLayer * ) ) ); connect( qgis, SIGNAL( currentThemeChanged( QString ) ), this, SIGNAL( currentThemeChanged( QString ) ) ); connect( qgis, SIGNAL( composerAdded( QgsComposerView* ) ), this, SIGNAL( composerAdded( QgsComposerView* ) ) ); connect( qgis, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ), this, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ) ); connect( qgis, SIGNAL( composerRemoved( QgsComposerView* ) ), this, SIGNAL( composerRemoved( QgsComposerView* ) ) ); connect( qgis, SIGNAL( initializationCompleted() ), this, SIGNAL( initializationCompleted() ) ); connect( qgis, SIGNAL( newProject() ), this, SIGNAL( newProjectCreated() ) ); connect( qgis, SIGNAL( projectRead() ), this, SIGNAL( projectRead() ) ); connect( qgis, SIGNAL( layerSavedAs( QgsMapLayer*, QString ) ), this, SIGNAL( layerSavedAs( QgsMapLayer*, QString ) ) ); }
/* * Initialize the GUI interface for the plugin - this is only called once when the plugin is * added to the plugin registry in the QGIS application. */ void RoadGraphPlugin::initGui() { // create shorttest path dock mQShortestPathDock = new RgShortestPathWidget( mQGisIface->mainWindow() , this ); mQGisIface->addDockWidget( Qt::LeftDockWidgetArea, mQShortestPathDock ); // Create the action for tool mQSettingsAction = new QAction( QIcon( ":/roadgraph/road.png" ), tr( "Road graph settings" ), this ); mQShowDirectionAction = new QAction( QIcon( ":/roadgraph/showdirect.png" ), tr( "Show road's direction" ), this ); mInfoAction = new QAction( QIcon( ":/roadgraph/about.png" ), tr( "About" ), this ); // Set the what's this text mQSettingsAction->setWhatsThis( tr( "Road graph plugin settings" ) ); mQShowDirectionAction->setWhatsThis( tr( "Roads direction viewer" ) ); mInfoAction->setWhatsThis( tr( "About Road graph plugin" ) ); mQShowDirectionAction->setCheckable( true ); setGuiElementsToDefault(); // Connect the action to slots connect( mQSettingsAction, SIGNAL( triggered() ), this, SLOT( property() ) ); connect( mQShowDirectionAction, SIGNAL( triggered() ), this, SLOT( onShowDirection() ) ); connect( mInfoAction, SIGNAL( triggered() ), SLOT( about() ) ); // Add the icons to the toolbar mQGisIface->addToolBarIcon( mQShowDirectionAction ); mQGisIface->addPluginToMenu( tr( "Road graph" ), mQSettingsAction ); mQGisIface->addPluginToMenu( tr( "Road graph" ), mQShowDirectionAction ); mQGisIface->addPluginToMenu( tr( "Road graph" ), mInfoAction ); connect( mQGisIface->mapCanvas(), SIGNAL( renderComplete( QPainter* ) ), this, SLOT( render( QPainter* ) ) ); connect( mQGisIface, SIGNAL( projectRead() ), this, SLOT( projectRead() ) ); connect( mQGisIface, SIGNAL( newProjectCreated() ), this, SLOT( newProject() ) ); connect( mQGisIface, SIGNAL( projectRead() ), mQShortestPathDock, SLOT( clear() ) ); connect( mQGisIface, SIGNAL( newProjectCreated() ), mQShortestPathDock, SLOT( clear() ) ); // load settings projectRead(); } // RoadGraphPlugin::initGui()
QgisAppInterface::QgisAppInterface( QgisApp * _qgis ) : qgis( _qgis ), legendIface( _qgis->legend() ) { // connect signals connect( qgis->legend(), SIGNAL( currentLayerChanged( QgsMapLayer * ) ), this, SIGNAL( currentLayerChanged( QgsMapLayer * ) ) ); connect( qgis, SIGNAL( currentThemeChanged( QString ) ), this, SIGNAL( currentThemeChanged( QString ) ) ); connect( qgis, SIGNAL( composerAdded( QgsComposerView* ) ), this, SIGNAL( composerAdded( QgsComposerView* ) ) ); connect( qgis, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ), this, SIGNAL( composerWillBeRemoved( QgsComposerView* ) ) ); connect( qgis, SIGNAL( initializationCompleted() ), this, SIGNAL( initializationCompleted() ) ); connect( qgis, SIGNAL( newProject() ), this, SIGNAL( newProjectCreated() ) ); connect( qgis, SIGNAL( projectRead() ), this, SIGNAL( projectRead() ) ); }