QGIS/plugins/grass/qgsgrassplugin.h
timlinux c7ba33f0f2 Implemented state handling via qgsproject for copyright label.
Updated _all_ plugins so that initGui() is implemented as a slot.
This is required if you wish to use qgsproject for storing and reinstating state in qgis. The reason for this is that the initGui() method is only called once at the moment when qgis starts up. I will be adding a signal to qgisproject 'projectLoaded' that will be emitted when a new project is loaded. I will also be adding connect() for each plugin when its initially loaded in qgisapp so that the initgui slot is called whenever the project loads.


git-svn-id: http://svn.osgeo.org/qgis/trunk@2238 c8812cc2-4d05-0410-92ff-de0c093fc19c
2004-11-12 13:55:19 +00:00

112 lines
3.3 KiB
C++

/***************************************************************************
qgsgrassplugin.h - GRASS menu
-------------------
begin : March, 2004
copyright : (C) 2004 by Radim Blazek
email : blazek@itc.it
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
/* $Id$ */
#ifndef QGSGRASSPLUGIN_H
#define QGSGRASSPLUGIN_H
#include "../qgisplugin.h"
#include <qwidget.h>
#include <qpen.h>
#include "../../src/qgisapp.h"
/**
* \class QgsGrassPlugin
* \brief OpenModeller plugin for QGIS
*
*/
class QgsGrassPlugin:public QObject, public QgisPlugin
{
Q_OBJECT public:
/**
* Constructor for a plugin. The QgisApp and QgisIface pointers are passed by
* QGIS when it attempts to instantiate the plugin.
* @param qgis Pointer to the QgisApp object
* @param qI Pointer to the QgisIface object.
*/
QgsGrassPlugin(QgisApp * , QgisIface * );
/**
* Virtual function to return the name of the plugin. The name will be used when presenting a list
* of installable plugins to the user
*/
virtual QString name();
/**
* Virtual function to return the version of the plugin.
*/
virtual QString version();
/**
* Virtual function to return a description of the plugins functions
*/
virtual QString description();
/**
* Return the plugin type
*/
virtual int type();
//! Destructor
virtual ~ QgsGrassPlugin();
//! Get Region Pen
QPen & regionPen(void);
//! Set Region Pen
void setRegionPen(QPen &);
public slots:
//! init the gui
virtual void initGui();
//! Show the dialog box for new vector
void addVector();
//! Show the dialog box for new raster
void addRaster();
//! Start vector editing
void edit();
//! unload the plugin
void unload();
//! show the help document
void help();
//! Display current region
void displayRegion(QPainter *painter);
//! Change region
void changeRegion(void);
private:
//! Name of the plugin
QString pluginNameQString;
//! Version
QString pluginVersionQString;
//! Descrption of the plugin
QString pluginDescriptionQString;
//! Plugin type as defined in QgisPlugin::PLUGINTYPE
int pluginType;
//! Id of the plugin's menu. Used for unloading
int menuIdInt;
//! Pointer to our toolbar
QToolBar *toolBarPointer;
//! Pointer to our menu
QMenuBar *menuBarPointer;
//! Pionter to QGIS main application object
QgisApp *qgisMainWindowPointer;
//! Pointer to the QGIS interface object
QgisIface *qGisInterface;
//! Pointer to canvas
QgsMapCanvas *mCanvas;
//! Pointer to Display region acction
QAction *mRegionAction;
//! Region width
QPen mRegionPen;
};
#endif // QGSGRASSPLUGIN_H