RefactoringRope/GetterSetterDialog.py

Sun, 30 Jan 2011 17:24:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 30 Jan 2011 17:24:58 +0100
changeset 12
75fff1da56b6
child 20
83b71483e198
permissions
-rw-r--r--

Added these refactoring functions:
- transform a module to a package
- encapsulate an attribute
- convert a local variable to an attribute

12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de>
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to create getter and setter method names.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt4.QtCore import pyqtSlot
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt4.QtGui import QDialog
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from Ui_GetterSetterDialog import Ui_GetterSetterDialog
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 class GetterSetterDialog(QDialog, Ui_GetterSetterDialog):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 Class implementing a dialog to create getter and setter method names.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 def __init__(self, fieldName, parent=None):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Constructor
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 @param fieldName name of the field to create getter and setter
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 method names (string)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 @param parent parent widget of the dialog (QWidget)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 QDialog.__init__(self, parent)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 self.setupUi(self)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 self.__fieldName = fieldName
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.on_typeCheckBox_toggled(False)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 @pyqtSlot(bool)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 def on_typeCheckBox_toggled(self, checked):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 Slot to react to changes of the type checkbox.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 @param checked state of the checkbox (boolean)
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 if checked:
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.getterEdit.setText("get_{0}".format(self.__fieldName))
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.setterEdit.setText("set_{0}".format(self.__fieldName))
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 else:
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.getterEdit.setText(
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 "get{0}{1}".format(self.__fieldName[0].upper(),
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 self.__fieldName[1:]))
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.setterEdit.setText(
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 "set{0}{1}".format(self.__fieldName[0].upper(),
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 self.__fieldName[1:]))
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 def getData(self):
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Public method to return the getter and setter method names.
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 @return tuple of two strings with getter and setter method names
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
75fff1da56b6 Added these refactoring functions:
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 return (self.getterEdit.text(), self.setterEdit.text())

eric ide

mercurial