RefactoringRope/RefactoringServer.py

branch
server_client_variant
changeset 191
2af42804bca2
parent 189
2711fdd91925
child 192
20950ed6b384
equal deleted inserted replaced
190:a1b9b4975806 191:2af42804bca2
29 from .RopeProgressDialog import RopeProgressDialog 29 from .RopeProgressDialog import RopeProgressDialog
30 30
31 import Utilities 31 import Utilities
32 import Preferences 32 import Preferences
33 33
34 from Preferences.Shortcuts import readShortcuts
35
34 36
35 class RefactoringServer(JsonServer): 37 class RefactoringServer(JsonServer):
36 """ 38 """
37 Class implementing the refactoring interface to rope. 39 Class implementing the refactoring interface to rope.
38 """ 40 """
51 self.__projectpath = '' 53 self.__projectpath = ''
52 self.__projectLanguage = "" 54 self.__projectLanguage = ""
53 self.__projectopen = False 55 self.__projectopen = False
54 self.__ropeConfig = {} 56 self.__ropeConfig = {}
55 57
58 self.__mainAct = None
56 self.__mainMenu = None 59 self.__mainMenu = None
60
57 self.__progressDialog = None 61 self.__progressDialog = None
58 self.__helpDialog = None 62 self.__helpDialog = None
59 self.__historyDialog = None 63 self.__historyDialog = None
60 self.__refactoringDialogs = {} 64 self.__refactoringDialogs = {}
61 65
77 "HistoryResult": self.__processHistoryResult, 81 "HistoryResult": self.__processHistoryResult,
78 82
79 "Changes": self.__processChanges, 83 "Changes": self.__processChanges,
80 } 84 }
81 85
86 def activate(self):
87 """
88 Public method to activate the refactoring server.
89
90 This is performed when the rope plug-in is activated.
91 """
92 self.__initActions()
93 e5App().registerPluginObject("RefactoringRope", self)
94 readShortcuts(pluginName="RefactoringRope")
95
96 self.__mainMenu = self.__initMenu()
97 extrasAct = self.__ui.getMenuBarAction("extras")
98 self.__mainAct = self.__ui.menuBar().insertMenu(
99 extrasAct, self.__mainMenu)
100 self.__mainAct.setEnabled(False)
101
102 if e5App().getObject("Project").isOpen():
103 self.projectOpened()
104
105 e5App().getObject("Project").projectOpened.connect(
106 self.projectOpened)
107 e5App().getObject("Project").projectPropertiesChanged.connect(
108 self.projectOpened)
109 e5App().getObject("Project").projectClosed.connect(
110 self.projectClosed)
111 e5App().getObject("Project").newProject.connect(
112 self.projectOpened)
113
114 def deactivate(self):
115 """
116 Public method to deactivate the refactoring server.
117 """
118 e5App().unregisterPluginObject("RefactoringRope")
119
120 e5App().getObject("Project").projectOpened.disconnect(
121 self.projectOpened)
122 e5App().getObject("Project").projectPropertiesChanged.disconnect(
123 self.projectOpened)
124 e5App().getObject("Project").projectClosed.disconnect(
125 self.projectClosed)
126 e5App().getObject("Project").newProject.disconnect(
127 self.projectOpened)
128
129 self.__ui.menuBar().removeAction(self.__mainAct)
130
82 def getMainWindow(self): 131 def getMainWindow(self):
83 """ 132 """
84 Public method to get a reference to the IDE main window. 133 Public method to get a reference to the IDE main window.
85 134
86 @return reference to the IDE main window 135 @return reference to the IDE main window
87 @rtype UserInterface 136 @rtype UserInterface
88 """ 137 """
89 return self.__ui 138 return self.__ui
90 139
91 def initActions(self): 140 def __initActions(self):
92 """ 141 """
93 Public method to define the refactoring actions. 142 Private method to define the refactoring actions.
94 """ 143 """
95 self.actions = [] 144 self.actions = []
96 145
97 ##################################################### 146 #####################################################
98 ## Rename refactoring actions 147 ## Rename refactoring actions
669 self.actions.append(self.updateConfigAct) 718 self.actions.append(self.updateConfigAct)
670 719
671 for act in self.actions: 720 for act in self.actions:
672 act.setEnabled(False) 721 act.setEnabled(False)
673 722
674 def initMenu(self): 723 def __initMenu(self):
675 """ 724 """
676 Public slot to initialize the refactoring menu. 725 Private slot to initialize the refactoring menu.
677 726
678 @return the menu generated (QMenu) 727 @return the menu generated (QMenu)
679 """ 728 """
680 menu = QMenu(self.tr('&Refactoring'), self.__ui) 729 menu = QMenu(self.tr('&Refactoring'), self.__ui)
681 menu.setTearOffEnabled(True) 730 menu.setTearOffEnabled(True)
744 smenu.addAction(self.updateConfigAct) 793 smenu.addAction(self.updateConfigAct)
745 794
746 menu.addSeparator() 795 menu.addSeparator()
747 menu.addAction(self.refactoringEditConfigAct) 796 menu.addAction(self.refactoringEditConfigAct)
748 menu.addAction(self.refactoringHelpAct) 797 menu.addAction(self.refactoringHelpAct)
749
750 self.__mainMenu = menu
751 798
752 return menu 799 return menu
753 800
754 ################################################################## 801 ##################################################################
755 ## slots below implement general functionality 802 ## slots below implement general functionality

eric ide

mercurial