mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
must now have a QAction member pointer that is created when the GUI is initialized in initGui(). This pointer is used in the unload() method to remove the QAction and associated icon from the plugins toolbar. * Updated splash for upcoming 0.5 release git-svn-id: http://svn.osgeo.org/qgis/trunk@1956 c8812cc2-4d05-0410-92ff-de0c093fc19c
110 lines
3.1 KiB
C++
110 lines
3.1 KiB
C++
/***************************************************************************
|
|
plugin.cpp
|
|
Plugin to draw scale bar on map
|
|
Functions:
|
|
|
|
-------------------
|
|
begin : Jun 1, 2004
|
|
copyright : (C) 2004 by Peter Brewer
|
|
email : sbr00pwb@users.sourceforge.net
|
|
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* 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 <qpainter.h>
|
|
#include <qpointarray.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 * );
|
|
|
|
|
|
|
|
//! init the gui
|
|
virtual void initGui();
|
|
//! Destructor
|
|
virtual ~ Plugin();
|
|
public slots:
|
|
void renderScaleBar(QPainter *);
|
|
//! Show the dialog box
|
|
void run();
|
|
//! Refresh the map display using the mapcanvas exported via the plugin interface
|
|
void refreshCanvas();
|
|
//! unload the plugin
|
|
void unload();
|
|
//! show the help document
|
|
void help();
|
|
//! set scale bar placement
|
|
void setPlacement(QString);
|
|
//! set preferred size of scale bar
|
|
void setPreferredSize(int);
|
|
//! set whether the scale bar length should snap to the closest A*10^B
|
|
void setSnapping(bool);
|
|
//! set whether scale bar is enabled
|
|
void setEnabled(bool);
|
|
//! set the scale bar style
|
|
void setStyle(QString);
|
|
//! set the scale bar colour
|
|
void setColour(QColor);
|
|
|
|
private:
|
|
|
|
|
|
|
|
int pluginType;
|
|
//! Id of the plugin's menu. Used for unloading
|
|
int menuIdInt;
|
|
//! Placement of the scale bar
|
|
QString mPlacement;
|
|
//! The size preferred size of the scale bar
|
|
int mPreferredSize;
|
|
//! Should we snap to integer times power of 10?
|
|
bool mSnapping;
|
|
//! Scale bar enabled?
|
|
bool mEnabled;
|
|
//! Style of scale bar
|
|
QString mStyle;
|
|
//! The scale bar colour
|
|
QColor mColour;
|
|
|
|
//! 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 the QAction object used in the menu and toolbar
|
|
QAction *myQActionPointer;
|
|
};
|
|
|
|
#endif
|