1397 line, index, line1, index1 = aw.getSelection() |
1397 line, index, line1, index1 = aw.getSelection() |
1398 offset = self.__getOffset(aw, line, index) |
1398 offset = self.__getOffset(aw, line, index) |
1399 |
1399 |
1400 from InlineArgumentDefaultDialog import InlineArgumentDefaultDialog |
1400 from InlineArgumentDefaultDialog import InlineArgumentDefaultDialog |
1401 dlg = InlineArgumentDefaultDialog(self, title, filename, offset, |
1401 dlg = InlineArgumentDefaultDialog(self, title, filename, offset, |
1402 parent=self.__ui) |
1402 parent=self.__ui) |
1403 changeGroup = dlg.getChangeGroupName() |
1403 changeGroup = dlg.getChangeGroupName() |
1404 self.__refactoringDialogs[changeGroup] = dlg |
1404 self.__refactoringDialogs[changeGroup] = dlg |
1405 dlg.finished.connect( |
1405 dlg.finished.connect( |
1406 lambda: self.__refactoringDialogClosed(changeGroup)) |
1406 lambda: self.__refactoringDialogClosed(changeGroup)) |
1407 dlg.show() |
1407 dlg.show() |
1433 self.__refactoringDialogs[changeGroup] = dlg |
1433 self.__refactoringDialogs[changeGroup] = dlg |
1434 dlg.finished.connect( |
1434 dlg.finished.connect( |
1435 lambda: self.__refactoringDialogClosed(changeGroup)) |
1435 lambda: self.__refactoringDialogClosed(changeGroup)) |
1436 dlg.show() |
1436 dlg.show() |
1437 |
1437 |
1438 # TODO: continue from here |
|
1439 def __encapsulateAttribute(self): |
1438 def __encapsulateAttribute(self): |
1440 """ |
1439 """ |
1441 Private slot to encapsulate an attribute. |
1440 Private slot to encapsulate an attribute. |
1442 """ |
1441 """ |
1443 aw = e5App().getObject("ViewManager").activeWindow() |
1442 aw = e5App().getObject("ViewManager").activeWindow() |
1459 |
1458 |
1460 filename = aw.getFileName() |
1459 filename = aw.getFileName() |
1461 line, index, line1, index1 = aw.getSelection() |
1460 line, index, line1, index1 = aw.getSelection() |
1462 offset = self.__getOffset(aw, line, index) |
1461 offset = self.__getOffset(aw, line, index) |
1463 |
1462 |
1464 import rope.refactor.encapsulate_field |
|
1465 resource = rope.base.libutils.path_to_resource( |
|
1466 self.__project, filename) |
|
1467 try: |
|
1468 encapsulateField = \ |
|
1469 rope.refactor.encapsulate_field.EncapsulateField( |
|
1470 self.__project, resource, offset) |
|
1471 except Exception as err: |
|
1472 self.handleRopeError(err, title) |
|
1473 return |
|
1474 |
|
1475 from GetterSetterDialog import GetterSetterDialog |
1463 from GetterSetterDialog import GetterSetterDialog |
1476 dlg = GetterSetterDialog(encapsulateField.get_field_name()) |
1464 dlg = GetterSetterDialog(self, title, filename, offset, |
1477 if dlg.exec_() == QDialog.Accepted: |
1465 parent=self.__ui) |
1478 from ProgressHandle import ProgressHandle |
1466 changeGroup = dlg.getChangeGroupName() |
1479 from ConfirmationDialog import ConfirmationDialog |
1467 self.__refactoringDialogs[changeGroup] = dlg |
1480 getter, setter = dlg.getData() |
1468 dlg.finished.connect( |
1481 handle = ProgressHandle(title, False, self.__ui) |
1469 lambda: self.__refactoringDialogClosed(changeGroup)) |
1482 handle.show() |
1470 dlg.show() |
1483 QApplication.processEvents() |
|
1484 try: |
|
1485 changes = encapsulateField.get_changes( |
|
1486 getter=getter, setter=setter, task_handle=handle) |
|
1487 handle.reset() |
|
1488 dlg = ConfirmationDialog(changes, self.__ui) |
|
1489 if dlg.exec_() == QDialog.Accepted: |
|
1490 self.__project.do(changes) |
|
1491 self.refreshEditors(changes) |
|
1492 if self.__e5project.isDirty(): |
|
1493 self.__e5project.saveProject() |
|
1494 except Exception as err: |
|
1495 self.handleRopeError(err, title, handle) |
|
1496 |
1471 |
1497 def __convertLocalToAttribute(self): |
1472 def __convertLocalToAttribute(self): |
1498 """ |
1473 """ |
1499 Private slot to convert a local variable to an attribute. |
1474 Private slot to convert a local variable to an attribute. |
1500 """ |
1475 """ |
1517 |
1492 |
1518 filename = aw.getFileName() |
1493 filename = aw.getFileName() |
1519 line, index, line1, index1 = aw.getSelection() |
1494 line, index, line1, index1 = aw.getSelection() |
1520 offset = self.__getOffset(aw, line, index) |
1495 offset = self.__getOffset(aw, line, index) |
1521 |
1496 |
1522 import rope.refactor.localtofield |
|
1523 from ConfirmationDialog import ConfirmationDialog |
1497 from ConfirmationDialog import ConfirmationDialog |
1524 resource = rope.base.libutils.path_to_resource( |
1498 dlg = ConfirmationDialog( |
1525 self.__project, filename) |
1499 self, title, "LocalToAttribute", |
1526 try: |
1500 "CalculateLocalToAttributeChanges", { |
1527 changes = rope.refactor.localtofield.LocalToField( |
1501 "FileName": filename, |
1528 self.__project, resource, offset).get_changes() |
1502 "Offset": offset, |
1529 dlg = ConfirmationDialog(changes, self.__ui) |
1503 }, |
1530 if dlg.exec_() == QDialog.Accepted: |
1504 parent=self.__ui) |
1531 self.__project.do(changes) |
1505 changeGroup = dlg.getChangeGroupName() |
1532 self.refreshEditors(changes) |
1506 self.__refactoringDialogs[changeGroup] = dlg |
1533 if self.__e5project.isDirty(): |
1507 dlg.finished.connect( |
1534 self.__e5project.saveProject() |
1508 lambda: self.__refactoringDialogClosed(changeGroup)) |
1535 except Exception as err: |
1509 dlg.show() |
1536 self.handleRopeError(err, title) |
1510 |
1537 |
1511 # TODO: continue from here |
1538 def __methodToMethodObject(self): |
1512 def __methodToMethodObject(self): |
1539 """ |
1513 """ |
1540 Private slot to change the signature of a method or function. |
1514 Private slot to change the signature of a method or function. |
1541 """ |
1515 """ |
1542 aw = e5App().getObject("ViewManager").activeWindow() |
1516 aw = e5App().getObject("ViewManager").activeWindow() |