RefactoringRope/Refactoring.py

branch
server_client_variant
changeset 187
c7600eee9047
parent 186
d547caa795d7
child 188
05fb0977ce1b
equal deleted inserted replaced
186:d547caa795d7 187:c7600eee9047
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()

eric ide

mercurial