Skip to content

Commit aa2e69a

Browse files
committedDec 20, 2011
quick temporary fix for fTools to work with new Vector menu
1 parent fc6968e commit aa2e69a

File tree

1 file changed

+116
-13
lines changed

1 file changed

+116
-13
lines changed
 

‎python/plugins/fTools/fTools.py

Lines changed: 116 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,6 @@ def initGui(self):
123123
+ QCoreApplication.translate("fTools", "This version of fTools requires at least QGIS version 1.0.0\nPlugin will not be enabled."))
124124
return None
125125
QObject.connect(self.iface, SIGNAL("currentThemeChanged (QString)"), self.updateThemeIcons)
126-
self.menu = QMenu()
127-
self.menu.setTitle(QCoreApplication.translate("fTools", "Vect&or"))
128126

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

190-
self.menu.addMenu(self.analysisMenu)
191-
self.menu.addMenu(self.researchMenu)
192-
self.menu.addMenu(self.geoMenu)
193-
self.menu.addMenu(self.conversionMenu)
194-
self.menu.addMenu(self.dataManageMenu)
195-
196-
menu_bar = self.iface.mainWindow().menuBar()
197-
actions = menu_bar.actions()
198-
lastAction = actions[len(actions) - 1]
199-
menu_bar.insertMenu(lastAction, self.menu)
188+
self.menu = None
189+
if hasattr(self.iface, "addPluginToVectorMenu"):
190+
menuName = QCoreApplication.translate("fTools", "&Analysis Tools")
191+
self.iface.addPluginToVectorMenu(menuName, self.distMatrix)
192+
self.iface.addPluginToVectorMenu(menuName, self.sumLines)
193+
self.iface.addPluginToVectorMenu(menuName, self.pointsPoly)
194+
self.iface.addPluginToVectorMenu(menuName, self.listUnique)
195+
self.iface.addPluginToVectorMenu(menuName, self.compStats)
196+
self.iface.addPluginToVectorMenu(menuName, self.nearestNeigh)
197+
self.iface.addPluginToVectorMenu(menuName, self.meanCoords)
198+
self.iface.addPluginToVectorMenu(menuName, self.intLines)
199+
200+
menuName = QCoreApplication.translate("fTools", "&Research Tools")
201+
self.iface.addPluginToVectorMenu(menuName, self.randSel)
202+
self.iface.addPluginToVectorMenu(menuName, self.randSub)
203+
self.iface.addPluginToVectorMenu(menuName, self.randPoints)
204+
self.iface.addPluginToVectorMenu(menuName, self.regPoints)
205+
self.iface.addPluginToVectorMenu(menuName, self.vectGrid)
206+
self.iface.addPluginToVectorMenu(menuName, self.selectLocation)
207+
self.iface.addPluginToVectorMenu(menuName, self.layerExtent)
208+
209+
menuName = QCoreApplication.translate("fTools", "&Geoprocessing Tools")
210+
self.iface.addPluginToVectorMenu(menuName, self.minConvex)
211+
self.iface.addPluginToVectorMenu(menuName, self.dynaBuffer)
212+
self.iface.addPluginToVectorMenu(menuName, self.intersect)
213+
self.iface.addPluginToVectorMenu(menuName, self.union)
214+
self.iface.addPluginToVectorMenu(menuName, self.symDifference)
215+
self.iface.addPluginToVectorMenu(menuName, self.clip)
216+
self.iface.addPluginToVectorMenu(menuName, self.erase)
217+
self.iface.addPluginToVectorMenu(menuName, self.dissolve)
218+
219+
menuName = QCoreApplication.translate("fTools", "G&eometry Tools")
220+
self.iface.addPluginToVectorMenu(menuName, self.checkGeom)
221+
self.iface.addPluginToVectorMenu(menuName, self.compGeo)
222+
self.iface.addPluginToVectorMenu(menuName, self.centroids)
223+
self.iface.addPluginToVectorMenu(menuName, self.delaunay)
224+
self.iface.addPluginToVectorMenu(menuName, self.voronoi)
225+
self.iface.addPluginToVectorMenu(menuName, self.simplify)
226+
self.iface.addPluginToVectorMenu(menuName, self.densify)
227+
self.iface.addPluginToVectorMenu(menuName, self.multiToSingle)
228+
self.iface.addPluginToVectorMenu(menuName, self.singleToMulti)
229+
self.iface.addPluginToVectorMenu(menuName, self.polysToLines)
230+
self.iface.addPluginToVectorMenu(menuName, self.linesToPolys)
231+
self.iface.addPluginToVectorMenu(menuName, self.extNodes)
232+
233+
menuName = QCoreApplication.translate("fTools", "&Data Management Tools")
234+
self.iface.addPluginToVectorMenu(menuName, self.define)
235+
self.iface.addPluginToVectorMenu(menuName, self.spatJoin)
236+
self.iface.addPluginToVectorMenu(menuName, self.splitVect)
237+
self.iface.addPluginToVectorMenu(menuName, self.mergeShapes)
238+
self.iface.addPluginToVectorMenu(menuName, self.spatialIndex)
239+
else:
240+
self.menu = QMenu()
241+
self.menu.setTitle(QCoreApplication.translate("fTools", "Vect&or"))
242+
self.menu.addMenu(self.analysisMenu)
243+
self.menu.addMenu(self.researchMenu)
244+
self.menu.addMenu(self.geoMenu)
245+
self.menu.addMenu(self.conversionMenu)
246+
self.menu.addMenu(self.dataManageMenu)
247+
248+
menu_bar = self.iface.mainWindow().menuBar()
249+
actions = menu_bar.actions()
250+
lastAction = actions[len(actions) - 1]
251+
menu_bar.insertMenu(lastAction, self.menu)
200252

201253
QObject.connect(self.distMatrix, SIGNAL("triggered()"), self.dodistMatrix)
202254
QObject.connect(self.sumLines, SIGNAL("triggered()"), self.dosumLines)
@@ -244,7 +296,58 @@ def initGui(self):
244296
QObject.connect(self.spatialIndex, SIGNAL("triggered()"), self.doSpatIndex)
245297

246298
def unload(self):
247-
pass
299+
if self.menu == None:
300+
menuName = QCoreApplication.translate("fTools", "&Analysis Tools")
301+
self.iface.removePluginVectorMenu(menuName, self.distMatrix)
302+
self.iface.removePluginVectorMenu(menuName, self.sumLines)
303+
self.iface.removePluginVectorMenu(menuName, self.pointsPoly)
304+
self.iface.removePluginVectorMenu(menuName, self.listUnique)
305+
self.iface.removePluginVectorMenu(menuName, self.compStats)
306+
self.iface.removePluginVectorMenu(menuName, self.nearestNeigh)
307+
self.iface.removePluginVectorMenu(menuName, self.meanCoords)
308+
self.iface.removePluginVectorMenu(menuName, self.intLines)
309+
310+
menuName = QCoreApplication.translate("fTools", "&Research Tools")
311+
self.iface.removePluginVectorMenu(menuName, self.randSel)
312+
self.iface.removePluginVectorMenu(menuName, self.randSub)
313+
self.iface.removePluginVectorMenu(menuName, self.randPoints)
314+
self.iface.removePluginVectorMenu(menuName, self.regPoints)
315+
self.iface.removePluginVectorMenu(menuName, self.vectGrid)
316+
self.iface.removePluginVectorMenu(menuName, self.selectLocation)
317+
self.iface.removePluginVectorMenu(menuName, self.layerExtent)
318+
319+
menuName = QCoreApplication.translate("fTools", "&Geoprocessing Tools")
320+
self.iface.removePluginVectorMenu(menuName, self.minConvex)
321+
self.iface.removePluginVectorMenu(menuName, self.dynaBuffer)
322+
self.iface.removePluginVectorMenu(menuName, self.intersect)
323+
self.iface.removePluginVectorMenu(menuName, self.union)
324+
self.iface.removePluginVectorMenu(menuName, self.symDifference)
325+
self.iface.removePluginVectorMenu(menuName, self.clip)
326+
self.iface.removePluginVectorMenu(menuName, self.erase)
327+
self.iface.removePluginVectorMenu(menuName, self.dissolve)
328+
329+
menuName = QCoreApplication.translate("fTools", "G&eometry Tools")
330+
self.iface.removePluginVectorMenu(menuName, self.checkGeom)
331+
self.iface.removePluginVectorMenu(menuName, self.compGeo)
332+
self.iface.removePluginVectorMenu(menuName, self.centroids)
333+
self.iface.removePluginVectorMenu(menuName, self.delaunay)
334+
self.iface.removePluginVectorMenu(menuName, self.voronoi)
335+
self.iface.removePluginVectorMenu(menuName, self.simplify)
336+
self.iface.removePluginVectorMenu(menuName, self.densify)
337+
self.iface.removePluginVectorMenu(menuName, self.multiToSingle)
338+
self.iface.removePluginVectorMenu(menuName, self.singleToMulti)
339+
self.iface.removePluginVectorMenu(menuName, self.polysToLines)
340+
self.iface.removePluginVectorMenu(menuName, self.linesToPolys)
341+
self.iface.removePluginVectorMenu(menuName, self.extNodes)
342+
343+
menuName = QCoreApplication.translate("fTools", "&Data Management Tools")
344+
self.iface.removePluginVectorMenu(menuName, self.define)
345+
self.iface.removePluginVectorMenu(menuName, self.spatJoin)
346+
self.iface.removePluginVectorMenu(menuName, self.splitVect)
347+
self.iface.removePluginVectorMenu(menuName, self.mergeShapes)
348+
self.iface.removePluginVectorMenu(menuName, self.spatialIndex)
349+
else:
350+
pass
248351

249352
def doSimplify(self):
250353
d = doSimplify.Dialog(self.iface, 1)

0 commit comments

Comments
 (0)