RefactoringRope/Refactoring.py

branch
server_client_variant
changeset 182
f7f2834dc8d9
parent 181
3e3d6de2f0ca
child 183
bac69c80d5f4
equal deleted inserted replaced
181:3e3d6de2f0ca 182:f7f2834dc8d9
1240 1240
1241 ##################################################### 1241 #####################################################
1242 ## Import refactorings 1242 ## Import refactorings
1243 ##################################################### 1243 #####################################################
1244 1244
1245 # TODO: continue from here
1246 def __importsOrganize(self): 1245 def __importsOrganize(self):
1247 """ 1246 """
1248 Private slot to organize imports. 1247 Private slot to organize imports.
1249 """ 1248 """
1250 from rope.refactor.importutils import ImportOrganizer
1251 self.__doImports( 1249 self.__doImports(
1252 self.tr("Organize Imports"), 1250 self.tr("Organize Imports"),
1253 ImportOrganizer.organize_imports) 1251 "organize_imports")
1254 1252
1255 def __importsExpandStar(self): 1253 def __importsExpandStar(self):
1256 """ 1254 """
1257 Private slot to expand star imports. 1255 Private slot to expand star imports.
1258 """ 1256 """
1259 from rope.refactor.importutils import ImportOrganizer
1260 self.__doImports( 1257 self.__doImports(
1261 self.tr("Expand Star Imports"), 1258 self.tr("Expand Star Imports"),
1262 ImportOrganizer.expand_star_imports) 1259 "expand_star_imports")
1263 1260
1264 def __importsRelativeToAbsolute(self): 1261 def __importsRelativeToAbsolute(self):
1265 """ 1262 """
1266 Private slot to transform relative to absolute imports. 1263 Private slot to transform relative to absolute imports.
1267 """ 1264 """
1268 from rope.refactor.importutils import ImportOrganizer
1269 self.__doImports( 1265 self.__doImports(
1270 self.tr("Relative to Absolute"), 1266 self.tr("Relative to Absolute"),
1271 ImportOrganizer.relatives_to_absolutes) 1267 "relatives_to_absolutes")
1272 1268
1273 def __importsFromToImport(self): 1269 def __importsFromToImport(self):
1274 """ 1270 """
1275 Private slot to transform from imports to plain imports. 1271 Private slot to transform from imports to plain imports.
1276 """ 1272 """
1277 from rope.refactor.importutils import ImportOrganizer
1278 self.__doImports( 1273 self.__doImports(
1279 self.tr("Froms to Imports"), 1274 self.tr("Froms to Imports"),
1280 ImportOrganizer.froms_to_imports) 1275 "froms_to_imports")
1281 1276
1282 def __importsHandleLong(self): 1277 def __importsHandleLong(self):
1283 """ 1278 """
1284 Private slot to handle long imports. 1279 Private slot to handle long imports.
1285 """ 1280 """
1286 from rope.refactor.importutils import ImportOrganizer
1287 self.__doImports( 1281 self.__doImports(
1288 self.tr("Handle Long Imports"), 1282 self.tr("Handle Long Imports"),
1289 ImportOrganizer.handle_long_imports) 1283 "handle_long_imports")
1290 1284
1291 def __doImports(self, title, method): 1285 def __doImports(self, title, methodName):
1292 """ 1286 """
1293 Private method to perform the various imports refactorings. 1287 Private method to perform the various imports refactorings.
1294 1288
1295 @param title title to be used for the import refactoring (string) 1289 @param title title to be used for the import refactoring
1296 @param method method performing the import refactoring 1290 @type str
1291 @param methodName name of the method performing the import refactoring
1292 @type str
1297 """ 1293 """
1298 aw = e5App().getObject("ViewManager").activeWindow() 1294 aw = e5App().getObject("ViewManager").activeWindow()
1299 1295
1300 if aw is None: 1296 if aw is None:
1301 return 1297 return
1308 line, index, line1, index1 = aw.getSelection() 1304 line, index, line1, index1 = aw.getSelection()
1309 offset = self.__getOffset(aw, line, index) 1305 offset = self.__getOffset(aw, line, index)
1310 else: 1306 else:
1311 offset = None 1307 offset = None
1312 1308
1313 from rope.refactor.importutils import ImportOrganizer 1309 from ConfirmationDialog import ConfirmationDialog
1314 importOrganizer = ImportOrganizer(self.__project) 1310 dlg = ConfirmationDialog(
1315 resource = rope.base.libutils.path_to_resource( 1311 self, title, "Imports", "CalculateImportsChanges", {
1316 self.__project, filename) 1312 "MethodName": methodName,
1317 try: 1313 "FileName": filename,
1318 changes = method(importOrganizer, resource, offset=offset) 1314 "Offset": offset,
1319 if changes is not None: 1315 }, parent=self.__ui)
1320 from ConfirmationDialog import ConfirmationDialog 1316 changeGroup = dlg.getChangeGroupName()
1321 dlg = ConfirmationDialog(changes, self.__ui) 1317 self.__refactoringDialogs[changeGroup] = dlg
1322 if dlg.exec_() == QDialog.Accepted: 1318 dlg.finished.connect(
1323 self.__project.do(changes) 1319 lambda: self.__refactoringDialogClosed(changeGroup))
1324 self.refreshEditors(changes) 1320 dlg.show()
1325 if self.__e5project.isDirty():
1326 self.__e5project.saveProject()
1327 else:
1328 E5MessageBox.information(
1329 self.__ui, title,
1330 self.tr("The selected refactoring did not produce"
1331 " any change."))
1332 except Exception as err:
1333 self.handleRopeError(err, title)
1334 1321
1335 ##################################################### 1322 #####################################################
1336 ## Various refactorings 1323 ## Various refactorings
1337 ##################################################### 1324 #####################################################
1338 1325
1326 # TODO: continue from here
1339 def __restructure(self): 1327 def __restructure(self):
1340 """ 1328 """
1341 Private slot to restructure code. 1329 Private slot to restructure code.
1342 """ 1330 """
1343 from RestructureDialog import RestructureDialog 1331 from RestructureDialog import RestructureDialog

eric ide

mercurial