RefactoringRope/RefactoringServer.py

Wed, 23 Oct 2024 17:45:37 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 23 Oct 2024 17:45:37 +0200
branch
eric7
changeset 420
fa31c3a0df1d
parent 416
45159308166f
child 426
7592a1c052e8
permissions
-rw-r--r--

Adjusted code for eric7 24.10 and newer.

1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
412
6fa5892b9097 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 411
diff changeset
3 # Copyright (c) 2010 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the refactoring interface to rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
10 import contextlib
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import os
50
a29c3d2e6dc0 rope for Python2 projects enabled, if running on Python2
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 48
diff changeset
12
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
13 from PyQt6.Qsci import QsciScintilla
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
14 from PyQt6.QtCore import pyqtSlot
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
15 from PyQt6.QtGui import QAction
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
16 from PyQt6.QtWidgets import QApplication, QMenu
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
18 from eric7 import Preferences, Utilities
396
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
19 from eric7.EricGui.EricAction import EricAction
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
20 from eric7.EricNetwork.EricJsonServer import EricJsonServer
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
21 from eric7.EricWidgets import EricMessageBox
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
22 from eric7.EricWidgets.EricApplication import ericApp
933b8fcd854f Adapted the import statements to the new structure.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 394
diff changeset
23 from eric7.Preferences.Shortcuts import readShortcuts
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
25 try:
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
26 from eric7.SystemUtilities.FileSystemUtilities import normcasepath
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
27 except ImportError:
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
28 # backward compatibility for eric < 23.1
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
29 from eric7.Utilities import normcasepath
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
30 try:
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
31 from eric7.SystemUtilities.PythonUtilities import (
409
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
32 getPythonExecutable,
65153bf17e8d Fixed a bug and resorted the imports with isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 406
diff changeset
33 getPythonLibraryDirectory,
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
34 )
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
35 except ImportError:
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
36 # backward compatibility for eric < 23.1
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
37 from eric7.Globals import getPythonExecutable, getPythonLibraryDirectory
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
38 try:
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
39 from eric7.SystemUtilities.FileSystemUtilities import isRemoteFileName
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
40 except ImportError:
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
41 # backward compatibility for eric < 24.1
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
42 from .RefactoringRope.RopeUtilities import isRemoteFileName
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
43
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
44 from .RopeProgressDialog import RopeProgressDialog
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
45
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
47 class RefactoringServer(EricJsonServer):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 Class implementing the refactoring interface to rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
51
31
0389d4a924cc Dropped support for eric 5.0.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
52 def __init__(self, plugin, parent=None):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Constructor
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
55
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @param plugin reference to the plugin object
192
20950ed6b384 Extended the JsonServer to handle multiple clients simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
57 @type RefactoringRopePlugin
20950ed6b384 Extended the JsonServer to handle multiple clients simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
58 @param parent parent
20950ed6b384 Extended the JsonServer to handle multiple clients simultaneously.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 191
diff changeset
59 @type QObject
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
61 from .FileSystemCommands import EricFileSystemCommands
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
62
420
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
63 try:
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
64 super().__init__(
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
65 name="RefactoringServer",
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
66 interface=Preferences.getDebugger("NetworkInterface"),
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
67 parent=parent,
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
68 )
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
69 except TypeError:
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
70 # backward compatibility for eric < 24.10
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
71 super().__init__(
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
72 name="RefactoringServer",
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
73 parent=parent,
fa31c3a0df1d Adjusted code for eric7 24.10 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 416
diff changeset
74 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
75
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.__plugin = plugin
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.__ui = parent
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
78 self.__vm = ericApp().getObject("ViewManager")
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
79 self.__ericProject = ericApp().getObject("Project")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
80 self.__projectpath = ""
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__projectLanguage = ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__projectopen = False
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
83 self.__ropeConfig = {}
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
84
313
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
85 self.__mainMenu = None
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
86 self.__mainAct = None
313
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
87 self.__separatorAct = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
88
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
89 self.__progressDialog = None
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.__helpDialog = None
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
91 self.__historyDialog = None
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
92 self.__refactoringDialogs = {}
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
93
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
94 self.__fsCommands = EricFileSystemCommands(self.__ericProject)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
95
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
96 self.__methodMapping = {
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
97 "Config": self.__setConfig,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
98 "Progress": self.__processProgress,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
99 "QueryReferencesResult": self.__queryReferencesResult,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
100 "QueryDefinitionResult": self.__queryDefinitionResult,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
101 "QueryImplementationsResult": self.__queryImplementationsResult,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
102 "SoaFinished": self.__soaFinished,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
103 "FileSystemCommand": self.__fsCommands.processFileSystemCommand,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
104 "ClientException": self.__processClientException,
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
105 "HistoryResult": self.__processHistoryResult,
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
106 "Changes": self.__processChanges,
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
107 }
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
108
194
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
109 @pyqtSlot()
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
110 def handleNewConnection(self):
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
111 """
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
112 Public slot for new incoming connections from a client.
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
113 """
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
114 super().handleNewConnection()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
115
194
5c297b473425 Some more refactorings of the code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 192
diff changeset
116 self.sendJson("GetConfig", {})
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
117
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
118 def activate(self):
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
119 """
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
120 Public method to activate the refactoring server.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
121
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
122 This is performed when the rope plug-in is activated.
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
123 """
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
124 self.__initActions()
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
125 ericApp().registerPluginObject("RefactoringRope", self)
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
126 readShortcuts(pluginName="RefactoringRope")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
127
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
128 self.__mainMenu = self.__initMenu()
313
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
129 projectToolsMenu = self.__ui.getMenu("project_tools")
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
130 if projectToolsMenu is not None:
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
131 insertBeforeAct = projectToolsMenu.actions()[0]
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
132 self.__mainAct = projectToolsMenu.insertMenu(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
133 insertBeforeAct, self.__mainMenu
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
134 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
135 self.__separatorAct = projectToolsMenu.insertSeparator(insertBeforeAct)
313
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
136 else:
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
137 projectAct = self.__ui.getMenuBarAction("project")
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
138 actions = self.__ui.menuBar().actions()
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
139 insertBeforeAct = actions[actions.index(projectAct) + 1]
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
140 self.__mainAct = self.__ui.menuBar().insertMenu(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
141 insertBeforeAct, self.__mainMenu
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
142 )
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
143 self.__mainAct.setEnabled(False)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
144
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
145 if ericApp().getObject("Project").isOpen():
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
146 self.projectOpened()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
147
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
148 ericApp().getObject("Project").projectOpened.connect(self.projectOpened)
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
149 ericApp().getObject("Project").projectPropertiesChanged.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
150 self.projectOpened
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
151 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
152 ericApp().getObject("Project").projectClosed.connect(self.projectClosed)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
153 ericApp().getObject("Project").newProject.connect(self.projectOpened)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
154
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
155 def deactivate(self):
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
156 """
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
157 Public method to deactivate the refactoring server.
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
158 """
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
159 ericApp().unregisterPluginObject("RefactoringRope")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
160
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
161 ericApp().getObject("Project").projectOpened.disconnect(self.projectOpened)
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
162 ericApp().getObject("Project").projectPropertiesChanged.disconnect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
163 self.projectOpened
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
164 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
165 ericApp().getObject("Project").projectClosed.disconnect(self.projectClosed)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
166 ericApp().getObject("Project").newProject.disconnect(self.projectOpened)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
167
313
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
168 projectToolsMenu = self.__ui.getMenu("project_tools")
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
169 if projectToolsMenu is not None:
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
170 projectToolsMenu.removeAction(self.__separatorAct)
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
171 projectToolsMenu.removeAction(self.__mainAct)
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
172 else:
327178d25538 RefactoringServer: changes to support changed eric6 menu structure as of eric6 19.06.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 309
diff changeset
173 self.__ui.menuBar().removeAction(self.__mainAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
174
275
45ac265bee4b RefactoringServer: fixed an issue during deactivation.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 270
diff changeset
175 self.projectClosed()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
176
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
177 def getMainWindow(self):
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
178 """
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
179 Public method to get a reference to the IDE main window.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
180
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
181 @return reference to the IDE main window
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
182 @rtype UserInterface
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
183 """
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
184 return self.__ui
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
185
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
186 def __initActions(self):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 """
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
188 Private method to define the refactoring actions.
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 self.actions = []
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
191
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
192 #####################################################
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
193 ## Rename refactoring actions
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
194 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
195
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
196 self.refactoringRenameAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
197 self.tr("Rename"), self.tr("&Rename"), 0, 0, self, "refactoring_rename"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
198 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
199 self.refactoringRenameAct.setStatusTip(self.tr("Rename the highlighted object"))
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
200 self.refactoringRenameAct.setWhatsThis(
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
201 self.tr("""<b>Rename</b><p>Rename the highlighted Python object.</p>""")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
202 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
203 self.refactoringRenameAct.triggered.connect(self.__rename)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
204 self.actions.append(self.refactoringRenameAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
205
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
206 self.refactoringRenameLocalAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
207 self.tr("Local Rename"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
208 self.tr("&Local Rename"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
209 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
210 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
211 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
212 "refactoring_rename_local",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
213 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
214 self.refactoringRenameLocalAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
215 self.tr("Rename the highlighted object in the current module only")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
216 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
217 self.refactoringRenameLocalAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
218 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
219 """<b>Local Rename</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
220 """<p>Rename the highlighted Python object in the current"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
221 """ module only.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
222 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
223 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
224 self.refactoringRenameLocalAct.triggered.connect(self.__renameLocal)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
225 self.actions.append(self.refactoringRenameLocalAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
226
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
227 self.refactoringRenameModuleAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
228 self.tr("Rename Current Module"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
229 self.tr("Rename Current Module"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
230 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
231 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
232 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
233 "refactoring_rename_module",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
234 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
235 self.refactoringRenameModuleAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
236 self.tr("Rename the current module")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
237 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
238 self.refactoringRenameModuleAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
239 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
240 """<b>Rename Current Module</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
241 """<p>Rename the current module.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
242 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
243 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
244 self.refactoringRenameModuleAct.triggered.connect(self.__renameModule)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
245 self.actions.append(self.refactoringRenameModuleAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
246
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
247 self.refactoringChangeOccurrencesAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
248 self.tr("Change Occurrences"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
249 self.tr("Change &Occurrences"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
250 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
251 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
252 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
253 "refactoring_change_occurrences",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
254 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
255 self.refactoringChangeOccurrencesAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
256 self.tr("Change all occurrences in the local scope")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
257 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
258 self.refactoringChangeOccurrencesAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
259 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
260 """<b>Change Occurrences</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
261 """<p>Change all occurrences in the local scope.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
262 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
263 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
264 self.refactoringChangeOccurrencesAct.triggered.connect(self.__changeOccurrences)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
265 self.actions.append(self.refactoringChangeOccurrencesAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
266
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
267 #####################################################
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
268 ## Extract refactoring actions
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
269 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
270
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
271 self.refactoringExtractMethodAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
272 self.tr("Extract method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
273 self.tr("Extract &Method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
274 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
275 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
276 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
277 "refactoring_extract_method",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
278 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
279 self.refactoringExtractMethodAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
280 self.tr("Extract the highlighted area as a method")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
281 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
282 self.refactoringExtractMethodAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
283 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
284 """<b>Extract method</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
285 """<p>Extract the highlighted area as a method or function.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
286 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
287 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
288 self.refactoringExtractMethodAct.triggered.connect(self.__extractMethod)
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
289 self.actions.append(self.refactoringExtractMethodAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
290
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
291 self.refactoringExtractLocalVariableAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
292 self.tr("Extract local variable"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
293 self.tr("&Extract Local Variable"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
294 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
295 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
296 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
297 "refactoring_extract_variable",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
298 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
299 self.refactoringExtractLocalVariableAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
300 self.tr("Extract the highlighted area as a local variable")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
301 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
302 self.refactoringExtractLocalVariableAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
303 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
304 """<b>Extract local variable</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
305 """<p>Extract the highlighted area as a local variable.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
306 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
307 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
308 self.refactoringExtractLocalVariableAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
309 self.__extractLocalVariable
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
310 )
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
311 self.actions.append(self.refactoringExtractLocalVariableAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
312
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
313 #####################################################
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
314 ## Inline refactoring actions
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
315 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
316
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
317 self.refactoringInlineAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
318 self.tr("Inline"), self.tr("&Inline"), 0, 0, self, "refactoring_inline"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
319 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
320 self.refactoringInlineAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
321 self.tr("Inlines the selected local variable or method")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
322 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
323 self.refactoringInlineAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
324 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
325 """<b>Inline</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
326 """<p>Inlines the selected local variable or method.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
327 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
328 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
329 self.refactoringInlineAct.triggered.connect(self.__inline)
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
330 self.actions.append(self.refactoringInlineAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
331
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
332 #####################################################
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
333 ## Move refactoring actions
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
334 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
335
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
336 self.refactoringMoveMethodAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
337 self.tr("Move method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
338 self.tr("Mo&ve Method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
339 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
340 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
341 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
342 "refactoring_move_method",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
343 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
344 self.refactoringMoveMethodAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
345 self.tr("Move the highlighted method to another class")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
346 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
347 self.refactoringMoveMethodAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
348 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
349 """<b>Move method</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
350 """<p>Move the highlighted method to another class.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
351 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
352 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
353 self.refactoringMoveMethodAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
354 lambda: self.__move("move_method")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
355 )
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
356 self.actions.append(self.refactoringMoveMethodAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
357
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
358 self.refactoringMoveModuleAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
359 self.tr("Move current module"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
360 self.tr("Move Current Module"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
361 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
362 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
363 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
364 "refactoring_move_module",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
365 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
366 self.refactoringMoveModuleAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
367 self.tr("Move the current module to another package")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
368 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
369 self.refactoringMoveModuleAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
370 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
371 """<b>Move current module</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
372 """<p>Move the current module to another package.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
373 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
374 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
375 self.refactoringMoveModuleAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
376 lambda: self.__move("move_module")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
377 )
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
378 self.actions.append(self.refactoringMoveModuleAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
379
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
380 #####################################################
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
381 ## Use function refactoring action
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
382 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
383
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
384 self.refactoringUseFunctionAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
385 self.tr("Use Function"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
386 self.tr("Use Function"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
387 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
388 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
389 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
390 "refactoring_use_function",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
391 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
392 self.refactoringUseFunctionAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
393 self.tr("Use a function wherever possible.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
394 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
395 self.refactoringUseFunctionAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
396 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
397 """<b>Use function</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
398 """<p>Tries to use a function wherever possible.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
399 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
400 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
401 self.refactoringUseFunctionAct.triggered.connect(self.__useFunction)
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
402 self.actions.append(self.refactoringUseFunctionAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
403
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
404 #####################################################
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
405 ## Introduce refactorings actions
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
406 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
407
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
408 self.refactoringIntroduceFactoryAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
409 self.tr("Introduce Factory Method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
410 self.tr("Introduce &Factory Method"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
411 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
412 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
413 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
414 "refactoring_introduce_factory_method",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
415 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
416 self.refactoringIntroduceFactoryAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
417 self.tr("Introduce a factory method or function")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
418 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
419 self.refactoringIntroduceFactoryAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
420 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
421 """<b>Introduce Factory Method</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
422 """<p>Introduce a factory method or function.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
423 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
424 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
425 self.refactoringIntroduceFactoryAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
426 self.__introduceFactoryMethod
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
427 )
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
428 self.actions.append(self.refactoringIntroduceFactoryAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
429
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
430 self.refactoringIntroduceParameterAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
431 self.tr("Introduce Parameter"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
432 self.tr("Introduce &Parameter"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
433 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
434 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
435 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
436 "refactoring_introduce_parameter_method",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
437 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
438 self.refactoringIntroduceParameterAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
439 self.tr("Introduce a parameter in a function")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
440 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
441 self.refactoringIntroduceParameterAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
442 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
443 """<b>Introduce Parameter</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
444 """<p>Introduce a parameter in a function.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
445 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
446 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
447 self.refactoringIntroduceParameterAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
448 self.__introduceParameter
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
449 )
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
450 self.actions.append(self.refactoringIntroduceParameterAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
451
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
452 #####################################################
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
453 ## Import refactorings actions
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
454 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
455
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
456 self.refactoringImportsOrganizeAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
457 self.tr("Organize Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
458 self.tr("&Organize Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
459 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
460 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
461 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
462 "refactoring_organize_imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
463 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
464 self.refactoringImportsOrganizeAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
465 self.tr("Sort imports according to PEP-8")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
466 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
467 self.refactoringImportsOrganizeAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
468 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
469 """<b>Organize Imports</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
470 """<p>Sort imports according to PEP-8.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
471 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
472 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
473 self.refactoringImportsOrganizeAct.triggered.connect(self.__importsOrganize)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
474 self.actions.append(self.refactoringImportsOrganizeAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
475
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
476 self.refactoringImportsStarExpandAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
477 self.tr("Expand Star Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
478 self.tr("E&xpand Star Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
479 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
480 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
481 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
482 "refactoring_expand_star_imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
483 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
484 self.refactoringImportsStarExpandAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
485 self.tr('Expand imports like "from xxx import *"')
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
486 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
487 self.refactoringImportsStarExpandAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
488 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
489 """<b>Expand Star Imports</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
490 """<p>Expand imports like "from xxx import *".</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
491 """<p>Select the import to act on or none to do all."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
492 """ Unused imports are deleted.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
493 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
494 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
495 self.refactoringImportsStarExpandAct.triggered.connect(self.__importsExpandStar)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
496 self.actions.append(self.refactoringImportsStarExpandAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
497
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
498 self.refactoringImportsRelativeToAbsoluteAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
499 self.tr("Relative to Absolute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
500 self.tr("Relative to &Absolute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
501 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
502 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
503 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
504 "refactoring_relative_to_absolute_imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
505 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
506 self.refactoringImportsRelativeToAbsoluteAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
507 self.tr("Transform relative imports to absolute ones")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
508 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
509 self.refactoringImportsRelativeToAbsoluteAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
510 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
511 """<b>Relative to Absolute</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
512 """<p>Transform relative imports to absolute ones.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
513 """<p>Select the import to act on or none to do all."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
514 """ Unused imports are deleted.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
515 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
516 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
517 self.refactoringImportsRelativeToAbsoluteAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
518 self.__importsRelativeToAbsolute
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
519 )
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
520 self.actions.append(self.refactoringImportsRelativeToAbsoluteAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
521
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
522 self.refactoringImportsFromsToImportsAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
523 self.tr("Froms to Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
524 self.tr("Froms to &Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
525 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
526 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
527 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
528 "refactoring_froms_to_imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
529 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
530 self.refactoringImportsFromsToImportsAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
531 self.tr("Transform From imports to plain imports")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
532 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
533 self.refactoringImportsFromsToImportsAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
534 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
535 """<b>Froms to Imports</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
536 """<p>Transform From imports to plain imports.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
537 """<p>Select the import to act on or none to do all."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
538 """ Unused imports are deleted.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
539 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
540 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
541 self.refactoringImportsFromsToImportsAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
542 self.__importsFromToImport
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
543 )
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
544 self.actions.append(self.refactoringImportsFromsToImportsAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
545
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
546 self.refactoringImportsHandleLongAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
547 self.tr("Handle Long Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
548 self.tr("Handle &Long Imports"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
549 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
550 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
551 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
552 "refactoring_organize_imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
553 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
554 self.refactoringImportsHandleLongAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
555 self.tr("Transform long import statements to look better")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
556 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
557 self.refactoringImportsHandleLongAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
558 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
559 """<b>Handle Long Imports</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
560 """<p>Transform long import statements to look better.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
561 """<p>Select the import to act on or none to do all."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
562 """ Unused imports are deleted.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
563 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
564 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
565 self.refactoringImportsHandleLongAct.triggered.connect(self.__importsHandleLong)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
566 self.actions.append(self.refactoringImportsHandleLongAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
567
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
568 #####################################################
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
569 ## Various refactorings actions
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
570 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
571
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
572 self.refactoringRestructureAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
573 self.tr("Restructure"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
574 self.tr("Res&tructure"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
575 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
576 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
577 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
578 "refactoring_restructure",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
579 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
580 self.refactoringRestructureAct.setStatusTip(self.tr("Restructure code"))
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
581 self.refactoringRestructureAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
582 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
583 """<b>Restructure</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
584 """<p>Restructure code. See "Rope Help" for examples.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
585 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
586 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
587 self.refactoringRestructureAct.triggered.connect(self.__restructure)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
588 self.actions.append(self.refactoringRestructureAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
589
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
590 self.refactoringChangeSignatureAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
591 self.tr("Change Method Signature"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
592 self.tr("&Change Method Signature"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
593 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
594 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
595 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
596 "refactoring_change_method_signature",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
597 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
598 self.refactoringChangeSignatureAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
599 self.tr("Change the signature of the selected method or function")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
600 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
601 self.refactoringChangeSignatureAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
602 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
603 """<b>Change Method Signature</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
604 """<p>Change the signature of the selected method"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
605 """ or function.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
606 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
607 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
608 self.refactoringChangeSignatureAct.triggered.connect(self.__changeSignature)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
609 self.actions.append(self.refactoringChangeSignatureAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
610
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
611 self.refactoringInlineArgumentDefaultAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
612 self.tr("Inline Argument Default"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
613 self.tr("Inline &Argument Default"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
614 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
615 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
616 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
617 "refactoring_inline_argument_default",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
618 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
619 self.refactoringInlineArgumentDefaultAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
620 self.tr("Inline a parameters default value")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
621 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
622 self.refactoringInlineArgumentDefaultAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
623 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
624 """<b>Inline Argument Default</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
625 """<p>Inline a parameters default value.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
626 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
627 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
628 self.refactoringInlineArgumentDefaultAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
629 self.__inlineArgumentDefault
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
630 )
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
631 self.actions.append(self.refactoringInlineArgumentDefaultAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
632
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
633 self.refactoringTransformModuleAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
634 self.tr("Transform Module to Package"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
635 self.tr("Transform Module to Package"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
636 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
637 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
638 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
639 "refactoring_transform_module_to_package",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
640 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
641 self.refactoringTransformModuleAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
642 self.tr("Transform the current module to a package")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
643 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
644 self.refactoringTransformModuleAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
645 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
646 """<b>Transform Module to Package</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
647 """<p>Transform the current module to a package.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
648 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
649 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
650 self.refactoringTransformModuleAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
651 self.__transformModuleToPackage
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
652 )
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
653 self.actions.append(self.refactoringTransformModuleAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
654
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
655 self.refactoringEncapsulateAttributeAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
656 self.tr("Encapsulate Attribute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
657 self.tr("Encap&sulate Attribute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
658 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
659 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
660 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
661 "refactoring_encapsulate_attribute",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
662 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
663 self.refactoringEncapsulateAttributeAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
664 self.tr("Generate a getter/setter for an attribute")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
665 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
666 self.refactoringEncapsulateAttributeAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
667 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
668 """<b>Encapsulate Attribute</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
669 """<p>Generate a getter/setter for an attribute and changes"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
670 """ its occurrences to use them.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
671 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
672 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
673 self.refactoringEncapsulateAttributeAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
674 self.__encapsulateAttribute
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
675 )
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
676 self.actions.append(self.refactoringEncapsulateAttributeAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
677
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
678 self.refactoringLocalVariableToAttributeAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
679 self.tr("Local Variable to Attribute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
680 self.tr("Local Varia&ble to Attribute"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
681 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
682 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
683 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
684 "refactoring_local_variable_to_attribute",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
685 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
686 self.refactoringLocalVariableToAttributeAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
687 self.tr("Change a local variable to an attribute")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
688 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
689 self.refactoringLocalVariableToAttributeAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
690 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
691 """<b>Local Variable to Attribute</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
692 """<p>Change a local variable to an attribute.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
693 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
694 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
695 self.refactoringLocalVariableToAttributeAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
696 self.__convertLocalToAttribute
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
697 )
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
698 self.actions.append(self.refactoringLocalVariableToAttributeAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
699
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
700 self.refactoringMethodToMethodObjectAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
701 self.tr("Method To Method Object"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
702 self.tr("Method To Method Ob&ject"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
703 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
704 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
705 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
706 "refactoring_method_to_methodobject",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
707 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
708 self.refactoringMethodToMethodObjectAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
709 self.tr("Transform a function or a method to a method object")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
710 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
711 self.refactoringMethodToMethodObjectAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
712 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
713 """<b>Method To Method Object</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
714 """<p>Transform a function or a method to a method object.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
715 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
716 )
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
717 self.refactoringMethodToMethodObjectAct.triggered.connect(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
718 self.__methodToMethodObject
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
719 )
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
720 self.actions.append(self.refactoringMethodToMethodObjectAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
721
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
722 #####################################################
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
723 ## History actions
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
724 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
725
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
726 self.refactoringProjectHistoryAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
727 self.tr("Show Project History"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
728 self.tr("Show Project History..."),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
729 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
730 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
731 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
732 "refactoring_show_project_history",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
733 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
734 self.refactoringProjectHistoryAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
735 self.tr("Show the refactoring history of the project")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
736 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
737 self.refactoringProjectHistoryAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
738 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
739 """<b>Show Project History</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
740 """<p>This opens a dialog to show the refactoring history of"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
741 """ the project.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
742 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
743 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
744 self.refactoringProjectHistoryAct.triggered.connect(self.__showProjectHistory)
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
745 self.actions.append(self.refactoringProjectHistoryAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
746
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
747 self.refactoringFileHistoryAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
748 self.tr("Show Current File History"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
749 self.tr("Show Current File History..."),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
750 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
751 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
752 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
753 "refactoring_show_file_history",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
754 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
755 self.refactoringFileHistoryAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
756 self.tr("Show the refactoring history of the current file")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
757 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
758 self.refactoringFileHistoryAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
759 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
760 """<b>Show Current File History</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
761 """<p>This opens a dialog to show the refactoring history of"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
762 """ the current file.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
763 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
764 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
765 self.refactoringFileHistoryAct.triggered.connect(self.__showFileHistory)
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
766 self.actions.append(self.refactoringFileHistoryAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
767
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
768 self.refactoringClearHistoryAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
769 self.tr("Clear History"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
770 self.tr("Clear History"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
771 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
772 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
773 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
774 "refactoring_clear_history",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
775 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
776 self.refactoringClearHistoryAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
777 self.tr("Clear the refactoring history")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
778 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
779 self.refactoringClearHistoryAct.setWhatsThis(
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
780 self.tr("""<b>Clear History</b><p>Clears the refactoring history.</p>""")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
781 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
782 self.refactoringClearHistoryAct.triggered.connect(self.__clearHistory)
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
783 self.actions.append(self.refactoringClearHistoryAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
784
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
785 #####################################################
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
786 ## Query actions
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
787 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
788
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
789 self.queryReferencesAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
790 self.tr("Find occurrences"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
791 self.tr("Find &Occurrences"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
792 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
793 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
794 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
795 "refactoring_find_occurrences",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
796 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
797 self.queryReferencesAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
798 self.tr("Find occurrences of the highlighted object")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
799 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
800 self.queryReferencesAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
801 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
802 """<b>Find occurrences</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
803 """<p>Find occurrences of the highlighted class, method,"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
804 """ function or variable.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
805 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
806 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
807 self.queryReferencesAct.triggered.connect(self.__queryReferences)
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
808 self.actions.append(self.queryReferencesAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
809
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
810 self.queryDefinitionAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
811 self.tr("Find definition"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
812 self.tr("Find &Definition"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
813 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
814 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
815 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
816 "refactoring_find_definition",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
817 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
818 self.queryDefinitionAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
819 self.tr("Find definition of the highlighted item")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
820 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
821 self.queryDefinitionAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
822 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
823 """<b>Find definition</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
824 """<p>Find the definition of the highlighted class, method,"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
825 """ function or variable.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
826 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
827 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
828 self.queryDefinitionAct.triggered.connect(self.__queryDefinition)
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
829 self.actions.append(self.queryDefinitionAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
830
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
831 self.queryImplementationsAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
832 self.tr("Find implementations"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
833 self.tr("Find &Implementations"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
834 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
835 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
836 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
837 "refactoring_find_implementations",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
838 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
839 self.queryImplementationsAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
840 self.tr("Find places where the selected method is overridden")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
841 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
842 self.queryImplementationsAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
843 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
844 """<b>Find implementations</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
845 """<p>Find places where the selected method is overridden.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
846 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
847 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
848 self.queryImplementationsAct.triggered.connect(self.__queryImplementations)
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
849 self.actions.append(self.queryImplementationsAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
850
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
851 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
852 ## Various actions
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
853 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
854
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
855 self.refactoringEditConfigAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
856 self.tr("Configure Rope"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
857 self.tr("&Configure Rope"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
858 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
859 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
860 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
861 "refactoring_edit_config",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
862 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
863 self.refactoringEditConfigAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
864 self.tr("Open the rope configuration file")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
865 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
866 self.refactoringEditConfigAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
867 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
868 """<b>Configure Rope</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
869 """<p>Opens the rope configuration file in an editor.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
870 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
871 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
872 self.refactoringEditConfigAct.triggered.connect(self.__editConfig)
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
873 self.refactoringEditConfigAct.setMenuRole(QAction.MenuRole.NoRole)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
874 self.actions.append(self.refactoringEditConfigAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
875
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
876 self.refactoringHelpAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
877 self.tr("Rope Help"), self.tr("Rope &Help"), 0, 0, self, "refactoring_help"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
878 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
879 self.refactoringHelpAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
880 self.tr("Show help about the rope refactorings")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
881 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
882 self.refactoringHelpAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
883 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
884 """<b>Rope help</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
885 """<p>Show some help text about the rope refactorings.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
886 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
887 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
888 self.refactoringHelpAct.triggered.connect(self.__showRopeHelp)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
889 self.actions.append(self.refactoringHelpAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
890
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
891 self.refactoringAllSoaAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
892 self.tr("Analyse all modules"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
893 self.tr("&Analyse all modules"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
894 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
895 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
896 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
897 "refactoring_analyze_all",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
898 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
899 self.refactoringAllSoaAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
900 self.tr("Perform static object analysis on all modules")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
901 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
902 self.refactoringAllSoaAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
903 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
904 """<b>Analyse all modules</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
905 """<p>Perform static object analysis (SOA) on all modules. """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
906 """This might be time consuming. Analysis of all modules """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
907 """should only be neccessary, if the project was created """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
908 """with the rope plugin disabled or if files were added.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
909 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
910 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
911 self.refactoringAllSoaAct.triggered.connect(self.__performSOA)
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
912 self.actions.append(self.refactoringAllSoaAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
913
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
914 self.updateConfigAct = EricAction(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
915 self.tr("Update Configuration"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
916 self.tr("&Update Configuration"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
917 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
918 0,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
919 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
920 "refactoring_update_configuration",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
921 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
922 self.updateConfigAct.setStatusTip(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
923 self.tr("Generates a new configuration file overwriting the current one.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
924 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
925 self.updateConfigAct.setWhatsThis(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
926 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
927 """<b>Update Configuration</b>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
928 """<p>Generates a new configuration file overwriting"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
929 """ the current one.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
930 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
931 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
932 self.updateConfigAct.triggered.connect(self.__updateConfig)
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
933 self.actions.append(self.updateConfigAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
934
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
935 for act in self.actions:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
936 act.setEnabled(False)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
937
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
938 def __initMenu(self):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
939 """
191
2af42804bca2 Did some code refactoring and removed backward compatability code for eric < 6.1.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
940 Private slot to initialize the refactoring menu.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
941
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
942 @return the menu generated
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
943 @rtype QMenu
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
944 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
945 menu = QMenu(self.tr("&Refactoring"), self.__ui)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
946 menu.setTearOffEnabled(True)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
947
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
948 act = menu.addAction("rope", self.__ropeInfo)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
949 font = act.font()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
950 font.setBold(True)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
951 act.setFont(font)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
952 menu.addSeparator()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
953
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
954 smenu = menu.addMenu(self.tr("&Query"))
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
955 smenu.addAction(self.queryReferencesAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
956 smenu.addAction(self.queryDefinitionAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
957 smenu.addAction(self.queryImplementationsAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
958
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
959 smenu = menu.addMenu(self.tr("&Refactoring"))
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
960 smenu.addAction(self.refactoringRenameAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
961 smenu.addAction(self.refactoringRenameLocalAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
962 smenu.addAction(self.refactoringChangeOccurrencesAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
963 smenu.addSeparator()
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
964 smenu.addAction(self.refactoringExtractMethodAct)
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
965 smenu.addAction(self.refactoringMoveMethodAct)
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
966 smenu.addSeparator()
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
967 smenu.addAction(self.refactoringInlineAct)
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
968 smenu.addSeparator()
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
969 smenu.addAction(self.refactoringExtractLocalVariableAct)
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
970 smenu.addSeparator()
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
971 smenu.addAction(self.refactoringUseFunctionAct)
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
972 smenu.addSeparator()
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
973 smenu.addAction(self.refactoringChangeSignatureAct)
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
974 smenu.addAction(self.refactoringInlineArgumentDefaultAct)
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
975 smenu.addSeparator()
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
976 smenu.addAction(self.refactoringRestructureAct)
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
977 smenu.addSeparator()
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
978 smenu.addAction(self.refactoringIntroduceFactoryAct)
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
979 smenu.addAction(self.refactoringIntroduceParameterAct)
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
980 smenu.addAction(self.refactoringMethodToMethodObjectAct)
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
981 smenu.addSeparator()
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
982 smenu.addAction(self.refactoringEncapsulateAttributeAct)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
983 smenu.addAction(self.refactoringLocalVariableToAttributeAct)
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
984 smenu.addSeparator()
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
985 smenu.addAction(self.refactoringRenameModuleAct)
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
986 smenu.addAction(self.refactoringMoveModuleAct)
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
987 smenu.addAction(self.refactoringTransformModuleAct)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
988 smenu.addSeparator()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
989
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
990 imenu = smenu.addMenu(self.tr("Im&ports"))
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
991 imenu.addAction(self.refactoringImportsOrganizeAct)
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
992 imenu.addAction(self.refactoringImportsStarExpandAct)
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
993 imenu.addAction(self.refactoringImportsRelativeToAbsoluteAct)
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
994 imenu.addAction(self.refactoringImportsFromsToImportsAct)
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
995 imenu.addAction(self.refactoringImportsHandleLongAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
996
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
997 smenu.addSeparator()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
998
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
999 hmenu = smenu.addMenu(self.tr("History"))
31
0389d4a924cc Dropped support for eric 5.0.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
1000 hmenu.aboutToShow.connect(self.__showRefactoringHistoryMenu)
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1001 hmenu.addAction(self.refactoringProjectHistoryAct)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1002 hmenu.addAction(self.refactoringFileHistoryAct)
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1003 hmenu.addSeparator()
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1004 hmenu.addAction(self.refactoringClearHistoryAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1005
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1006 smenu = menu.addMenu(self.tr("&Utilities"))
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
1007 smenu.addAction(self.refactoringAllSoaAct)
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
1008 smenu.addSeparator()
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
1009 smenu.addAction(self.updateConfigAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1010
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1011 menu.addSeparator()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1012 menu.addAction(self.refactoringEditConfigAct)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1013 menu.addAction(self.refactoringHelpAct)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1014
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1015 return menu
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1016
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1017 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1018 ## slots below implement general functionality
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1019 ##################################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1020
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1021 def __ropeInfo(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1022 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1023 Private slot to show some info about rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1024 """
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
1025 if self.__ropeConfig:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1026 EricMessageBox.about(
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
1027 self.__ui,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
1028 self.tr("About rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1029 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1030 "{0}\nVersion {1}\n\n{2}".format(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1031 self.__ropeConfig["RopeInfo"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1032 self.__ropeConfig["RopeVersion"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1033 self.__ropeConfig["RopeCopyright"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1034 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1035 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1036 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1037
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1038 def __showRefactoringHistoryMenu(self):
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1039 """
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1040 Private slot called before the refactoring history menu is shown.
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1041 """
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1042 aw = self.__vm.activeWindow()
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1043 enable = aw is not None and bool(aw.getFileName())
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1044
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1045 self.refactoringFileHistoryAct.setEnabled(enable)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1046
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1047 def handleRopeError(self, result):
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1048 """
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1049 Public method to handle a rope error.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1050
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1051 @param result dictionary containing the error information
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1052 @type dict
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1053 @return flag indicating, that the error is to be ignored
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1054 @rtype bool
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1055 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1056 from .ErrorDialog import ErrorDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1057
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1058 if "Error" not in result:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1059 return True
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1060
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
1061 title = result.get("Title", self.tr("Rope Error"))
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1062
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1063 if result["Error"] == "ModuleSyntaxError":
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1064 res = EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1065 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1066 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1067 self.tr("Rope error: {0}").format(result["ErrorString"]),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1068 EricMessageBox.Ok | EricMessageBox.Open,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1069 )
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1070 if res == EricMessageBox.Open:
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1071 self.__vm.openSourceFile(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1072 os.path.join(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1073 self.__ericProject.getProjectPath(), result["ErrorFile"]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1074 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1075 result["ErrorLine"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1076 )
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1077 elif result["Error"] == "InterruptedTaskError":
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1078 return True
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1079 else:
251
4dcc73076100 Removed the Python3 only rope variant and introduced an extended error dialog showing a traceback for errors within the rope library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 245
diff changeset
1080 ErrorDialog(
4dcc73076100 Removed the Python3 only rope variant and introduced an extended error dialog showing a traceback for errors within the rope library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 245
diff changeset
1081 title,
4dcc73076100 Removed the Python3 only rope variant and introduced an extended error dialog showing a traceback for errors within the rope library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 245
diff changeset
1082 self.tr("Rope error: {0}").format(result["ErrorString"]),
4dcc73076100 Removed the Python3 only rope variant and introduced an extended error dialog showing a traceback for errors within the rope library.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 245
diff changeset
1083 traceback=result["Traceback"],
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1084 parent=self.__ui,
341
c43844eb47b7 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 335
diff changeset
1085 ).exec()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1086
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1087 return False
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1088
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1089 def __getOffset(self, editor, line, index):
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1090 r"""
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1091 Private method to get the offset into the text treating CRLF as ONE
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1092 character.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1093
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1094 Note: rope seems to convert all EOL styles to just \n.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1095
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1096 @param editor reference to the editor
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1097 @type Editor
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1098 @param line line for the offset
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1099 @type int
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1100 @param index index into line for the offset
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1101 @type int
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1102 @return rope compliant offset into the file
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1103 @rtype int
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1104 """
116
50cb62506ab2 Fixed a bug in the refactoring module and added Portugese translations provided by Candido Fontes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 106
diff changeset
1105 source = editor.text()
103
2d77b3afc98f Changed the way the offset into the text gets calculated because rope handles unicode characters as one character (i.e. string) and QScintilla as multiple (i.e. bytes).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 94
diff changeset
1106 offset = len("".join(source.splitlines(True)[:line])) + index
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1107 if editor.eolMode() == QsciScintilla.EolMode.EolWindows:
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1108 offset -= line
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1109 return offset
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1110
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1111 ##################################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1112 ## slots below implement the various refactorings
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1113 ##################################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1114
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1115 def __processChanges(self, result):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1116 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1117 Private method to process the changes data sent by the refactoring
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1118 client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1119
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1120 @param result dictionary containing the changes data
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1121 @type dict
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1122 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1123 if self.handleRopeError(result):
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1124 changeGroup = result["ChangeGroup"]
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
1125 with contextlib.suppress(KeyError):
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1126 self.__refactoringDialogs[changeGroup].processChangeData(result)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1127
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
1128 def __refactoringDialogClosed(self, changeGroup):
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1129 """
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1130 Private slot handling the closing of a refactoring dialog.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1131
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
1132 @param changeGroup name of the refactoring change group the dialog
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
1133 belonged to
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
1134 @type str
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1135 """
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
1136 with contextlib.suppress(KeyError):
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
1137 del self.__refactoringDialogs[changeGroup]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1138
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1139 #####################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1140 ## Rename refactorings
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1141 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1142
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1143 def __rename(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1144 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1145 Private slot to handle the Rename action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1146 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1147 self.__doRename(self.tr("Rename"))
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1148
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1149 def __renameLocal(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1150 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1151 Private slot to handle the Local Rename action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1152 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1153 self.__doRename(self.tr("Local Rename"), isLocal=True)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1154
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1155 def __renameModule(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1156 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1157 Private slot to handle the Rename Current Module action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1158 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1159 self.__doRename(self.tr("Rename Current Module"), renameModule=True)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1160
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1161 def __doRename(self, title, isLocal=False, renameModule=False):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1162 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1163 Private method to perform the various renaming refactorings.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1164
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1165 @param title title of the refactoring
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1166 @type str
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1167 @param isLocal flag indicating to restrict refactoring to
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1168 the local file
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1169 @type bool
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1170 @param renameModule flag indicating a module rename refactoring
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1171 @type bool
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1172 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1173 from .RenameDialog import RenameDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1174
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1175 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1176
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1177 if aw is None:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1178 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1179
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1180 if not renameModule and not aw.hasSelectedText():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1181 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1182 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1183 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1184 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1185 self.tr("Highlight the declaration you want to rename and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1186 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1187 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1188
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1189 if isLocal:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1190 if not self.confirmBufferIsSaved(aw):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1191 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1192 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1193 if not self.confirmAllBuffersSaved():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1194 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1195
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1196 filename = aw.getFileName()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1197 if renameModule:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1198 offset = None
325
9b08802a8e1a RefactoringServer: added a little convenience code for renaming packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 320
diff changeset
1199 if os.path.basename(filename) == "__init__.py":
9b08802a8e1a RefactoringServer: added a little convenience code for renaming packages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 320
diff changeset
1200 filename = os.path.dirname(filename)
122
3696915ebc80 Rename dialog show actual name as preset value for editing.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 121
diff changeset
1201 selectedText, _ = os.path.splitext(os.path.basename(filename))
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1202 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1203 line, index, line1, index1 = aw.getSelection()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1204 if line != line1:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1205 # selection span more than one line
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1206 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1207 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1208 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1209 self.tr("The selection must not extend beyond one line."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1210 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1211 return
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1212 index = int(index + (index1 - index) / 2)
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1213 # keep it inside the object
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1214 offset = self.__getOffset(aw, line, index)
122
3696915ebc80 Rename dialog show actual name as preset value for editing.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 121
diff changeset
1215 selectedText = aw.selectedText()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1216
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1217 dlg = RenameDialog(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1218 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1219 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1220 filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1221 offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1222 isLocal,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1223 selectedText=selectedText,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1224 parent=self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1225 )
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1226 changeGroup = dlg.getChangeGroupName()
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1227 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1228 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
1229 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1230
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1231 def __changeOccurrences(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1232 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1233 Private slot to perform the Change Occurrences refactoring.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1234 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1235 from .ChangeOccurrencesDialog import ChangeOccurrencesDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1236
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1237 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1238
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1239 if aw is None:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1240 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1241
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1242 title = self.tr("Change Occurrences")
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1243 if not aw.hasSelectedText():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1244 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1245 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1246 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1247 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1248 self.tr("Highlight an occurrence to be changed and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1249 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1250 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1251
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1252 if not self.confirmBufferIsSaved(aw):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1253 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1254
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1255 filename = aw.getFileName()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
1256 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1257 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1258
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1259 dlg = ChangeOccurrencesDialog(self, title, filename, offset, parent=self.__ui)
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
1260 changeGroup = dlg.getChangeGroupName()
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
1261 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1262 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
174
04583cac110f Implemented the distributed "Change Occurrences" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 173
diff changeset
1263 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1264
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1265 #####################################################
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1266 ## Extract refactorings
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1267 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1268
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1269 def __extractMethod(self):
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1270 """
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1271 Private slot to handle the Extract Method action.
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1272 """
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1273 self.__doExtract(self.tr("Extract Method"), "method")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1274
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1275 def __extractLocalVariable(self):
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1276 """
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1277 Private slot to handle the Extract Local Variable action.
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1278 """
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1279 self.__doExtract(self.tr("Extract Local Variable"), "variable")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1280
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1281 def __doExtract(self, title, kind):
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1282 """
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1283 Private method to perform the extract refactoring.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1284
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1285 @param title title of the refactoring
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1286 @type str
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1287 @param kind kind of extraction to be done
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1288 @type str ("method" or "variable")
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1289 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1290 from .ExtractDialog import ExtractDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1291
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1292 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1293
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1294 if aw is None:
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1295 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1296
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1297 if not aw.hasSelectedText():
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1298 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1299 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1300 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1301 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1302 self.tr(
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1303 "Highlight the region of code you want to extract and try again."
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1304 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1305 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1306 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1307
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1308 if not self.confirmBufferIsSaved(aw):
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1309 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1310
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1311 filename = aw.getFileName()
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1312 startline, startcolumn, endline, endcolumn = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1313 startOffset = self.__getOffset(aw, startline, startcolumn)
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1314 endOffset = self.__getOffset(aw, endline, endcolumn)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1315
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1316 dlg = ExtractDialog(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1317 self, title, filename, startOffset, endOffset, kind, parent=self.__ui
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1318 )
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1319 changeGroup = dlg.getChangeGroupName()
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1320 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1321 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
175
72a1d9030d67 Implemented the distributed "Extract" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 174
diff changeset
1322 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1323
5
49a4abfc1f89 Added the extract refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4
diff changeset
1324 #####################################################
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1325 ## Inline refactorings
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1326 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1327
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1328 def __inline(self):
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1329 """
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1330 Private slot to handle the Inline Local Variable action.
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1331 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1332 from .InlineDialog import InlineDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1333
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1334 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1335
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1336 if aw is None:
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1337 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1338
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1339 title = self.tr("Inline")
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1340 if not aw.hasSelectedText():
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1341 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1342 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1343 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1344 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1345 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1346 "Highlight the local variable, method or parameter"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1347 " you want to inline and try again."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1348 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1349 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1350 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1351
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1352 if not self.confirmAllBuffersSaved():
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1353 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1354
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1355 filename = aw.getFileName()
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1356 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1357 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1358
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
1359 dlg = InlineDialog(self, title, filename, offset, parent=self.__ui)
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
1360 changeGroup = dlg.getChangeGroupName()
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
1361 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1362 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
176
117d86025a5c Implemented the distributed "Inline" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 175
diff changeset
1363 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1364
6
07dabc6bb157 Added the inline refactoring function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5
diff changeset
1365 #####################################################
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1366 ## Move refactorings
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1367 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1368
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1369 def __move(self, moveKind):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1370 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1371 Private slot to handle the Move Method action.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1372
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1373 @param moveKind kind of move to be performed
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1374 @type str (one of 'move_method' or 'move_module')
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1375 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1376 from .MoveDialog import MoveDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1377
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1378 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1379
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1380 if aw is None:
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1381 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1382
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1383 if moveKind == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1384 title = self.tr("Move Method")
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1385 if not aw.hasSelectedText():
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1386 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1387 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1388 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1389 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1390 self.tr("Highlight the method to move and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1391 )
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1392 return
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1393 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1394 title = self.tr("Move Current Module")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1395
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1396 if not self.confirmAllBuffersSaved():
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1397 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1398
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1399 filename = aw.getFileName()
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1400 if moveKind == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1401 line, index, line1, index1 = aw.getSelection()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1402 offset = self.__getOffset(aw, line, index)
26
b02d1f37b55e Added a dialog to move a global method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
1403 else:
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1404 offset = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1405
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1406 dlg = MoveDialog(self, title, filename, offset, parent=self.__ui)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1407 changeGroup = dlg.getChangeGroupName()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1408 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1409 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 176
diff changeset
1410 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1411
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
1412 #####################################################
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1413 ## Use function refactoring
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1414 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1415
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1416 def __useFunction(self):
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1417 """
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1418 Private slot to use a function wherever possible.
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1419 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1420 from .UseFunctionDialog import UseFunctionDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1421
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1422 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1423
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1424 if aw is None:
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1425 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1426
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1427 title = self.tr("Use Function")
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1428 if not aw.hasSelectedText():
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1429 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1430 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1431 self.__ui, title, self.tr("Highlight a global function and try again.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1432 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1433 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1434
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1435 if not self.confirmAllBuffersSaved():
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1436 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1437
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1438 filename = aw.getFileName()
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1439 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1440 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1441
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1442 dlg = UseFunctionDialog(self, title, filename, offset, parent=self.__ui)
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1443 changeGroup = dlg.getChangeGroupName()
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1444 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1445 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
179
8ae4e95f5fa6 Implemented the distributed "Use Function" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
1446 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1447
8
fc14525f0501 Added the 'use function' refactoring.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
1448 #####################################################
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1449 ## Introduce refactorings
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1450 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1451
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1452 def __introduceFactoryMethod(self):
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1453 """
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1454 Private slot to introduce a factory method or global function.
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1455 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1456 from .IntroduceFactoryDialog import IntroduceFactoryDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1457
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1458 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1459
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1460 if aw is None:
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1461 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1462
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1463 title = self.tr("Introduce Factory Method")
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1464 if not aw.hasSelectedText():
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1465 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1466 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1467 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1468 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1469 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1470 "Highlight the class to introduce a factory"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1471 " method for and try again."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1472 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1473 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1474 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1475
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1476 if not self.confirmAllBuffersSaved():
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1477 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1478
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1479 filename = aw.getFileName()
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1480 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1481 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1482
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1483 dlg = IntroduceFactoryDialog(self, title, filename, offset, parent=self.__ui)
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1484 changeGroup = dlg.getChangeGroupName()
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1485 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1486 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
180
a33ef7ab8c54 Implemented the distributed "Introduce Factory Method" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 179
diff changeset
1487 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1488
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1489 def __introduceParameter(self):
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1490 """
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1491 Private slot to introduce a parameter in a function.
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1492 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1493 from .IntroduceParameterDialog import IntroduceParameterDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1494
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1495 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1496
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1497 if aw is None:
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1498 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1499
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1500 title = self.tr("Introduce Parameter")
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1501 if not aw.hasSelectedText():
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1502 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1503 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1504 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1505 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1506 self.tr("Highlight the code for the new parameter and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1507 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1508 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1509
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1510 if not self.confirmAllBuffersSaved():
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1511 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1512
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1513 filename = aw.getFileName()
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1514 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1515 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1516
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1517 dlg = IntroduceParameterDialog(self, title, filename, offset, parent=self.__ui)
181
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1518 changeGroup = dlg.getChangeGroupName()
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1519 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1520 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
181
3e3d6de2f0ca Implemented the distributed "Introduce Parameter" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 180
diff changeset
1521 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1522
10
0fdfae822ca7 Added the 'introduce' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8
diff changeset
1523 #####################################################
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1524 ## Import refactorings
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1525 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1526
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1527 def __importsOrganize(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1528 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1529 Private slot to organize imports.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1530 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1531 self.__doImports(self.tr("Organize Imports"), "organize_imports")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1532
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1533 def __importsExpandStar(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1534 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1535 Private slot to expand star imports.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1536 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1537 self.__doImports(self.tr("Expand Star Imports"), "expand_star_imports")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1538
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1539 def __importsRelativeToAbsolute(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1540 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1541 Private slot to transform relative to absolute imports.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1542 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1543 self.__doImports(self.tr("Relative to Absolute"), "relatives_to_absolutes")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1544
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1545 def __importsFromToImport(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1546 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1547 Private slot to transform from imports to plain imports.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1548 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1549 self.__doImports(self.tr("Froms to Imports"), "froms_to_imports")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1550
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1551 def __importsHandleLong(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1552 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1553 Private slot to handle long imports.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1554 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1555 self.__doImports(self.tr("Handle Long Imports"), "handle_long_imports")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1556
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1557 def __doImports(self, title, methodName):
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1558 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1559 Private method to perform the various imports refactorings.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1560
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1561 @param title title to be used for the import refactoring
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1562 @type str
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1563 @param methodName name of the method performing the import refactoring
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1564 @type str
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1565 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1566 from .ConfirmationDialog import ConfirmationDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1567
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1568 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1569
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1570 if aw is None:
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1571 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1572
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1573 if not self.confirmBufferIsSaved(aw):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1574 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1575
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1576 filename = aw.getFileName()
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1577 if aw.hasSelectedText():
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1578 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1579 offset = self.__getOffset(aw, line, index)
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1580 else:
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1581 offset = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1582
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1583 dlg = ConfirmationDialog(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1584 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1585 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1586 "Imports",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1587 "CalculateImportsChanges",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1588 {
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1589 "MethodName": methodName,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1590 "FileName": filename,
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1591 "Offset": offset,
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1592 },
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1593 parent=self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1594 )
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1595 changeGroup = dlg.getChangeGroupName()
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1596 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1597 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
182
f7f2834dc8d9 Implemented the distributed "Imports" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 181
diff changeset
1598 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1599
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1600 #####################################################
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1601 ## Various refactorings
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1602 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1603
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1604 def __restructure(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1605 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1606 Private slot to restructure code.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1607 """
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
1608 from .RestructureDialog import RestructureDialog
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1609
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1610 title = self.tr("Restructure")
183
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1611 dlg = RestructureDialog(self, title, parent=self.__ui)
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1612 changeGroup = dlg.getChangeGroupName()
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1613 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1614 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
183
bac69c80d5f4 Implemented the distributed "Restructure" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 182
diff changeset
1615 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1616
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1617 def __changeSignature(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1618 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1619 Private slot to change the signature of a method or function.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1620 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1621 from .ChangeSignatureDialog import ChangeSignatureDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1622
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1623 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1624
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1625 if aw is None:
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1626 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1627
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1628 title = self.tr("Change Method Signature")
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1629 if not aw.hasSelectedText():
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1630 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1631 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1632 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1633 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1634 self.tr("Highlight the method or function to change and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1635 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1636 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1637
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1638 if not self.confirmAllBuffersSaved():
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1639 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1640
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1641 filename = aw.getFileName()
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1642 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1643 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1644
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1645 dlg = ChangeSignatureDialog(self, title, filename, offset, parent=self.__ui)
184
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1646 changeGroup = dlg.getChangeGroupName()
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1647 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1648 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
184
4a806271f0b9 Implemented the distributed "Change Method Signature" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 183
diff changeset
1649 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1650
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1651 def __inlineArgumentDefault(self):
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1652 """
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1653 Private slot to inline the default value of a parameter of a
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1654 method or function.
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1655 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1656 from .InlineArgumentDefaultDialog import InlineArgumentDefaultDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1657
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1658 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1659
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1660 if aw is None:
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1661 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1662
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1663 title = self.tr("Inline Argument Default")
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1664 if not aw.hasSelectedText():
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1665 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1666 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1667 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1668 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1669 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1670 "Highlight the method or function to inline"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1671 " a parameter's default and try again."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1672 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1673 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1674 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1675
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1676 if not self.confirmAllBuffersSaved():
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1677 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1678
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1679 filename = aw.getFileName()
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1680 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1681 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1682
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1683 dlg = InlineArgumentDefaultDialog(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1684 self, title, filename, offset, parent=self.__ui
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1685 )
185
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1686 changeGroup = dlg.getChangeGroupName()
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1687 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1688 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
185
3336637a673b Implemented the distributed "Inline Argument Default" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 184
diff changeset
1689 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1690
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1691 def __transformModuleToPackage(self):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1692 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1693 Private slot to transform a module to a package.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1694 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1695 from .ConfirmationDialog import ConfirmationDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1696
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1697 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1698
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1699 if aw is None:
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1700 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1701
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1702 title = self.tr("Transform Module to Package")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1703
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1704 if not self.confirmAllBuffersSaved():
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1705 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1706
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1707 filename = aw.getFileName()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1708
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1709 dlg = ConfirmationDialog(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1710 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1711 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1712 "ModuleToPackage",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1713 "CalculateModuleToPackageChanges",
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1714 {
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1715 "FileName": filename,
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1716 },
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1717 parent=self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1718 )
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1719 changeGroup = dlg.getChangeGroupName()
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1720 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1721 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
186
d547caa795d7 Implemented the distributed "Transform Module to Package" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 185
diff changeset
1722 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1723
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1724 def __encapsulateAttribute(self):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1725 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1726 Private slot to encapsulate an attribute.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1727 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1728 from .GetterSetterDialog import GetterSetterDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1729
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1730 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1731
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1732 if aw is None:
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1733 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1734
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1735 title = self.tr("Encapsulate Attribute")
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1736 if not aw.hasSelectedText():
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1737 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1738 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1739 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1740 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1741 self.tr("Highlight the attribute to encapsulate and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1742 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1743 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1744
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1745 if not self.confirmAllBuffersSaved():
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1746 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1747
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1748 filename = aw.getFileName()
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1749 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1750 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1751
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1752 dlg = GetterSetterDialog(self, title, filename, offset, parent=self.__ui)
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1753 changeGroup = dlg.getChangeGroupName()
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1754 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1755 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1756 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1757
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1758 def __convertLocalToAttribute(self):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1759 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1760 Private slot to convert a local variable to an attribute.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1761 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1762 from .ConfirmationDialog import ConfirmationDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1763
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1764 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1765
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1766 if aw is None:
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1767 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1768
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1769 title = self.tr("Local Variable to Attribute")
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1770 if not aw.hasSelectedText():
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1771 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1772 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1773 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1774 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1775 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1776 "Highlight the local variable to make an attribute"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1777 " and try again."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1778 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1779 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1780 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1781
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1782 if not self.confirmAllBuffersSaved():
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1783 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1784
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1785 filename = aw.getFileName()
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 11
diff changeset
1786 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1787 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1788
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1789 dlg = ConfirmationDialog(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1790 self,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1791 title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1792 "LocalToAttribute",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1793 "CalculateLocalToAttributeChanges",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1794 {
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1795 "FileName": filename,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1796 "Offset": offset,
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1797 },
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1798 parent=self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1799 )
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1800 changeGroup = dlg.getChangeGroupName()
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1801 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1802 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
187
c7600eee9047 Implemented the distributed "Encapsulate Attribute" and "Convert Local to Attribute" refactoring methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 186
diff changeset
1803 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1804
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1805 def __methodToMethodObject(self):
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1806 """
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1807 Private slot to change the signature of a method or function.
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1808 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1809 from .MethodToMethodObjectDialog import MethodToMethodObjectDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1810
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1811 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1812
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1813 if aw is None:
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1814 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1815
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1816 title = self.tr("Replace Method With Method Object")
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1817 if not aw.hasSelectedText():
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1818 # no selection available
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1819 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1820 self.__ui,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1821 title,
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1822 self.tr("Highlight the method or function to convert and try again."),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1823 )
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
1824 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1825
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1826 if not self.confirmAllBuffersSaved():
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1827 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1828
13
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1829 filename = aw.getFileName()
dad628301abc Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 12
diff changeset
1830 line, index, line1, index1 = aw.getSelection()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1831 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1832
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1833 dlg = MethodToMethodObjectDialog(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1834 self, title, filename, offset, parent=self.__ui
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1835 )
188
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1836 changeGroup = dlg.getChangeGroupName()
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1837 self.__refactoringDialogs[changeGroup] = dlg
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1838 dlg.finished.connect(lambda: self.__refactoringDialogClosed(changeGroup))
188
05fb0977ce1b Implemented the distributed "Convert Method to Method Object" refactoring method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 187
diff changeset
1839 dlg.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1840
11
562f9758d2e1 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10
diff changeset
1841 #####################################################
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1842 ## Refactoring History
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1843 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1844
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1845 def __showProjectHistory(self):
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1846 """
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1847 Private method to show the project refactoring history.
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1848 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1849 from .HistoryDialog import HistoryDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1850
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1851 if self.__historyDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1852 self.__historyDialog.close()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1853
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1854 self.__historyDialog = HistoryDialog(self, parent=self.__ui)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1855 self.__historyDialog.finished.connect(self.__historyDialogClosed)
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1856 self.__historyDialog.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1857
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1858 def __showFileHistory(self):
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1859 """
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1860 Private method to show the refactoring history of the current file.
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1861 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1862 from .HistoryDialog import HistoryDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1863
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1864 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1865
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1866 if aw is None:
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1867 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1868
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1869 if self.__historyDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1870 self.__historyDialog.close()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1871
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1872 filename = aw.getFileName()
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1873 if filename:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1874 self.__historyDialog = HistoryDialog(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1875 self, filename=filename, parent=self.__ui
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1876 )
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1877 self.__historyDialog.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1878
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1879 def __clearHistory(self):
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1880 """
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1881 Private slot to clear the redo and undo lists.
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1882 """
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1883 res = EricMessageBox.yesNo(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1884 None,
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1885 self.tr("Clear History"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1886 self.tr("Do you really want to clear the refactoring history?"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1887 )
48
de33dc93a3ac Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 46
diff changeset
1888 if res:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1889 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1890 "History",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1891 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1892 "Subcommand": "Clear",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1893 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1894 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1895
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1896 if self.__historyDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1897 self.__historyDialog.historyCleared()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1898
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1899 def __processHistoryResult(self, result):
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1900 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1901 Private method to process the history data sent by the refactoring
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1902 client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1903
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1904 @param result dictionary containing the history data
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1905 @type dict
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1906 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1907 if self.handleRopeError(result) and self.__historyDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1908 self.__historyDialog.processHistoryCommand(result)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1909
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1910 def __historyDialogClosed(self):
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1911 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1912 Private slot handling the closing of the history dialog.
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1913 """
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1914 self.__historyDialog = None
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1915
4
2e2463ef1aae Added the undo/redo functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3
diff changeset
1916 #####################################################
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1917 ## Find actions including mouse click handler
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1918 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1919
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1920 def __queryReferences(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1921 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1922 Private slot to handle the Find References action.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1923 """
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1924 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1925
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1926 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1927 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1928
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
1929 title = self.tr("Find Occurrences")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1930
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1931 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1932 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1933
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1934 filename = aw.getFileName()
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1935 line, index = aw.getCursorPosition()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1936 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1937
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1938 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1939 "QueryReferences",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1940 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1941 "Title": title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1942 "FileName": filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1943 "Offset": offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1944 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1945 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1946
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1947 def __queryReferencesResult(self, result):
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1948 """
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1949 Private method to handle the "Query References" result sent by
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1950 the client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1951
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1952 @param result dictionary containing the result data
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1953 @type dict
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1954 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1955 from .MatchesDialog import MatchesDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
1956
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
1957 if self.handleRopeError(result):
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1958 title = result["Title"]
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1959 if result["EntriesCount"] > 0:
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1960 self.dlg = MatchesDialog(self.__ui, True)
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1961 self.dlg.show()
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1962 for occurrence in result["Entries"]:
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1963 self.dlg.addEntry(
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1964 # file name, lineno, unsure
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1965 occurrence[0],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1966 occurrence[1],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1967 occurrence[2],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1968 )
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
1969 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
1970 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1971 self.__ui, title, self.tr("No occurrences found.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1972 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1973
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1974 def __queryDefinition(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1975 """
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
1976 Private slot to handle the Find Definition action.
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1977 """
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
1978 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1979
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1980 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1981 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1982
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
1983 title = self.tr("Find Definition")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1984
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1985 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1986 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1987
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
1988 filename = aw.getFileName()
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
1989 line, index = aw.getCursorPosition()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
1990 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1991
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1992 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1993 "QueryDefinition",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1994 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1995 "Title": title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1996 "FileName": filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1997 "Offset": offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1998 "Source": aw.text(),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
1999 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2000 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2001
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2002 def __queryDefinitionResult(self, result):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2003 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2004 Private method to handle the "Query Definition" result sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2005 the client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2006
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2007 @param result dictionary containing the result data
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2008 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2009 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2010 from .MatchesDialog import MatchesDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2011
294
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2012 if self.handleRopeError(result):
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2013 title = result["Title"]
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2014 if "Location" in result:
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2015 location = result["Location"]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2016
294
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2017 self.dlg = MatchesDialog(self.__ui, False)
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2018 self.dlg.show()
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2019 self.dlg.addEntry(location[0], location[1])
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2020 # file name, lineno
78e4a6823a98 Code Assist: continued moving the Mouse Click handler to Code Assist.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 293
diff changeset
2021 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2022 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2023 self.__ui, title, self.tr("No matching definition found.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2024 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2025
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2026 def __queryImplementations(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2027 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2028 Private slot to handle the Find Implementations action.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2029 """
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
2030 aw = self.__vm.activeWindow()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2031
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2032 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2033 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2034
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2035 title = self.tr("Find Implementations")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2036
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2037 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2038 return
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2039
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2040 filename = aw.getFileName()
129
23ee57a96ea3 Added capability to go to the definition of a class or function by clicking on it (while holding the Ctrl key or another configurable modifier sequence) (needs eric 6.1.0).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 122
diff changeset
2041 line, index = aw.getCursorPosition()
44
8aa985c8dee5 Fixed an issue causing failures for files with Windows end-of-line indicators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 43
diff changeset
2042 offset = self.__getOffset(aw, line, index)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2043
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2044 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2045 "QueryImplementations",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2046 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2047 "Title": title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2048 "FileName": filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2049 "Offset": offset,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2050 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2051 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2052
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2053 def __queryImplementationsResult(self, result):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2054 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2055 Private method to handle the "Query Implementations" result sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2056 the client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2057
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2058 @param result dictionary containing the result data
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2059 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2060 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2061 from .MatchesDialog import MatchesDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2062
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2063 if self.handleRopeError(result):
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2064 title = result["Title"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2065 if result["EntriesCount"] > 0:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2066 self.dlg = MatchesDialog(self.__ui, True)
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2067 self.dlg.show()
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2068 for occurrence in result["Entries"]:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2069 self.dlg.addEntry(
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2070 # file name, lineno, unsure
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2071 occurrence[0],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2072 occurrence[1],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2073 occurrence[2],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2074 )
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2075 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2076 EricMessageBox.warning(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2077 self.__ui, title, self.tr("No implementations found.")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2078 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2079
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2080 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2081 ## Various actions
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2082 #####################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2083
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2084 def __editConfig(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2085 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2086 Private slot to open the rope configuration file in an editor.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2087 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2088 from eric7.QScintilla.MiniEditor import MiniEditor
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2089
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2090 ropedir = self.__ropeConfig["RopeFolderName"]
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2091 configfile = ""
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2092 if ropedir and os.path.exists(ropedir):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2093 configfile = os.path.join(ropedir, "config.py")
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2094 if os.path.exists(configfile):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2095 self.__editor = MiniEditor(configfile)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2096 self.__editor.show()
31
0389d4a924cc Dropped support for eric 5.0.x.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 26
diff changeset
2097 self.__editor.editorSaved.connect(self.__configChanged)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2098 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2099 EricMessageBox.critical(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2100 self.__ui,
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2101 self.tr("Configure Rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2102 self.tr(
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2103 """The Rope configuration file '{0}' does not exist."""
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2104 ).format(configfile),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2105 )
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2106 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2107 EricMessageBox.critical(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2108 self.__ui,
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2109 self.tr("Configure Rope"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2110 self.tr("""The Rope admin directory does not exist."""),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2111 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2112
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2113 def __updateConfig(self):
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2114 """
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2115 Private slot to update the configuration file.
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2116 """
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2117 res = EricMessageBox.yesNo(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2118 self.__ui,
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2119 self.tr("Update Configuration"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2120 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2121 """Shall rope's current configuration be replaced """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2122 """by a new default configuration?"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2123 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2124 )
48
de33dc93a3ac Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 46
diff changeset
2125 if res:
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2126 src = self.__defaultConfig()
394
b34f5dd3db27 Enhanced the default configuration handling (for refactoring and code assist).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 392
diff changeset
2127 cname = self.__ropeConfigFile(writing=True)
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2128 if src != "" and cname is not None:
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2129 try:
341
c43844eb47b7 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 335
diff changeset
2130 with open(cname, "w") as f:
c43844eb47b7 Changed calls of exec_() into exec().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 335
diff changeset
2131 f.write(src)
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2132 self.__configChanged()
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2133 self.__editConfig()
345
622076fd58b6 Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 341
diff changeset
2134 except OSError as err:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2135 EricMessageBox.critical(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2136 None,
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2137 self.tr("Update Configuration"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2138 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2139 """<p>The configuration could not be"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2140 """ updated.</p><p>Reason: {0}</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2141 ).format(str(err)),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2142 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2143
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2144 def __showRopeHelp(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2145 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2146 Private slot to show help about the refactorings offered by Rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2147 """
413
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2148 from .HelpDialog import HelpDialog
a4cba20ad7ab Corrected some code style issues and converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 412
diff changeset
2149
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2150 if self.__helpDialog is None:
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 315
diff changeset
2151 self.__helpDialog = HelpDialog(
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 315
diff changeset
2152 self.tr("Help about rope refactorings"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2153 self.__ropeConfig["RopeHelpFile"],
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 315
diff changeset
2154 )
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2155 self.__helpDialog.show()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2156
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2157 def __performSOA(self):
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2158 """
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2159 Private slot to perform SOA on all modules.
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2160 """
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2161 title = self.tr("Analyse all modules")
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2162 res = EricMessageBox.yesNo(
55
d501156be247 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 48
diff changeset
2163 self.__ui,
14
cc9f4507be3d Added these utility functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
2164 title,
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2165 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2166 """This action might take some time. """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2167 """Do you really want to perform SOA?"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2168 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2169 )
48
de33dc93a3ac Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 46
diff changeset
2170 if res:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2171 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2172 "PerformSoa",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2173 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2174 "Title": title,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2175 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2176 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2177
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2178 def __soaFinished(self, result):
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2179 """
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2180 Private method to handle the "Soa Finished" result sent by
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2181 the client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2182
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2183 @param result dictionary containing the result data
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2184 @type dict
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2185 """
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2186 if self.handleRopeError(result):
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2187 title = result["Title"]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2188
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2189 EricMessageBox.information(
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2190 self.__ui,
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2191 title,
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2192 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2193 """Static object analysis (SOA) done. """
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2194 """SOA database updated."""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2195 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2196 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2197
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2198 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2199 ## methods below are private utility methods
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2200 ##################################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2201
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2202 def __processProgress(self, params):
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2203 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2204 Private method to handle Progress commands.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2205
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2206 @param params dictionary containing the progress data
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2207 @type dict
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2208 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2209 subcommand = params["Subcommand"]
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2210 if subcommand == "Init":
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2211 if self.__progressDialog is not None:
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2212 self.__progressDialog.reset()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2213
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2214 progressDialog = RopeProgressDialog(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2215 self, params["Title"], params["Interruptable"]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2216 )
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2217 progressDialog.show()
173
2cdb7c48b719 Finished implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 172
diff changeset
2218 progressDialog.raise_()
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2219 self.__progressDialog = progressDialog
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2220 QApplication.processEvents()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2221
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2222 elif subcommand == "Progress" and self.__progressDialog is not None:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2223 self.__progressDialog.updateProgress(params)
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2224 self.__progressDialog.raise_()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2225
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2226 elif subcommand == "Reset" and self.__progressDialog is not None:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2227 self.__progressDialog.reset()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2228
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2229 def __setConfig(self, params):
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2230 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2231 Private method to set the rope client configuration data.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2232
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2233 @param params dictionary containing the configuration data
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2234 @type dict
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2235 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2236 self.__ropeConfig = params
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2237 # keys: RopeFolderName, DefaultConfig, RopeHelpFile,
267
009b18770d08 RefactoringServer: fixed an issue that causes an exception when some file changes get reported.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 261
diff changeset
2238 # RopeInfo, RopeVersion, RopeCopyright, PythonVersion
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2239
394
b34f5dd3db27 Enhanced the default configuration handling (for refactoring and code assist).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 392
diff changeset
2240 def __ropeConfigFile(self, writing=False):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2241 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2242 Private method to get the name of the rope configuration file.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2243
394
b34f5dd3db27 Enhanced the default configuration handling (for refactoring and code assist).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 392
diff changeset
2244 @param writing flag indicating to get the name for writing (defaults to False)
b34f5dd3db27 Enhanced the default configuration handling (for refactoring and code assist).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 392
diff changeset
2245 @type bool (optional)
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2246 @return name of the rope configuration file
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2247 @rtype str
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2248 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2249 configfile = None
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2250 if self.__ropeConfig:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2251 ropedir = self.__ropeConfig["RopeFolderName"]
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2252 if ropedir:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2253 configfile = os.path.join(ropedir, "config.py")
394
b34f5dd3db27 Enhanced the default configuration handling (for refactoring and code assist).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 392
diff changeset
2254 if not writing and not os.path.exists(configfile):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2255 configfile = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2256 return configfile
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2257
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2258 def __configChanged(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2259 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2260 Private slot called, when the rope config file has changed.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2261 """
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2262 self.sendJson("ConfigChanged", {})
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2263
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2264 def __defaultConfig(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2265 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2266 Private slot to return the contents of rope's default configuration.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2267
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2268 @return string containing the source of rope's default
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2269 configuration
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2270 @rtype str
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2271 """
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2272 if self.__ropeConfig and "DefaultConfig" in self.__ropeConfig:
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2273 return self.__ropeConfig["DefaultConfig"]
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2274 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2275 return ""
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2276
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2277 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2278 ## methods below are public utility methods
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2279 ##################################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2280
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2281 def getActions(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2282 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2283 Public method to get a list of all actions.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2284
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2285 @return list of all actions
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2286 @rtype list of EricAction
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2287 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2288 return self.actions[:]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2289
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2290 def projectOpened(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2291 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2292 Public slot to handle the projectOpened signal.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2293 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2294 if self.__projectopen:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2295 self.projectClosed()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2296
416
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
2297 if isRemoteFileName(self.__ericProject.getProjectFile()):
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
2298 # refactoring for eric-ide server projects not supported
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
2299 return
45159308166f Fixed an issue related to 'eric-ide' server use.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 413
diff changeset
2300
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2301 self.__projectopen = True
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2302 self.__projectpath = self.__ericProject.getProjectPath()
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2303 self.__projectLanguage = self.__ericProject.getProjectLanguage()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2304
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2305 ok = False
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2306
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2307 if self.__projectLanguage in ("Python3", "MicroPython", "Cython"):
285
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2308 clientEnv = os.environ.copy()
287
09afe26b734c Changes to start the backend clients with a clean PATH setting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 285
diff changeset
2309 if "PATH" in clientEnv:
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2310 clientEnv["PATH"] = self.__ui.getOriginalPathString()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2311
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2312 venvManager = ericApp().getObject("VirtualEnvManager")
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2313
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2314 # get virtual environment from project first
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2315 venvName = self.__ericProject.getDebugProperty("VIRTUALENV")
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2316 if venvName:
287
09afe26b734c Changes to start the backend clients with a clean PATH setting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 285
diff changeset
2317 try:
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2318 isRemote = venvManager.isRemoteEnvironment(venvName)
287
09afe26b734c Changes to start the backend clients with a clean PATH setting.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 285
diff changeset
2319 except AttributeError:
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2320 isRemote = False
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2321 else:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2322 isRemote = False
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2323 if (not venvName) or isRemote:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2324 # get it from debugger settings next
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2325 if self.__projectLanguage in ("Python3", "MicroPython", "Cython"):
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2326 venvName = Preferences.getDebugger("Python3VirtualEnv")
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2327 if not venvName:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2328 venvName, _ = venvManager.getDefaultEnvironment()
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2329 else:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2330 venvName = ""
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2331 if venvName:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2332 interpreter = venvManager.getVirtualenvInterpreter(venvName)
392
b9b0a462123d Fixed an issue resolving the project specific interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 389
diff changeset
2333 if not interpreter:
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
2334 interpreter = getPythonExecutable()
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2335 execPath = venvManager.getVirtualenvExecPath(venvName)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2336
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2337 # build a suitable environment
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2338 if execPath:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2339 if "PATH" in clientEnv:
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2340 clientEnv["PATH"] = os.pathsep.join(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2341 [execPath, clientEnv["PATH"]]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2342 )
269
02bf946efbdc CodeAssistServer, RefactoringServer: changed to support the use of Virtual Environments as of eric 18.07.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 267
diff changeset
2343 else:
354
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2344 clientEnv["PATH"] = execPath
a967ff16629a - implemented some code simplifications
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 347
diff changeset
2345 else:
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
2346 interpreter = getPythonExecutable()
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2347 if interpreter:
309
d201f9ccf33f RefactoringServer: improved handling of projects which are accessed remotely.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 302
diff changeset
2348 if isRemote:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2349 self.__ui.appendToStderr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2350 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2351 "The project is configured for remote access."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2352 " Using local interpreter instead."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2353 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2354 )
285
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2355 ok = self.__startRefactoringClient(interpreter, clientEnv)
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2356 if not ok:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2357 self.__ui.appendToStderr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2358 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2359 "Project language '{0}' is not supported because"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2360 " the configured interpreter could not be started."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2361 " Refactoring is disabled."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2362 ).format(self.__projectLanguage)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2363 )
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2364 else:
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2365 for act in self.actions:
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2366 act.setEnabled(True)
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2367 else:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2368 self.__ui.appendToStderr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2369 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2370 "Project language '{0}' is not supported because no"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2371 " suitable interpreter is configured. Refactoring is"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2372 " disabled."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2373 ).format(self.__projectLanguage)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2374 )
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2375 else:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2376 self.__ui.appendToStderr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2377 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2378 "Refactoring for project language '{0}' is not supported."
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2379 ).format(self.__projectLanguage)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2380 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2381
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2382 self.__mainMenu.menuAction().setEnabled(ok)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2383
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2384 def projectClosed(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2385 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2386 Public slot to handle the projectClosed signal.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2387 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2388 for act in self.actions:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2389 act.setEnabled(False)
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2390 self.__mainMenu.menuAction().setEnabled(False)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2391
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2392 if self.__helpDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2393 self.__helpDialog.close()
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2394 self.__helpDialog = None
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2395 if self.__historyDialog is not None:
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2396 self.__historyDialog.close()
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2397 self.__historyDialog = None
172
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2398 for dlg in self.__refactoringDialogs.values():
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2399 dlg.close()
c8890f852917 Continued implementing the distributed rename refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 168
diff changeset
2400 self.__refactoringDialogs = {}
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2401
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2402 self.sendJson("CloseProject", {}, flush=True)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2403
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2404 self.__projectopen = False
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2405 self.__projectpath = ""
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2406 self.__projectLanguage = ""
166
6fc202183b3b Implemented the distributed 'query' methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 165
diff changeset
2407 self.__ropeConfig = {}
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2408
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2409 self.stopClient()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2410
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2411 def confirmBufferIsSaved(self, editor):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2412 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2413 Public method to check, if an editor has unsaved changes.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2414
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2415 @param editor reference to the editor to be checked
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2416 @type Editor
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
2417 @return flag indicating, that the editor doesn't contain
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2418 unsaved edits
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2419 @rtype bool
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2420 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2421 res = editor.checkDirty()
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
2422 self.sendJson("Validate", {})
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2423 return res
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2424
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2425 def confirmAllBuffersSaved(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2426 """
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
2427 Public method to check, if any editor has unsaved changes.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2428
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 19
diff changeset
2429 @return flag indicating, that no editor contains unsaved edits
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 202
diff changeset
2430 @rtype bool
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2431 """
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
2432 res = self.__vm.checkAllDirty()
165
ea41742015af Implemented the "Query References" function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 164
diff changeset
2433 self.sendJson("Validate", {})
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2434 return res
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2435
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2436 def refreshEditors(self, changedFiles):
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2437 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2438 Public method to refresh modified editors.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2439
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2440 @param changedFiles list of changed files
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2441 @type list of str
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2442 """
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
2443 openFiles = [normcasepath(f) for f in self.__vm.getOpenFilenames()]
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2444
168
53d76b4fc1ac Implemented the distributed History dialog and moved the Undo/Redo functions to this dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 167
diff changeset
2445 for fileName in changedFiles:
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
2446 normfile = normcasepath(fileName)
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2447 if normfile in openFiles:
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
2448 editor = self.__vm.getEditor(normfile)[1]
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2449 editor.refresh()
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2450
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
2451 aw = self.__vm.activeWindow()
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2452 if aw is not None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2453 filename = aw.getFileName()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
2454 if filename is not None:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2455 self.__vm.openSourceFile(filename, aw.getCursorPosition()[0] + 1)
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2456
106
b2b2107b8047 Little improvement to update the SOA database for refactoring upon saving a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
2457 def reportChanged(self, filename, oldSource):
b2b2107b8047 Little improvement to update the SOA database for refactoring upon saving a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
2458 """
b2b2107b8047 Little improvement to update the SOA database for refactoring upon saving a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
2459 Public slot to report some changed sources.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2460
200
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 197
diff changeset
2461 @param filename file name of the changed source
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 197
diff changeset
2462 @type str
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 197
diff changeset
2463 @param oldSource source code before the change
1584892147ef Implemented the distributed code assist "report changed" method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 197
diff changeset
2464 @type str
106
b2b2107b8047 Little improvement to update the SOA database for refactoring upon saving a file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 103
diff changeset
2465 """
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2466 if self.__ericProject.isOpen() and self.__ericProject.isProjectFile(filename):
212
f05681349336 Changed code assist to use the new async interface of the Editor class, if it available and performed some code refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 208
diff changeset
2467 editor = self.__vm.getOpenEditor(filename)
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 315
diff changeset
2468 if (
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2469 self.__ropeConfig
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2470 and editor is not None
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2471 and editor.getLanguage() == self.__ropeConfig["PythonVersion"]
320
91b171fdd85f Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 315
diff changeset
2472 ):
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2473 self.sendJson(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2474 "ReportChanged",
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2475 {
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2476 "FileName": filename,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2477 "OldSource": oldSource,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2478 },
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2479 )
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2480
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2481 #######################################################################
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2482 ## Methods below handle the network connection
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2483 #######################################################################
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2484
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2485 def handleCall(self, method, params):
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2486 """
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2487 Public method to handle a method call from the client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2488
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2489 @param method requested method name
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2490 @type str
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2491 @param params dictionary with method specific parameters
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2492 @type dict
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2493 """
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2494 self.__methodMapping[method](params)
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2495
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2496 def __processClientException(self, params):
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2497 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2498 Private method to handle exceptions of the refactoring client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2499
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2500 @param params dictionary containing the exception data
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2501 @type dict
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2502 """
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2503 if params["ExceptionType"] == "ProtocolError":
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2504 EricMessageBox.critical(
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2505 None,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2506 self.tr("Refactoring Protocol Error"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2507 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2508 """<p>The data received from the refactoring"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2509 """ server could not be decoded. Please report"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2510 """ this issue with the received data to the"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2511 """ eric bugs email address.</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2512 """<p>Error: {0}</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2513 """<p>Data:<br/>{1}</p>"""
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2514 ).format(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2515 params["ExceptionValue"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2516 Utilities.html_encode(params["ProtocolData"]),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2517 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2518 EricMessageBox.Ok,
383
a89b3f379703 Bug fixes in RefactoringServer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
2519 )
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2520 else:
365
f740b50380df Ported the plug-in to PyQt6 for eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 360
diff changeset
2521 EricMessageBox.critical(
167
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2522 None,
3c8e875d0326 Some code cleanup and refinement.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 166
diff changeset
2523 self.tr("Refactoring Client Error"),
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2524 self.tr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2525 "<p>An exception happened in the refactoring"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2526 " client. Please report it to the eric bugs"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2527 " email address.</p>"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2528 "<p>Exception: {0}</p>"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2529 "<p>Value: {1}</p>"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2530 "<p>Traceback: {2}</p>"
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2531 ).format(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2532 Utilities.html_encode(params["ExceptionType"]),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2533 params["ExceptionValue"],
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2534 params["Traceback"]
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2535 .replace("\r\n", "<br/>")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2536 .replace("\n", "<br/>")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2537 .replace("\r", "<br/>"),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2538 ),
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2539 EricMessageBox.Ok,
383
a89b3f379703 Bug fixes in RefactoringServer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 374
diff changeset
2540 )
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2541
285
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2542 def __startRefactoringClient(self, interpreter, clientEnv):
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2543 """
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2544 Private method to start the refactoring client.
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2545
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2546 @param interpreter interpreter to be used for the refactoring client
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2547 @type str
285
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2548 @param clientEnv dictionary with environment variables to run the
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2549 interpreter with
247d62c682dc CodeAssistServer, RefactoringServer, JsonServer: adapted the code to the virtual environment extensions as of eric6 18.12.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 280
diff changeset
2550 @type dict
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2551 @return flag indicating a successful client start
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2552 @rtype bool
160
989cd767992b Started implementing the client/server variant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 151
diff changeset
2553 """
270
efc48da49a75 Fixed some bugs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 269
diff changeset
2554 if interpreter:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2555 client = os.path.join(os.path.dirname(__file__), "RefactoringClient.py")
360
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
2556 ok, exitCode = self.startClient(
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2557 interpreter,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2558 client,
406
923d7f711cae Adjusted code for eric7 23.1 and newer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 396
diff changeset
2559 [self.__projectpath, getPythonLibraryDirectory()],
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2560 environment=clientEnv,
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2561 )
360
2b35968f3d02 Version 8.0.0
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 354
diff changeset
2562 if not ok and exitCode == 42:
389
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2563 self.__ui.appendToStderr(
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2564 "RefactoringServer: "
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2565 + self.tr("The rope refactoring library is not installed.\n")
4f53795beff0 Reformatted source code with 'Black'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 383
diff changeset
2566 )
270
efc48da49a75 Fixed some bugs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 269
diff changeset
2567 else:
efc48da49a75 Fixed some bugs.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 269
diff changeset
2568 ok = False
163
6a9e7b37a18b Refactored some JSON handling code into server and client base classes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 162
diff changeset
2569 return ok

eric ide

mercurial