RefactoringRope/MoveDialog.py

Fri, 29 Sep 2017 10:23:35 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 29 Sep 2017 10:23:35 +0200
branch
server_client_variant
changeset 203
c38750e1bafd
parent 189
2711fdd91925
child 245
75a35a927952
permissions
-rw-r--r--

Performed some code cleanup actions.

7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
147
3f8a995f6e49 Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 144
diff changeset
3 # Copyright (c) 2010 - 2017 Detlev Offenbach <detlev@die-offenbachs.de>
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
7 Module implementing the Move Method or Module dialog.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
76
936b2a98fe4e Merge with Py2 comp.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 74 63
diff changeset
10 from __future__ import unicode_literals
50
a29c3d2e6dc0 rope for Python2 projects enabled, if running on Python2
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
11
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
12 import os
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
13
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
14 from PyQt5.QtCore import pyqtSlot
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
15 from PyQt5.QtWidgets import QDialogButtonBox, QAbstractButton
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
17 from E5Gui import E5FileDialog, E5MessageBox
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
18 from E5Gui.E5Application import e5App
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
19 from E5Gui.E5Completers import E5FileCompleter
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
20
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
21 from .Ui_MoveDialog import Ui_MoveDialog
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
22 from .RefactoringDialogBase import RefactoringDialogBase
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
24 import Utilities
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
25
20
83b71483e198 Made the code PEP-8 compliant.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
26
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
27 class MoveDialog(RefactoringDialogBase, Ui_MoveDialog):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
29 Class implementing the Move Method or Module dialog.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
31 def __init__(self, refactoring, title, filename, offset, parent=None):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Constructor
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 @param refactoring reference to the main refactoring object
189
2711fdd91925 Renamed the 'Refactoring' module and class 'RefactoringServer'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 178
diff changeset
36 @type RefactoringServer
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
37 @param title title of the dialog
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
38 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
39 @param filename file name to be worked on
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
40 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
41 @param offset offset within file
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
42 @type int or None
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
43 @param parent reference to the parent widget
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
44 @type QWidget
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 RefactoringDialogBase.__init__(self, refactoring, title, parent)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.setupUi(self)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
49 self._changeGroupName = "Move"
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
50
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
51 self.__destinationCompleter = E5FileCompleter(self.destinationEdit)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
52
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
53 self.__filename = filename
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
54 self.__offset = offset
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
55
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
56 self.__project = e5App().getObject("Project")
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 self.__okButton.setEnabled(False)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 self.__previewButton = self.buttonBox.addButton(
87
1fbf5fdbe721 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 76
diff changeset
61 self.tr("Preview"), QDialogButtonBox.ActionRole)
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.__previewButton.setDefault(True)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
64 self.moveStackWidget.setCurrentIndex(0)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
65
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
66 self.__moveType = ""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
67
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
68 if offset is None:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
69 # it is a 'move module' refactoring, no need to determine
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
70 # the move type via the client
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
71 self.__processMoveType({"Kind": "move_module"})
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
72 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
73 self._refactoring.sendJson("RequestMoveType", {
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
74 "ChangeGroup": self._changeGroupName,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
75 "Title": self._title,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
76 "FileName": self.__filename,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
77 "Offset": self.__offset,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
78 })
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
79
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
80 def __processMoveType(self, data):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
81 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
82 Private method to process the move type data sent by the refactoring
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
83 client in order to polish the dialog.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
84
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
85 @param data dictionary containing the move type data
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
86 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
87 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
88 self.__moveType = data["Kind"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
89
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
90 if self.__moveType == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
91 self.setWindowTitle(self.tr("Move Method"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
92 self.moveStackWidget.setCurrentIndex(1)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
93 self.methodEdit.setText(data["Method"])
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
94 self.methodEdit.selectAll()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
95 elif self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
96 self.setWindowTitle(self.tr("Move Global Method"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
97 self.moveStackWidget.setCurrentIndex(2)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
98 self.destinationLabel.setText(self.tr("Destination Module:"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
99 self.destinationEdit.setToolTip(self.tr(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
100 "Enter the destination module for the method"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
101 self.selectButton.setToolTip(self.tr(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
102 "Select the destination module via a file selection dialog"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
103 elif self.__moveType == "move_module":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
104 self.setWindowTitle(self.tr("Move Module"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
105 self.moveStackWidget.setCurrentIndex(2)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
106 self.destinationLabel.setText(self.tr("Destination Package:"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
107 self.destinationEdit.setToolTip(self.tr(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
108 "Enter the destination package for the module"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
109 self.selectButton.setToolTip(self.tr(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
110 "Select the destination package via a directory selection"
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
111 " dialog"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
112 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
113 self.setWindowTitle(self.tr("Move"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
114 self.moveStackWidget.setCurrentIndex(0)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
115
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
116 self.__updateUI()
74
0973b175e2ad Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 62
diff changeset
117
0973b175e2ad Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 62
diff changeset
118 msh = self.minimumSizeHint()
0973b175e2ad Fixed a window sizing issue.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 62
diff changeset
119 self.resize(max(self.width(), msh.width()), msh.height())
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 @pyqtSlot(str)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 def on_attributeEdit_textChanged(self, text):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 Private slot to react to changes of the attribute.
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
126 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
127 @type str
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.__updateUI()
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 @pyqtSlot(str)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 def on_methodEdit_textChanged(self, text):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
26
b02d1f37b55e Added a dialog to move a global method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 20
diff changeset
134 Private slot to react to changes of the method.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
136 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
137 @type str
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
138 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
139 self.__updateUI()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
140
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
141 @pyqtSlot(str)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
142 def on_destinationEdit_textChanged(self, text):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
143 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
144 Private slot to react to changes of the destination module.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
145
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
146 @param text text entered into the edit
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
147 @type str
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149 self.__updateUI()
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
151 def __updateUI(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
152 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
153 Private method to perform various UI updates.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
154 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
155 if self.__moveType == "move_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
156 enable = self.attributeEdit.text() != "" and \
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
157 self.methodEdit.text() != ""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
158 elif self.__moveType in ["move_global_method", "move_module"]:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
159 enable = self.destinationEdit.text() != ""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
160 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
161 enable = False
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
162
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
163 self.__okButton.setEnabled(enable)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
164 self.__previewButton.setEnabled(enable)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
165
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
166 @pyqtSlot()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
167 def on_selectButton_clicked(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
168 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
169 Private slot called to select the destination module via a file
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
170 selection dialog.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
171 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
172 dest = self.destinationEdit.text()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
173 if not dest:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
174 dest = self.__project.getProjectPath()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
175 elif not os.path.isabs(dest):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
176 dest = os.path.join(self.__project.getProjectPath(), dest)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
177 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
178 destination = E5FileDialog.getOpenFileName(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
179 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
180 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
181 dest,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
182 self.tr("Python Files (*.py *.py2 *.py3);;All Files (*)"))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
183 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
184 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
185 destination = E5FileDialog.getExistingDirectory(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
186 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
187 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
188 dest)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
189
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
190 if destination:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
191 destination = Utilities.toNativeSeparators(destination)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
192 if not self.__project.startswithProjectPath(destination):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
193 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
194 errorMessage = self.tr("""The selected module must be """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
195 """inside the project.""")
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
196 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
197 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
198 errorMessage = self.tr("""The selected directory must"""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
199 """ be inside the project.""")
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
200 E5MessageBox.critical(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
201 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
202 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
203 errorMessage)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
204 return
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
205
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
206 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
207 if not os.path.exists(destination):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
208 E5MessageBox.critical(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
209 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
210 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
211 self.tr("""The selected module <b>{0}</b> does"""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
212 """ not exist.""").format(destination))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
213 return
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
214 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
215 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
216 if not os.path.exists(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
217 os.path.join(destination, "__init__.py")):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
218 E5MessageBox.critical(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
219 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
220 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
221 self.tr("""The selected directory <b>{0}</b> is"""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
222 """ not a package.""").format(destination))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
223 return
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
224
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
225 destination = self.__project.getRelativePath(destination)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
226 self.destinationEdit.setText(destination)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
227
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
228 def __checkDestination(self):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
229 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
230 Private method to check the destination entered.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
231
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
232 @return flag indicating a valid entry
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
233 @rtype bool
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
234 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
235 destination = os.path.join(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
236 self.__project.getProjectPath(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
237 self.destinationEdit.text())
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
238 if self.__moveType == "move_global_method":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
239 if not os.path.exists(destination):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
240 E5MessageBox.critical(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
241 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
242 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
243 self.tr("""The selected module <b>{0}</b> does"""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
244 """ not exist.""").format(destination))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
245 return False
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
246 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
247 # move_module
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
248 if not os.path.exists(os.path.join(destination, "__init__.py")):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
249 E5MessageBox.critical(
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
250 self,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
251 self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
252 self.tr("""The selected directory <b>{0}</b> is"""
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
253 """ not a package.""").format(destination))
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
254 return False
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
255
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
256 return True
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
257
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 @pyqtSlot(QAbstractButton)
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 def on_buttonBox_clicked(self, button):
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 """
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 Private slot to act on the button pressed.
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
263 @param button reference to the button pressed
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
264 @type QAbstractButton
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
266 if self.__moveType == "move_method" or (
203
c38750e1bafd Performed some code cleanup actions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 189
diff changeset
267 self.__moveType in ["move_global_method", "move_module"] and
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
268 self.__checkDestination()):
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
269 if button == self.__previewButton:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
270 self.requestPreview()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
271 elif button == self.__okButton:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
272 self.applyChanges()
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
274 def _calculateChanges(self):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
276 Protected method to initiate the calculation of the changes.
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
278 newName = self.methodEdit.text()
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
279 if not newName:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
280 newName = None
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
282 self._refactoring.sendJson("CalculateMoveChanges", {
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
283 "ChangeGroup": self._changeGroupName,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
284 "Title": self.windowTitle(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
285 "FileName": self.__filename,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
286 "Offset": self.__offset,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
287 "Kind": self.__moveType,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
288 "NewName": newName,
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
289 "Attribute": self.attributeEdit.text(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
290 "DestinationModule": self.destinationEdit.text(),
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
291 })
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
292
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
293 def processChangeData(self, data):
7
5ecf9ef23d39 Added the 'move' refactoring functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
294 """
178
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
295 Public method to process the change data sent by the refactoring
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
296 client.
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
297
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
298 @param data dictionary containing the change data
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
299 @type dict
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
300 """
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
301 subcommand = data["Subcommand"]
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
302 if subcommand == "MoveType":
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
303 self.__processMoveType(data)
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
304 else:
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
305 # pass on to base class
70b4fb448811 Implemented the distributed "Move ..." method.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 147
diff changeset
306 RefactoringDialogBase.processChangeData(self, data)

eric ide

mercurial