PluginRefactoringRope.py

branch
server_client_variant
changeset 212
f05681349336
parent 203
c38750e1bafd
child 217
874115c79ca7
diff -r 891b660bcbda -r f05681349336 PluginRefactoringRope.py
--- a/PluginRefactoringRope.py	Fri Oct 06 18:49:50 2017 +0200
+++ b/PluginRefactoringRope.py	Sun Oct 08 17:54:29 2017 +0200
@@ -180,6 +180,7 @@
         
         from RefactoringRope.CodeAssistServer import CodeAssistServer
         self.__codeAssistServer = CodeAssistServer(self, self.__ui)
+        self.__codeAssistServer.activate()
         
         from RefactoringRope.RefactoringServer import RefactoringServer
         self.__refactoringServer = RefactoringServer(self, self.__ui)
@@ -192,9 +193,8 @@
         e5App().getObject("ViewManager").editorClosedEd.connect(
             self.__editorClosed)
         
-        if e5App().getObject("Project").isOpen():
-            for editor in e5App().getObject("ViewManager").getOpenEditors():
-                self.__editorOpened(editor)
+        for editor in e5App().getObject("ViewManager").getOpenEditors():
+            self.__editorOpened(editor)
         
         return None, True
     
@@ -296,8 +296,7 @@
         @param editor reference to the new editor
         @type QScintilla.Editor
         """
-        if self.__codeAssistServer.isSupportedLanguage(editor.getLanguage()):
-            self.__connectEditor(editor)
+        self.__connectEditor(editor)
         
         editor.languageChanged.connect(self.__editorLanguageChanged)
         self.__editors.append(editor)
@@ -323,12 +322,8 @@
         """
         editor = self.sender()
         
-        if self.__codeAssistServer.isSupportedLanguage(language):
-            if editor.getCompletionListHook("rope") is None or \
-                    editor.getCallTipHook("rope") is None:
-                self.__connectEditor(editor)
-        else:
-            self.__disconnectEditor(editor)
+        self.__disconnectEditor(editor)
+        self.__connectEditor(editor)
     
     def __connectEditor(self, editor):
         """
@@ -340,29 +335,8 @@
         editor.editorAboutToBeSaved.connect(self.__editorAboutToBeSaved)
         editor.editorSaved.connect(self.__editorSaved)
         
-        if self.getPreferences("CodeAssistEnabled"):
-            self.__setAutoCompletionHook(editor)
-        if self.getPreferences("CodeAssistCalltipsEnabled"):
-            self.__setCalltipsHook(editor)
-        
-        if self.getPreferences("MouseClickEnabled"):
-            self.__disconnectMouseClickHandler(editor)
-            self.__connectMouseClickHandler(editor)
-    
-    def __connectMouseClickHandler(self, editor):
-        """
-        Private method to connect the mouse click handler to an editor.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        """
-        if self.getPreferences("MouseClickGotoButton"):
-            editor.setMouseClickHandler(
-                "rope",
-                self.getPreferences("MouseClickGotoModifiers"),
-                self.getPreferences("MouseClickGotoButton"),
-                self.__refactoringServer.gotoDefinition
-            )
+        self.__codeAssistServer.connectEditor(editor)
+        self.__refactoringServer.connectEditor(editor)
     
     def __disconnectEditor(self, editor):
         """
@@ -378,53 +352,8 @@
             # just ignore it
             pass
         
-        if editor.getCompletionListHook("rope"):
-            self.__unsetAutoCompletionHook(editor)
-        if editor.getCallTipHook("rope"):
-            self.__unsetCalltipsHook(editor)
-        
-        self.__disconnectMouseClickHandler(editor)
-    
-    def __disconnectMouseClickHandler(self, editor):
-        """
-        Private method to disconnect the mouse click handler from an editor.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        """
-        editor.removeMouseClickHandlers("rope")
-    
-    def __setAutoCompletionHook(self, editor):
-        """
-        Private method to set the autocompletion hook.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        """
-        editor.addCompletionListHook("rope", self.getCompletionsList)
-    
-    def __unsetAutoCompletionHook(self, editor):
-        """
-        Private method to unset the autocompletion hook.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        """
-        editor.removeCompletionListHook("rope")
-    
-    def getCompletionsList(self, editor, context):
-        """
-        Public method to get a list of possible completions.
-        
-        @param editor reference to the editor object, that called this method
-        @type QScintilla.Editor
-        @param context flag indicating to autocomplete a context
-        @type bool
-        @return list of possible completions
-        @rtype list of str
-        """
-        completions = self.__codeAssistServer.getCompletions(editor)
-        return completions
+        self.__codeAssistServer.disconnectEditor(editor)
+        self.__refactoringServer.disconnectEditor(editor)
     
     def __editorAboutToBeSaved(self, filename):
         """
@@ -459,39 +388,14 @@
             self.__refactoringServer.reportChanged(filename, "")
             self.__codeAssistServer.reportChanged(filename, "")
     
-    def __setCalltipsHook(self, editor):
-        """
-        Private method to set the calltip hook.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        """
-        editor.addCallTipHook("rope", self.codeAssistCallTip)
-    
-    def __unsetCalltipsHook(self, editor):
-        """
-        Private method to unset the calltip hook.
-        
-        @param editor reference to the editor
-        @type QScintilla.Editor
+    def getCodeAssistServer(self):
         """
-        editor.removeCallTipHook("rope")
-    
-    def codeAssistCallTip(self, editor, pos, commas):
-        """
-        Public method to return a list of calltips.
+        Public method to get a reference to the code assist server.
         
-        @param editor reference to the editor
-        @type QScintilla.Editor
-        @param pos position in the text for the calltip
-        @type int
-        @param commas minimum number of commas contained in the calltip
-        @type int
-        @return list of possible calltips
-        @rtype list of str
+        @return reference to the code assist server
+        @rtype CodeAssistServer
         """
-        cts = self.__codeAssistServer.getCallTips(pos, editor)
-        return cts
+        return self.__codeAssistServer
 
 #
 # eflag: noqa = M801

eric ide

mercurial