RefactoringRope/RestructureDialog.py

branch
server_client_variant
changeset 183
bac69c80d5f4
parent 147
3f8a995f6e49
child 189
2711fdd91925
diff -r f7f2834dc8d9 -r bac69c80d5f4 RefactoringRope/RestructureDialog.py
--- a/RefactoringRope/RestructureDialog.py	Sat Sep 23 14:17:49 2017 +0200
+++ b/RefactoringRope/RestructureDialog.py	Sat Sep 23 15:20:09 2017 +0200
@@ -27,18 +27,23 @@
         Constructor
         
         @param refactoring reference to the main refactoring object
-            (Refactoring)
-        @param title title of the dialog (string)
-        @param parent reference to the parent widget (QWidget)
+        @type Refactoring
+        @param title title of the dialog
+        @type str
+        @param parent reference to the parent widget
+        @type QWidget
         """
         RefactoringDialogBase.__init__(self, refactoring, title, parent)
         self.setupUi(self)
         
+        self._changeGroupName = "Restructure"
+        
         self.__okButton = self.buttonBox.button(QDialogButtonBox.Ok)
         self.__okButton.setEnabled(False)
         self.__previewButton = self.buttonBox.addButton(
             self.tr("Preview"), QDialogButtonBox.ActionRole)
         self.__previewButton.setDefault(True)
+        self.__previewButton.setEnabled(False)
         
         self.__loadData()
     
@@ -46,9 +51,11 @@
         """
         Private slot to update the UI.
         """
-        self.__okButton.setEnabled(
-            self.patternEdit.toPlainText() != "" and
-            self.goalEdit.toPlainText() != "")
+        enable = bool(self.patternEdit.toPlainText()) and \
+            bool(self.goalEdit.toPlainText())
+        
+        self.__okButton.setEnabled(enable)
+        self.__previewButton.setEnabled(enable)
     
     @pyqtSlot()
     def on_patternEdit_textChanged(self):
@@ -69,22 +76,20 @@
         """
         Private slot to act on the button pressed.
         
-        @param button reference to the button pressed (QAbstractButton)
+        @param button reference to the button pressed
+        @type QAbstractButton
         """
         if button == self.__previewButton:
-            self.previewChanges()
+            self.requestPreview()
         elif button == self.__okButton:
             self.applyChanges()
     
-    def _calculateChanges(self, handle):
+    def _calculateChanges(self):
         """
-        Protected method to calculate the changes.
-        
-        @param handle reference to the task handle
-            (rope.base.taskhandle.TaskHandle)
-        @return reference to the Changes object (rope.base.change.ChangeSet)
+        Protected method to initiate the calculation of the changes.
         """
         self.__saveData()
+        
         pattern = self.patternEdit.toPlainText()
         goal = self.goalEdit.toPlainText()
         imports = [line for line in self.importsEdit.toPlainText().splitlines()
@@ -99,19 +104,14 @@
                 value = splitted[1].strip()
                 args[name] = value
         
-        import rope.refactor.restructure
-        self._refactoring.getProject().validate(
-            self._refactoring.getProject().root)
-        try:
-            restructuring = rope.refactor.restructure.Restructure(
-                self._refactoring.getProject(), pattern, goal,
-                args=args, imports=imports)
-            changes = restructuring.get_changes(task_handle=handle)
-        except Exception as err:
-            self._refactoring.handleRopeError(err, self._title)
-            return None
-        
-        return changes
+        self._refactoring.sendJson("CalculateRestructureChanges", {
+            "ChangeGroup": self._changeGroupName,
+            "Title": self._title,
+            "Pattern": pattern,
+            "Goal": goal,
+            "Args": args,
+            "Imports": imports,
+        })
     
     def __saveData(self):
         """

eric ide

mercurial