timlinux edfde1b4e6 This is the initial commit for the qgis plugin template. The template consists of:
class Plugin (a subclass of QgisPlugin)
class PluginGuiBase (supplied as a simple qdialog ui)
class PluginGui (the subclass of PluginGuiBase)

The only thing the user would need to change in the makefile is the name of the .so
so you just copy the plugin template dir to a new dir under plugins, change the .so name in the makefile add the plugin dir the configure.in and the plugin dir makefile.

I will be adding a bash script file soon that automates the above process. This template development is in progress.


git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@881 c8812cc2-4d05-0410-92ff-de0c093fc19c
2004-02-21 22:28:45 +00:00

97 lines
2.9 KiB
C++

/***************************************************************************
plugin.h
Functions:
-------------------
begin : Jan 21, 2004
copyright : (C) 2004 by Tim Sutton
email : tim@linfiniti.com
***************************************************************************/
/***************************************************************************
* *
* 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 PLUGIN
#define PLUGIN
#include "../qgisplugin.h"
#include <qwidget.h>
#include "../../src/qgisapp.h"
/**
* \class Plugin
* \brief OpenModeller plugin for QGIS
*
*/
class Plugin: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.
*/
Plugin(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();
//! init the gui
virtual void initGui();
//! Destructor
virtual ~ Plugin();
public slots:
//! Show the dialog box
void run();
//!draw a raster layer in the qui
void drawRasterLayer(QString);
void drawVectorLayer(QString);
//! unload the plugin
void unload();
//! show the help document
void help();
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;
};
#endif