Showing with 1,008 additions and 153 deletions.
  1. +47 −0 python/gui/qgisinterface.sip
  2. +2 −0 python/plugins/GdalTools/__init__.py
  3. +13 −10 python/plugins/fTools/__init__.py
  4. +116 −13 python/plugins/fTools/fTools.py
  5. +10 −8 python/plugins/mapserver_export/__init__.py
  6. +10 −1 python/plugins/osm/__init__.py
  7. +3 −0 python/plugins/plugin_installer/__init__.py
  8. +204 −1 src/app/qgisapp.cpp
  9. +30 −0 src/app/qgisapp.h
  10. +56 −1 src/app/qgisappinterface.cpp
  11. +27 −0 src/app/qgisappinterface.h
  12. +5 −0 src/app/qgspluginitem.cpp
  13. +2 −0 src/app/qgspluginitem.h
  14. +20 −0 src/app/qgspluginmanager.cpp
  15. +7 −3 src/app/qgspluginregistry.cpp
  16. +57 −0 src/gui/qgisinterface.h
  17. +13 −0 src/gui/qgsdetaileditemdata.cpp
  18. +3 −0 src/gui/qgsdetaileditemdata.h
  19. +50 −0 src/gui/qgsdetaileditemdelegate.cpp
  20. +1 −0 src/gui/qgsdetaileditemdelegate.h
  21. +1 −0 src/gui/qgsdetaileditemwidget.cpp
  22. +8 −1 src/plugins/coordinate_capture/coordinatecapture.cpp
  23. +17 −4 src/plugins/delimited_text/qgsdelimitedtextplugin.cpp
  24. +6 −0 src/plugins/delimited_text/qgsdelimitedtextplugin.h
  25. +7 −1 src/plugins/diagram_overlay/qgsdiagramoverlayplugin.cpp
  26. +12 −5 src/plugins/dxf2shp_converter/dxf2shpconverter.cpp
  27. +20 −13 src/plugins/evis/evis.cpp
  28. +14 −7 src/plugins/georeferencer/qgsgeorefplugin.cpp
  29. +8 −1 src/plugins/globe/globe_plugin.cpp
  30. +16 −7 src/plugins/gps_importer/qgsgpsplugin.cpp
  31. +12 −0 src/plugins/grass/qgsgrassplugin.cpp
  32. +6 −0 src/plugins/grass/qgsgrassplugin.h
  33. +10 −7 src/plugins/interpolation/qgsinterpolationplugin.cpp
  34. +12 −5 src/plugins/offline_editing/offline_editing_plugin.cpp
  35. +9 −1 src/plugins/oracle_raster/qgsoracle_plugin.cpp
  36. +45 −36 src/plugins/plugin_builder.py
  37. +8 −1 src/plugins/plugin_template/plugin.cpp
  38. +20 −0 src/plugins/qgisplugin.h
  39. +1 −1 src/plugins/qgsrendererplugin.h
  40. +1 −1 src/plugins/qgsvectoroverlayplugin.h
  41. +11 −5 src/plugins/raster_terrain_analysis/qgsrasterterrainanalysisplugin.cpp
  42. +12 −5 src/plugins/roadgraph/roadgraphplugin.cpp
  43. +13 −5 src/plugins/spatialquery/qgsspatialqueryplugin.cpp
  44. +10 −3 src/plugins/spit/qgsspitplugin.cpp
  45. +2 −0 src/plugins/spit/qgsspitplugin.h
  46. +8 −1 src/plugins/sqlanywhere/sqlanywhere.cpp
  47. +12 −4 src/plugins/zonal_statistics/qgszonalstatisticsplugin.cpp
  48. +23 −1 src/ui/qgisapp.ui
  49. +8 −1 src/ui/qgsdetaileditemwidgetbase.ui
47 changes: 47 additions & 0 deletions python/gui/qgisinterface.sip
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,25 @@ class QgisInterface : QObject
virtual int addToolBarIcon(QAction *qAction) =0;
//! Remove an action (icon) from the plugin toolbar
virtual void removeToolBarIcon(QAction *qAction) = 0;
//! Add an icon to the Raster toolbar
//! @note added in 2.0
virtual int addRasterToolBarIcon(QAction *qAction) =0;
//! Remove an action (icon) from the Raster toolbar
//! @note added in 2.0
virtual void removeRasterToolBarIcon(QAction *qAction) = 0;
//! Add an icon to the Vector toolbar
//! @note added in 2.0
virtual int addVectorToolBarIcon(QAction *qAction) =0;
//! Remove an action (icon) from the Vector toolbar
//! @note added in 2.0
virtual void removeVectorToolBarIcon(QAction *qAction) = 0;
//! Add an icon to the Database toolbar
//! @note added in 2.0
virtual int addDatabaseToolBarIcon(QAction *qAction) =0;
//! Remove an action (icon) from the Database toolbar
//! @note added in 2.0
virtual void removeDatabaseToolBarIcon(QAction *qAction) = 0;

//! Add toolbar with specified name
virtual QToolBar* addToolBar(QString name)=0 /Factory/;

Expand Down Expand Up @@ -115,6 +134,26 @@ class QgisInterface : QObject
*/
virtual void removePluginDatabaseMenu(QString name, QAction* action)=0;

/** Add action to the Raster menu
* @note added in 2.0
*/
virtual void addPluginToRasterMenu(QString name, QAction* action)=0;

/** Remove action from the Raster menu
* @note added in 2.0
*/
virtual void removePluginRasterMenu(QString name, QAction* action)=0;

/** Add action to the Vector menu
* @note added in 2.0
*/
virtual void addPluginToVectorMenu(QString name, QAction* action)=0;

/** Remove action from the Vector menu
* @note added in 2.0
*/
virtual void removePluginVectorMenu(QString name, QAction* action)=0;

/** Add a dock widget to the main window
@note added in 1.7 */
virtual void addDockWidget ( Qt::DockWidgetArea area, QDockWidget * dockwidget )=0;
Expand Down Expand Up @@ -167,6 +206,10 @@ class QgisInterface : QObject
virtual QMenu *layerMenu() = 0;
virtual QMenu *settingsMenu() = 0;
virtual QMenu *pluginMenu() = 0;
virtual QMenu *rasterMenu() = 0;
//** @note added in 2.0
virtual QMenu *vectorMenu() = 0;
virtual QMenu *databaseMenu() = 0;
virtual QMenu *firstRightStandardMenu() = 0;
virtual QMenu *windowMenu() = 0;
virtual QMenu *helpMenu() = 0;
Expand All @@ -181,6 +224,10 @@ class QgisInterface : QObject
virtual QToolBar *pluginToolBar() = 0;
virtual QToolBar *helpToolBar() = 0;
virtual QToolBar *rasterToolBar() = 0;
//** @note added in 2.0
virtual QToolBar *vectorToolBar() = 0;
//** @note added in 2.0
virtual QToolBar *databaseToolBar() = 0;

//! File menu actions
virtual QAction *actionNewProject() = 0;
Expand Down
2 changes: 2 additions & 0 deletions python/plugins/GdalTools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ def name():
return "GdalTools"
def description():
return "Integrate gdal tools into qgis"
def category():
return "Raster"
def version():
return "Version 1.2.29"
def qgisMinimumVersion():
Expand Down
23 changes: 13 additions & 10 deletions python/plugins/fTools/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,23 +29,26 @@
#---------------------------------------------------------------------

def name():
return "fTools"
return "fTools"

def description():
return "Tools for vector data analysis and management"
return "Tools for vector data analysis and management"

def category():
return "Vector"

def version():
return "0.6.1"
return "0.6.1"

def qgisMinimumVersion():
return "1.4"
return "1.4"

def icon():
return "icons/logo_small.png"
return "icons/logo_small.png"

def authorName():
return "Carson J. Q. Farmer"
return "Carson J. Q. Farmer"

def classFactory( iface ):
from fTools import fToolsPlugin
return fToolsPlugin( iface )
from fTools import fToolsPlugin
return fToolsPlugin( iface )
129 changes: 116 additions & 13 deletions python/plugins/fTools/fTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,6 @@ def initGui(self):
+ QCoreApplication.translate("fTools", "This version of fTools requires at least QGIS version 1.0.0\nPlugin will not be enabled."))
return None
QObject.connect(self.iface, SIGNAL("currentThemeChanged (QString)"), self.updateThemeIcons)
self.menu = QMenu()
self.menu.setTitle(QCoreApplication.translate("fTools", "Vect&or"))

self.analysisMenu = QMenu(QCoreApplication.translate("fTools", "&Analysis Tools"))
self.distMatrix = QAction(QCoreApplication.translate("fTools", "Distance matrix"),self.iface.mainWindow())
Expand Down Expand Up @@ -187,16 +185,70 @@ def initGui(self):
self.dataManageMenu.addActions([self.define, self.spatJoin, self.splitVect, self.mergeShapes, self.spatialIndex])
self.updateThemeIcons("theme")

self.menu.addMenu(self.analysisMenu)
self.menu.addMenu(self.researchMenu)
self.menu.addMenu(self.geoMenu)
self.menu.addMenu(self.conversionMenu)
self.menu.addMenu(self.dataManageMenu)

menu_bar = self.iface.mainWindow().menuBar()
actions = menu_bar.actions()
lastAction = actions[len(actions) - 1]
menu_bar.insertMenu(lastAction, self.menu)
self.menu = None
if hasattr(self.iface, "addPluginToVectorMenu"):
menuName = QCoreApplication.translate("fTools", "&Analysis Tools")
self.iface.addPluginToVectorMenu(menuName, self.distMatrix)
self.iface.addPluginToVectorMenu(menuName, self.sumLines)
self.iface.addPluginToVectorMenu(menuName, self.pointsPoly)
self.iface.addPluginToVectorMenu(menuName, self.listUnique)
self.iface.addPluginToVectorMenu(menuName, self.compStats)
self.iface.addPluginToVectorMenu(menuName, self.nearestNeigh)
self.iface.addPluginToVectorMenu(menuName, self.meanCoords)
self.iface.addPluginToVectorMenu(menuName, self.intLines)

menuName = QCoreApplication.translate("fTools", "&Research Tools")
self.iface.addPluginToVectorMenu(menuName, self.randSel)
self.iface.addPluginToVectorMenu(menuName, self.randSub)
self.iface.addPluginToVectorMenu(menuName, self.randPoints)
self.iface.addPluginToVectorMenu(menuName, self.regPoints)
self.iface.addPluginToVectorMenu(menuName, self.vectGrid)
self.iface.addPluginToVectorMenu(menuName, self.selectLocation)
self.iface.addPluginToVectorMenu(menuName, self.layerExtent)

menuName = QCoreApplication.translate("fTools", "&Geoprocessing Tools")
self.iface.addPluginToVectorMenu(menuName, self.minConvex)
self.iface.addPluginToVectorMenu(menuName, self.dynaBuffer)
self.iface.addPluginToVectorMenu(menuName, self.intersect)
self.iface.addPluginToVectorMenu(menuName, self.union)
self.iface.addPluginToVectorMenu(menuName, self.symDifference)
self.iface.addPluginToVectorMenu(menuName, self.clip)
self.iface.addPluginToVectorMenu(menuName, self.erase)
self.iface.addPluginToVectorMenu(menuName, self.dissolve)

menuName = QCoreApplication.translate("fTools", "G&eometry Tools")
self.iface.addPluginToVectorMenu(menuName, self.checkGeom)
self.iface.addPluginToVectorMenu(menuName, self.compGeo)
self.iface.addPluginToVectorMenu(menuName, self.centroids)
self.iface.addPluginToVectorMenu(menuName, self.delaunay)
self.iface.addPluginToVectorMenu(menuName, self.voronoi)
self.iface.addPluginToVectorMenu(menuName, self.simplify)
self.iface.addPluginToVectorMenu(menuName, self.densify)
self.iface.addPluginToVectorMenu(menuName, self.multiToSingle)
self.iface.addPluginToVectorMenu(menuName, self.singleToMulti)
self.iface.addPluginToVectorMenu(menuName, self.polysToLines)
self.iface.addPluginToVectorMenu(menuName, self.linesToPolys)
self.iface.addPluginToVectorMenu(menuName, self.extNodes)

menuName = QCoreApplication.translate("fTools", "&Data Management Tools")
self.iface.addPluginToVectorMenu(menuName, self.define)
self.iface.addPluginToVectorMenu(menuName, self.spatJoin)
self.iface.addPluginToVectorMenu(menuName, self.splitVect)
self.iface.addPluginToVectorMenu(menuName, self.mergeShapes)
self.iface.addPluginToVectorMenu(menuName, self.spatialIndex)
else:
self.menu = QMenu()
self.menu.setTitle(QCoreApplication.translate("fTools", "Vect&or"))
self.menu.addMenu(self.analysisMenu)
self.menu.addMenu(self.researchMenu)
self.menu.addMenu(self.geoMenu)
self.menu.addMenu(self.conversionMenu)
self.menu.addMenu(self.dataManageMenu)

menu_bar = self.iface.mainWindow().menuBar()
actions = menu_bar.actions()
lastAction = actions[len(actions) - 1]
menu_bar.insertMenu(lastAction, self.menu)

QObject.connect(self.distMatrix, SIGNAL("triggered()"), self.dodistMatrix)
QObject.connect(self.sumLines, SIGNAL("triggered()"), self.dosumLines)
Expand Down Expand Up @@ -244,7 +296,58 @@ def initGui(self):
QObject.connect(self.spatialIndex, SIGNAL("triggered()"), self.doSpatIndex)

def unload(self):
pass
if self.menu == None:
menuName = QCoreApplication.translate("fTools", "&Analysis Tools")
self.iface.removePluginVectorMenu(menuName, self.distMatrix)
self.iface.removePluginVectorMenu(menuName, self.sumLines)
self.iface.removePluginVectorMenu(menuName, self.pointsPoly)
self.iface.removePluginVectorMenu(menuName, self.listUnique)
self.iface.removePluginVectorMenu(menuName, self.compStats)
self.iface.removePluginVectorMenu(menuName, self.nearestNeigh)
self.iface.removePluginVectorMenu(menuName, self.meanCoords)
self.iface.removePluginVectorMenu(menuName, self.intLines)

menuName = QCoreApplication.translate("fTools", "&Research Tools")
self.iface.removePluginVectorMenu(menuName, self.randSel)
self.iface.removePluginVectorMenu(menuName, self.randSub)
self.iface.removePluginVectorMenu(menuName, self.randPoints)
self.iface.removePluginVectorMenu(menuName, self.regPoints)
self.iface.removePluginVectorMenu(menuName, self.vectGrid)
self.iface.removePluginVectorMenu(menuName, self.selectLocation)
self.iface.removePluginVectorMenu(menuName, self.layerExtent)

menuName = QCoreApplication.translate("fTools", "&Geoprocessing Tools")
self.iface.removePluginVectorMenu(menuName, self.minConvex)
self.iface.removePluginVectorMenu(menuName, self.dynaBuffer)
self.iface.removePluginVectorMenu(menuName, self.intersect)
self.iface.removePluginVectorMenu(menuName, self.union)
self.iface.removePluginVectorMenu(menuName, self.symDifference)
self.iface.removePluginVectorMenu(menuName, self.clip)
self.iface.removePluginVectorMenu(menuName, self.erase)
self.iface.removePluginVectorMenu(menuName, self.dissolve)

menuName = QCoreApplication.translate("fTools", "G&eometry Tools")
self.iface.removePluginVectorMenu(menuName, self.checkGeom)
self.iface.removePluginVectorMenu(menuName, self.compGeo)
self.iface.removePluginVectorMenu(menuName, self.centroids)
self.iface.removePluginVectorMenu(menuName, self.delaunay)
self.iface.removePluginVectorMenu(menuName, self.voronoi)
self.iface.removePluginVectorMenu(menuName, self.simplify)
self.iface.removePluginVectorMenu(menuName, self.densify)
self.iface.removePluginVectorMenu(menuName, self.multiToSingle)
self.iface.removePluginVectorMenu(menuName, self.singleToMulti)
self.iface.removePluginVectorMenu(menuName, self.polysToLines)
self.iface.removePluginVectorMenu(menuName, self.linesToPolys)
self.iface.removePluginVectorMenu(menuName, self.extNodes)

menuName = QCoreApplication.translate("fTools", "&Data Management Tools")
self.iface.removePluginVectorMenu(menuName, self.define)
self.iface.removePluginVectorMenu(menuName, self.spatJoin)
self.iface.removePluginVectorMenu(menuName, self.splitVect)
self.iface.removePluginVectorMenu(menuName, self.mergeShapes)
self.iface.removePluginVectorMenu(menuName, self.spatialIndex)
else:
pass

def doSimplify(self):
d = doSimplify.Dialog(self.iface, 1)
Expand Down
18 changes: 10 additions & 8 deletions python/plugins/mapserver_export/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,21 @@
This script initializes the plugin, making it known to QGIS.
"""

def name():
return "MapServer Export"
def name():
return "MapServer Export"
def description():
return "Export a saved QGIS project file to a MapServer map file"
def version():
return "Version 0.4.3"
def qgisMinimumVersion():
def category():
return "Plugins"
def version():
return "Version 0.4.3"
def qgisMinimumVersion():
return "1.0"
def icon():
return "mapserver_export.png"
def authorName():
return "Gary E. Sherman"
def classFactory(iface):
def classFactory(iface):
# load MapServerExport class from file mapserverexport.py
from mapserverexport import MapServerExport
return MapServerExport(iface)
from mapserverexport import MapServerExport
return MapServerExport(iface)
11 changes: 10 additions & 1 deletion python/plugins/osm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@ def description():
return "Viewer and editor for OpenStreetMap data"


def category():
"""Function returns category of this plugin.
@return category of this plugin.
"""

return "Plugins"


def version():
"""Function returns version of this plugin.
Expand Down Expand Up @@ -64,5 +73,5 @@ def classFactory(iface):

from OsmPlugin import OsmPlugin
# return object of our plugin with reference to QGIS interface as the only argument
return OsmPlugin(iface)
return OsmPlugin(iface)

3 changes: 3 additions & 0 deletions python/plugins/plugin_installer/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ def version():
def description():
return "Downloads and installs QGIS python plugins"

def category():
return "Plugins"

def qgisMinimumVersion():
return "1.0"

Expand Down
Loading