ProjectFlask/Project.py

changeset 7
a140b2a8ba93
parent 6
d491ccab7343
child 8
cfbd3a2757fd
equal deleted inserted replaced
6:d491ccab7343 7:a140b2a8ba93
8 """ 8 """
9 9
10 import os 10 import os
11 11
12 from PyQt5.QtCore import ( 12 from PyQt5.QtCore import (
13 pyqtSlot, QObject, QProcess, QProcessEnvironment, QTimer 13 pyqtSlot, QObject, QProcess, QProcessEnvironment
14 ) 14 )
15 from PyQt5.QtWidgets import QMenu 15 from PyQt5.QtWidgets import QMenu
16 16
17 from E5Gui import E5MessageBox 17 from E5Gui import E5MessageBox
18 from E5Gui.E5Action import E5Action 18 from E5Gui.E5Action import E5Action
22 22
23 import UI.PixmapCache 23 import UI.PixmapCache
24 import Utilities 24 import Utilities
25 25
26 from .RunServerDialog import RunServerDialog 26 from .RunServerDialog import RunServerDialog
27 from .RoutesDialog import RoutesDialog
27 28
28 29
29 class Project(QObject): 30 class Project(QObject):
30 """ 31 """
31 Class implementing the Flask project support. 32 Class implementing the Flask project support.
52 53
53 self.__menus = {} # dictionary with references to menus 54 self.__menus = {} # dictionary with references to menus
54 55
55 ## self.__serverProc = None 56 ## self.__serverProc = None
56 self.__serverDialog = None 57 self.__serverDialog = None
58 self.__routesDialog = None
57 59
58 self.__flaskVersions = { 60 self.__flaskVersions = {
59 "python": "", 61 "python": "",
60 "flask": "", 62 "flask": "",
61 "werkzeug": "", 63 "werkzeug": "",
97 """<p>Starts the Flask Web server in development mode.</p>""" 99 """<p>Starts the Flask Web server in development mode.</p>"""
98 )) 100 ))
99 self.runDevServerAct.triggered.connect(self.__runDevelopmentServer) 101 self.runDevServerAct.triggered.connect(self.__runDevelopmentServer)
100 self.actions.append(self.runDevServerAct) 102 self.actions.append(self.runDevServerAct)
101 103
104 ##############################
105 ## routes action below ##
106 ##############################
107
108 self.showRoutesAct = E5Action(
109 self.tr('Show Routes'),
110 self.tr('Show &Routes'),
111 0, 0,
112 self, 'flask_show_routes')
113 self.showRoutesAct.setStatusTip(self.tr(
114 'Shows a dialog with the routes of the flask app'))
115 self.showRoutesAct.setWhatsThis(self.tr(
116 """<b>Show Routes</b>"""
117 """<p>Shows a dialog with the routes of the flask app.</p>"""
118 ))
119 self.showRoutesAct.triggered.connect(self.__showRoutes)
120 self.actions.append(self.showRoutesAct)
121
102 ################################## 122 ##################################
103 ## documentation action below ## 123 ## documentation action below ##
104 ################################## 124 ##################################
105 125
106 self.documentationAct = E5Action( 126 self.documentationAct = E5Action(
147 menu = QMenu(self.tr('&Flask'), self.__ui) 167 menu = QMenu(self.tr('&Flask'), self.__ui)
148 menu.setTearOffEnabled(True) 168 menu.setTearOffEnabled(True)
149 169
150 menu.addAction(self.runServerAct) 170 menu.addAction(self.runServerAct)
151 menu.addAction(self.runDevServerAct) 171 menu.addAction(self.runDevServerAct)
172 menu.addSeparator()
173 menu.addAction(self.showRoutesAct)
152 menu.addSeparator() 174 menu.addSeparator()
153 menu.addAction(self.documentationAct) 175 menu.addAction(self.documentationAct)
154 menu.addSeparator() 176 menu.addSeparator()
155 menu.addAction(self.aboutFlaskAct) 177 menu.addAction(self.aboutFlaskAct)
156 178
452 def __showRoutes(self): 474 def __showRoutes(self):
453 """ 475 """
454 Private slot showing all URL dispatch routes. 476 Private slot showing all URL dispatch routes.
455 """ 477 """
456 # TODO: implement this (flask routes) 478 # TODO: implement this (flask routes)
479 if self.__routesDialog is not None:
480 self.__routesDialog.close()
481
482 dlg = RoutesDialog()
483 if dlg.showRoutes(self):
484 dlg.show()
485 self.__routesDialog = dlg

eric ide

mercurial