214 changes: 98 additions & 116 deletions python/plugins/fTools/fTools.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,70 +185,55 @@ def initGui(self):
self.dataManageMenu.addActions([self.define, self.spatJoin, self.splitVect, self.mergeShapes, self.spatialIndex])
self.updateThemeIcons("theme")

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)
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)

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

def unload(self):
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
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)

def doSimplify(self):
d = doSimplify.Dialog(self.iface, 1)
Expand Down
Binary file added src/plugins/roadgraph/road-fast.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed src/plugins/roadgraph/roadgraph.png
Binary file not shown.
2 changes: 1 addition & 1 deletion src/plugins/roadgraph/roadgraph.qrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<RCC>
<qresource prefix="/roadgraph/" >
<file>roadgraph.png</file>
<file>road-fast.png</file>
<file>showdirect.png</file>
<file>about.png</file>
<file>coordinate_capture.png</file>
Expand Down
6 changes: 6 additions & 0 deletions src/plugins/roadgraph/roadgraphplugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ static const QString sName = QObject::tr( "Road graph plugin" );
static const QString sDescription = QObject::tr( "It solves the shortest path problem." );
static const QString sCategory = QObject::tr( "Vector" );
static const QString sPluginVersion = QObject::tr( "Version 0.1" );
static const QString sPluginIcon = ":/roadgraph/road-fast.png";
static const QgisPlugin::PLUGINTYPE sPluginType = QgisPlugin::UI;

//////////////////////////////////////////////////////////////////////
Expand Down Expand Up @@ -288,6 +289,11 @@ QGISEXTERN QString category()
return sCategory;
}

QGISEXTERN QString icon()
{
return sPluginIcon;
}

// Return the type (either UI or MapLayer plugin)
QGISEXTERN int type()
{
Expand Down