RefactoringRope/Refactoring.py

Sat, 29 Jan 2011 15:10:40 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 29 Jan 2011 15:10:40 +0100
changeset 3
3be1b4662b48
parent 2
fc72a5b922a6
child 4
2e2463ef1aae
permissions
-rw-r--r--

Added the 'rename' refactorings.

1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2011 Detlev Offenbach <detlev@die-offenbachs.de>
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the refactoring interface to rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 import os
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 import sys
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 sys.path.insert(0, os.path.dirname(__file__))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 import rope
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 import rope.base.libutils
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import rope.base.project
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 import rope.base.exceptions
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
19 import rope.refactor.rename
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
20 ##import rope.refactor.extract
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
21 ##import rope.refactor.usefunction
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
22 ##import rope.refactor.inline
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
23 ##import rope.refactor.move
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
24 ##import rope.refactor.change_signature
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
25 ##import rope.refactor.introduce_factory
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
26 ##import rope.refactor.introduce_parameter
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
27 ##import rope.refactor.method_object
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
28 ##import rope.refactor.encapsulate_field
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
29 ##import rope.refactor.localtofield
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
30 ##import rope.refactor.topackage
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
31 ##from rope.refactor.importutils import ImportOrganizer
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
32
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
33 import rope.contrib.findit
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
34 ##import rope.contrib.finderrors
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
35
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 from PyQt4.QtCore import QObject, SIGNAL
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
37 from PyQt4.QtGui import QMenu, QApplication, QMessageBox
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39 from E5Gui.E5Application import e5App
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 from E5Gui import E5MessageBox
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 from E5Gui.E5Action import E5Action
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 from QScintilla.MiniEditor import MiniEditor
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 from FileSystemCommands import e5FileSystemCommands
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
47 from ProgressHandle import ProgressHandle
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 from HelpDialog import HelpDialog
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
49 from MatchesDialog import MatchesDialog
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
50 from RenameDialog import RenameDialog
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
51 from ChangeOccurrencesDialog import ChangeOccurrencesDialog
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
52
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
53 import Utilities
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 class Refactoring(QObject):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 Class implementing the refactoring interface to rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
60 def __init__(self, plugin, newStyle, parent=None):
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 Constructor
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 @param plugin reference to the plugin object
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 @param newStyle flag indicating usage of new style signals (bool)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 @param parent parent (QObject)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 QObject.__init__(self, parent)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.__plugin = plugin
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 self.__newStyle = newStyle
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 self.__ui = parent
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.__e5project = e5App().getObject("Project")
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 self.__projectpath = ''
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 self.__projectLanguage = ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 self.__projectopen = False
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 self.__mainMenu = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 self.__helpDialog = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 # Rope objects
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__project = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.__fsCommands = e5FileSystemCommands(self.__e5project)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 def initActions(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 Public method to define the refactoring actions.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.actions = []
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
91 #####################################################
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
92 ## Rename refactoring actions
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
93 #####################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
94
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
95 self.refactoringRenameAct = E5Action(self.trUtf8('Rename'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
96 self.trUtf8('&Rename'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
97 0, 0,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
98 self,'refactoring_rename')
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
99 self.refactoringRenameAct.setStatusTip(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
100 'Rename the highlighted object'))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
101 self.refactoringRenameAct.setWhatsThis(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
102 """<b>Rename</b>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
103 """<p>Rename the highlighted Python object.</p>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
104 ))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
105 if self.__newStyle:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
106 self.refactoringRenameAct.triggered[()].connect(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
107 self.__rename)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
108 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
109 self.connect(self.refactoringRenameAct, SIGNAL('triggered()'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
110 self.__rename)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
111 self.actions.append(self.refactoringRenameAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
112
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
113 self.refactoringRenameLocalAct = E5Action(self.trUtf8('Local Rename'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
114 self.trUtf8('&Local Rename'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
115 0, 0,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
116 self,'refactoring_rename_local')
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
117 self.refactoringRenameLocalAct.setStatusTip(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
118 'Rename the highlighted object in the current module only'))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
119 self.refactoringRenameLocalAct.setWhatsThis(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
120 """<b>Local Rename</b>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
121 """<p>Rename the highlighted Python object in the current"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
122 """ module only.</p>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
123 ))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
124 if self.__newStyle:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
125 self.refactoringRenameLocalAct.triggered[()].connect(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
126 self.__renameLocal)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
127 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
128 self.connect(self.refactoringRenameLocalAct,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
129 SIGNAL('triggered()'), self.__renameLocal)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
130 self.actions.append(self.refactoringRenameLocalAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
131
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
132 self.refactoringRenameModuleAct = E5Action(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
133 self.trUtf8('Rename Current Module'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
134 self.trUtf8('Rename Current Module'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
135 0, 0,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
136 self,'refactoring_rename_module')
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
137 self.refactoringRenameModuleAct.setStatusTip(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
138 'Rename the current module'))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
139 self.refactoringRenameModuleAct.setWhatsThis(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
140 """<b>Rename Current Module</b>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
141 """<p>Rename the current module.</p>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
142 ))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
143 if self.__newStyle:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
144 self.refactoringRenameModuleAct.triggered[()].connect(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
145 self.__renameModule)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
146 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
147 self.connect(self.refactoringRenameModuleAct,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
148 SIGNAL('triggered()'), self.__renameModule)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
149 self.actions.append(self.refactoringRenameModuleAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
150
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
151 self.refactoringChangeOccurrencesAct = E5Action(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
152 self.trUtf8('Change Occurrences'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
153 self.trUtf8('Change &Occurrences'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
154 0, 0,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
155 self,'refactoring_change_occurrences')
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
156 self.refactoringChangeOccurrencesAct.setStatusTip(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
157 'Change all occurrences in the local scope'))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
158 self.refactoringChangeOccurrencesAct.setWhatsThis(self.trUtf8(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
159 """<b>Change Occurrences</b>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
160 """<p>Change all occurrences in the local scope.</p>"""
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
161 ))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
162 if self.__newStyle:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
163 self.refactoringChangeOccurrencesAct.triggered[()].connect(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
164 self.__changeOccurrences)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
165 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
166 self.connect(self.refactoringChangeOccurrencesAct,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
167 SIGNAL('triggered()'), self.__changeOccurrences)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
168 self.actions.append(self.refactoringChangeOccurrencesAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
169
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
170 #####################################################
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
171 ## Query actions
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
172 #####################################################
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
173
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
174 self.queryReferencesAct = E5Action(self.trUtf8('Find occurrences'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
175 self.trUtf8('Find &Occurrences'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
176 0, 0,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
177 self,'refactoring_find_occurrences')
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
178 self.queryReferencesAct.setStatusTip(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
179 'Find occurrences of the highlighted object'))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
180 self.queryReferencesAct.setWhatsThis(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
181 """<b>Find occurrences</b>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
182 """<p>Find occurrences of the highlighted class, method,"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
183 """ function or variable.</p>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
184 ))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
185 if self.__newStyle:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
186 self.queryReferencesAct.triggered[()].connect(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
187 self.__queryReferences)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
188 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
189 self.connect(self.queryReferencesAct, SIGNAL('triggered()'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
190 self.__queryReferences)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
191 self.actions.append(self.queryReferencesAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
192
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
193 self.queryDefinitionAct = E5Action(self.trUtf8('Find definition'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
194 self.trUtf8('Find &Definition'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
195 0, 0,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
196 self,'refactoring_find_definition')
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
197 self.queryDefinitionAct.setStatusTip(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
198 'Find definition of the highlighted item'))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
199 self.queryDefinitionAct.setWhatsThis(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
200 """<b>Find definition</b>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
201 """<p>Find the definition of the highlighted class, method,"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
202 """ function or variable.</p>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
203 ))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
204 if self.__newStyle:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
205 self.queryDefinitionAct.triggered[()].connect(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
206 self.__queryDefinition)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
207 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
208 self.connect(self.queryDefinitionAct, SIGNAL('triggered()'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
209 self.__queryDefinition)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
210 self.actions.append(self.queryDefinitionAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
211
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
212 self.queryImplementationsAct = E5Action(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
213 self.trUtf8('Find implementations'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
214 self.trUtf8('Find &Implementations'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
215 0, 0,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
216 self,'refactoring_find_implementations')
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
217 self.queryImplementationsAct.setStatusTip(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
218 'Find places where the selected method is overridden'))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
219 self.queryImplementationsAct.setWhatsThis(self.trUtf8(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
220 """<b>Find implementations</b>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
221 """<p>Find places where the selected method is overridden.</p>"""
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
222 ))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
223 if self.__newStyle:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
224 self.queryImplementationsAct.triggered[()].connect(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
225 self.__queryImplementations)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
226 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
227 self.connect(self.queryImplementationsAct, SIGNAL('triggered()'),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
228 self.__queryImplementations)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
229 self.actions.append(self.queryImplementationsAct)
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 ## Various actions
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 self.refactoringEditConfigAct = E5Action(self.trUtf8('Configure Rope'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 self.trUtf8('&Configure Rope'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 0, 0,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 self,'refactoring_edit_config')
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 self.refactoringEditConfigAct.setStatusTip(self.trUtf8(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 'Open the rope configuration file'))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 self.refactoringEditConfigAct.setWhatsThis(self.trUtf8(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 """<b>Configure Rope</b>"""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 """<p>Opens the rope configuration file in an editor.</p>"""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244 ))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 if self.__newStyle:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
246 self.refactoringEditConfigAct.triggered[()].connect(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247 self.__editConfig)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 self.connect(self.refactoringEditConfigAct, SIGNAL('triggered()'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 self.__editConfig)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 self.actions.append(self.refactoringEditConfigAct)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 self.refactoringHelpAct = E5Action(self.trUtf8('Rope help'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 self.trUtf8('Rope &Help'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255 0, 0,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 self,'refactoring_help')
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 self.refactoringHelpAct.setStatusTip(self.trUtf8(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 'Show help about the rope refactorings'))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 self.refactoringHelpAct.setWhatsThis(self.trUtf8(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
260 """<b>Rope help</b>"""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
261 """<p>Show some help text about the rope refactorings.</p>"""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
262 ))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 if self.__newStyle:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264 self.refactoringHelpAct.triggered[()].connect(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
265 self.__showRopeHelp)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 self.connect(self.refactoringHelpAct, SIGNAL('triggered()'),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 self.__showRopeHelp)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 self.actions.append(self.refactoringHelpAct)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 for act in self.actions:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 act.setEnabled(False)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 def initMenu(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 Public slot to initialize the refactoring menu.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 @return the menu generated (QMenu)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 menu = QMenu(self.trUtf8('&Refactoring'), self.__ui)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 menu.setTearOffEnabled(True)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
282
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
283 act = menu.addAction('rope', self.__ropeInfo)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 font = act.font()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 font.setBold(True)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
286 act.setFont(font)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
287 menu.addSeparator()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
289 smenu = menu.addMenu(self.trUtf8("&Query"))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
290 smenu.addAction(self.queryReferencesAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
291 smenu.addAction(self.queryDefinitionAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
292 smenu.addAction(self.queryImplementationsAct)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
293
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
294 smenu = menu.addMenu(self.trUtf8("&Refactoring"))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
295 if self.__newStyle:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
296 smenu.aboutToShow.connect(self.__showRefactoringMenu)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
297 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
298 self.connect(smenu, SIGNAL("aboutToShow()"),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
299 self.__showRefactoringMenu)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
300 smenu.addAction(self.refactoringRenameAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
301 smenu.addAction(self.refactoringRenameLocalAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
302 smenu.addAction(self.refactoringChangeOccurrencesAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
303 smenu.addSeparator()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
304 smenu.addAction(self.refactoringRenameModuleAct)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
305 smenu.addSeparator()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
306
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 menu.addSeparator()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 menu.addAction(self.refactoringEditConfigAct)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 menu.addAction(self.refactoringHelpAct)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 self.__mainMenu = menu
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 return menu
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 ## slots below implement general functionality
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 def __ropeInfo(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 Private slot to show some info about rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
322 E5MessageBox.about(self.__ui,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323 self.trUtf8("About rope"),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 self.trUtf8("{0}\nVersion {1}\n\n{2}".format(
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
325 rope.INFO, rope.VERSION, rope.COPYRIGHT)))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
327 def __canUndo(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
328 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
329 Private slot to check, if there are changes to be undone.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
330
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
331 @return flag indicating, that undoable changes are available (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
332 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
333 return self.__project is not None and \
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
334 len(self.__project.history.undo_list) > 0
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
335
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
336 def __canRedo(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
337 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
338 Private slot to check, if there are changes to be redone.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
339
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
340 @return flag indicating, that redoable changes are available (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
341 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
342 return self.__project is not None and \
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
343 len(self.__project.history.redo_list) > 0
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
344
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
345 def __getFileUndoList(self, resource):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
346 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
347 Private slot to get a list of undoable changes.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
348
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
349 @param resource file resource to filter against
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
350 (rope.base.resources.File)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
351 @return list of change objects (list of rope.base.change.Change)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
352 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
353 undoList = []
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
354 for change in self.__project.history.undo_list:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
355 if resource in change.get_changed_resources():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
356 undoList.append(change)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
357 return undoList
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
358
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
359 def __getFileRedoList(self, resource):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
360 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
361 Private slot to get a list of redoable changes.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
362
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
363 @param resource file resource to filter against
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
364 (rope.base.resources.File)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
365 @return list of change objects (list of rope.base.change.Change)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
366 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
367 redoList = []
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
368 for change in self.__project.history.redo_list:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
369 if resource in change.get_changed_resources():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
370 redoList.append(change)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
371 return redoList
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
372
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
373 def __canUndoFile(self, resource):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
374 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
375 Private slot to check, if there are undoable changes for a resource.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
376
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
377 @param resource file resource to check against
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
378 (rope.base.resources.File)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
379 @return flag indicating, that undoable changes are available (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
380 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
381 return self.__canUndo() and len(self.__getFileUndoList(resource)) > 0
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
382
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
383 def __canRedoFile(self, resource):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
384 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
385 Private slot to check, if there are redoable changes for a resource.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
386
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
387 @param resource file resource to check against
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
388 (rope.base.resources.File)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
389 @return flag indicating, that redoable changes are available (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
390 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
391 return self.__canRedo() and len(self.__getFileRedoList(resource)) > 0
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
392
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
393 def __showRefactoringMenu(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
394 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
395 Private slot called before the refactoring menu is shown.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
396 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
397 # TODO: enable these once undo/redo has been implemented
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
398 ## self.refactoringUndoAct.setEnabled(self.__canUndo())
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
399 ## self.refactoringRedoAct.setEnabled(self.__canRedo())
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
400
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
401 def handleRopeError(self, err, title, handle=None):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
402 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
403 Public slot to handle a rope error.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
404
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
405 @param err rope exception object (Exception)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
406 @param title title to be displayed (string)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
407 @param handle reference to a taskhandle (ProgressHandle)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
408 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
409 if handle is not None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
410 handle.reset()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
411 if str(type(err)).split()[-1][1:-2].split('.')[-1] == \
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
412 'ModuleSyntaxError':
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
413 res = E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
414 self.trUtf8("Rope error: {0}").format(str(err)),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
415 QMessageBox.Ok | QMessageBox.Open)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
416 if res == QMessageBox.Open:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
417 e5App().getObject("ViewManager").openSourceFile(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
418 os.path.join(self.__e4project.getProjectPath(),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
419 err.filename),
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
420 err.lineno)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
421 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
422 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
423 self.trUtf8("Rope error: {0}").format(str(err)))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
424
3
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
425 ##################################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
426 ## slots below implement the various refactorings
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
427 ##################################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
428
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
429 #####################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
430 ## Rename refactorings
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
431 #####################################################
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
432
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
433 def __rename(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
434 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
435 Private slot to handle the Rename action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
436 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
437 self.__doRename(self.trUtf8('Rename'))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
438
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
439 def __renameLocal(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
440 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
441 Private slot to handle the Local Rename action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
442 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
443 self.__doRename(self.trUtf8('Local Rename'), isLocal=True)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
444
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
445 def __renameModule(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
446 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
447 Private slot to handle the Rename Current Module action.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
448 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
449 self.__doRename(self.trUtf8('Rename Current Module'),
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
450 renameModule=True)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
451
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
452 def __doRename(self, title, isLocal=False, renameModule=False):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
453 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
454 Private method to perform the various renaming refactorings.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
455
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
456 @param title title of the refactoring (string)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
457 @param isLocal flag indicating to restrict refactoring to
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
458 the local file (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
459 @param renameModule flag indicating a module rename refactoring
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
460 (boolean)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
461 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
462 aw = e5App().getObject("ViewManager").activeWindow()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
463
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
464 if aw is None:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
465 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
466
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
467 if not renameModule and not aw.hasSelectedText():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
468 # no selection available
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
469 E5MessageBox.warning(self.__ui, title,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
470 self.trUtf8("Highlight the declaration you want to rename"
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
471 " and try again."))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
472 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
473
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
474 if isLocal:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
475 if not self.confirmBufferIsSaved(aw):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
476 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
477 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
478 if not self.confirmAllBuffersSaved():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
479 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
480
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
481 filename = aw.getFileName()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
482 if renameModule:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
483 offset = None
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
484 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
485 line, index, line1, index1 = aw.getSelection()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
486 if line != line1:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
487 # selection span more than one line
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
488 E5MessageBox.warning(self.__ui, title,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
489 self.trUtf8("The selection must not extend beyond"
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
490 " one line."))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
491 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
492 index = int(index + (index1 - index) / 2)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
493 # keep it inside the object
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
494 offset = aw.positionFromLineIndex(line, index)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
495
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
496 resource = rope.base.libutils.path_to_resource(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
497 self.__project, filename)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
498 try:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
499 renamer = rope.refactor.rename.Rename(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
500 self.__project, resource, offset)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
501 except Exception as err:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
502 self.handleRopeError(err, title)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
503 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
504
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
505 if isLocal:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
506 localResource = resource
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
507 else:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
508 localResource = None
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
509 self.dlg = RenameDialog(self, title, renamer, resource=localResource,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
510 parent=self.__ui)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
511 self.dlg.show()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
512
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
513 def __changeOccurrences(self):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
514 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
515 Private slot to perform the Change Occurrences refactoring.
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
516 """
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
517 aw = e5App().getObject("ViewManager").activeWindow()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
518
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
519 if aw is None:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
520 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
521
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
522 title = self.trUtf8("Change Occurrences")
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
523 if not aw.hasSelectedText():
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
524 # no selection available
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
525 E5MessageBox.warning(self.__ui, title,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
526 self.trUtf8("Highlight an occurrence to be changed"
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
527 " and try again."))
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
528 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
529
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
530 if not self.confirmBufferIsSaved(aw):
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
531 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
532
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
533 filename = aw.getFileName()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
534 line, index, line1, index1 = aw.getSelection()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
535 offset = aw.positionFromLineIndex(line, index)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
536
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
537 resource = rope.base.libutils.path_to_resource(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
538 self.__project, filename)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
539 try:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
540 renamer = rope.refactor.rename.ChangeOccurrences(
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
541 self.__project, resource, offset)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
542 except Exception as err:
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
543 self.handleRopeError(err, title)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
544 return
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
545
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
546 self.dlg = ChangeOccurrencesDialog(self, title, renamer,
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
547 parent=self.__ui)
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
548 self.dlg.show()
3be1b4662b48 Added the 'rename' refactorings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2
diff changeset
549
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
550 #####################################################
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
551 ## Find actions
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
552 #####################################################
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
553
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
554 def __queryReferences(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
555 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
556 Private slot to handle the Find References action.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
557 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
558 aw = e5App().getObject("ViewManager").activeWindow()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
559
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
560 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
561 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
562
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
563 title = self.trUtf8("Find Occurrences")
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
564 if not aw.hasSelectedText():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
565 # no selection available
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
566 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
567 self.trUtf8("Highlight the class, method, function or variable"
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
568 " to search for and try again."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
569 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
570
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
571 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
572 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
573
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
574 filename = aw.getFileName()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
575 line, index, line1, index1 = aw.getSelection()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
576 offset = aw.positionFromLineIndex(line, index)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
577
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
578 resource = rope.base.libutils.path_to_resource(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
579 self.__project, filename)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
580 handle = ProgressHandle(title, True, self.__ui)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
581 handle.show()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
582 QApplication.processEvents()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
583 try:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
584 occurrences = rope.contrib.findit.find_occurrences(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
585 self.__project, resource, offset,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
586 unsure = True, in_hierarchy = True, task_handle = handle)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
587 except Exception as err:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
588 self.handleRopeError(err, title, handle)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
589 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
590 handle.reset()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
591
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
592 if occurrences:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
593 self.dlg = MatchesDialog(self.__ui, True)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
594 self.dlg.show()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
595 for occurrence in occurrences:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
596 self.dlg.addEntry(occurrence.resource,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
597 occurrence.lineno, occurrence.unsure)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
598 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
599 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
600 self.trUtf8("No occurrences found."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
601
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
602 def __queryDefinition(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
603 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
604 Private slot to handle the Find Definition action
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
605 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
606 aw = e5App().getObject("ViewManager").activeWindow()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
607
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
608 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
609 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
610
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
611 title = self.trUtf8("Find &Definition")
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
612 if not aw.hasSelectedText():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
613 # no selection available
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
614 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
615 self.trUtf8("Highlight the class, method, function or"
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
616 " variable reference to search definition for and"
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
617 " try again."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
618 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
619
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
620 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
621 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
622
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
623 filename = aw.getFileName()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
624 line, index, line1, index1 = aw.getSelection()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
625 offset = aw.positionFromLineIndex(line, index)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
626
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
627 resource = rope.base.libutils.path_to_resource(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
628 self.__project, filename)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
629 try:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
630 location = rope.contrib.findit.find_definition(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
631 self.__project, aw.text(), offset, resource)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
632 except Exception as err:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
633 self.handleRopeError(err, title)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
634 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
635
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
636 if location is not None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
637 self.dlg = MatchesDialog(self.__ui, False)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
638 self.dlg.show()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
639 self.dlg.addEntry(location.resource, location.lineno)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
640 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
641 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
642 self.trUtf8("No matching definition found."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
643
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
644 def __queryImplementations(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
645 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
646 Private slot to handle the Find Implementations action.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
647 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
648 aw = e5App().getObject("ViewManager").activeWindow()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
649
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
650 if aw is None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
651 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
652
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
653 title = self.trUtf8("Find Implementations")
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
654 if not aw.hasSelectedText():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
655 # no selection available
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
656 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
657 self.trUtf8("Highlight the method to search for"
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
658 " and try again."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
659 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
660
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
661 if not self.confirmAllBuffersSaved():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
662 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
663
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
664 filename = aw.getFileName()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
665 line, index, line1, index1 = aw.getSelection()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
666 offset = aw.positionFromLineIndex(line, index)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
667
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
668 resource = rope.base.libutils.path_to_resource(self.__project,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
669 filename)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
670 handle = ProgressHandle(title, True, self.__ui)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
671 handle.show()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
672 QApplication.processEvents()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
673 try:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
674 occurrences = rope.contrib.findit.find_implementations(
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
675 self.__project, resource, offset, task_handle = handle)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
676 except Exception as err:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
677 self.handleRopeError(err, title, handle)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
678 return
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
679 handle.reset()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
680
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
681 if occurrences:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
682 self.dlg = MatchesDialog(self.__ui, True)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
683 self.dlg.show()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
684 for occurrence in occurrences:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
685 self.dlg.addEntry(occurrence.resource,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
686 occurrence.lineno, occurrence.unsure)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
687 else:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
688 E5MessageBox.warning(self.__ui, title,
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
689 self.trUtf8("No occurrences found."))
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
690
1
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
691 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
692 ## Various actions
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
693 #####################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
694
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
695 def __editConfig(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
696 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
697 Private slot to open the rope configuration file in an editor.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
698 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
699 ropedir = self.__project.ropefolder
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
700 configfile = ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
701 if ropedir is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
702 configfile = os.path.join(ropedir.real_path, "config.py")
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
703 if os.path.exists(configfile):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
704 self.__editor = MiniEditor(configfile)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
705 self.__editor.show()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
706 if self.__newStyle:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
707 self.__editor.editorSaved.connect(self.__configChanged)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
708 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
709 self.connect(self.__editor, SIGNAL("editorSaved"),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
710 self.__configChanged)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
711 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
712 E5MessageBox.critical(self.__ui,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
713 self.trUtf8("Configure Rope"),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
714 self.trUtf8("""The Rope configuration file '{0}' does"""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
715 """ not exist.""").format(configfile))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
716 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
717 E5MessageBox.critical(self.__ui,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
718 self.trUtf8("Configure Rope"),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
719 self.trUtf8("""The Rope admin directory does not exist."""))
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
720
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
721 def __showRopeHelp(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
722 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
723 Private slot to show help about the refactorings offered by Rope.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
724 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
725 if self.__helpDialog is None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
726 helpfile = os.path.join(os.path.dirname(__file__),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
727 "rope", "docs", "overview.txt")
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
728 self.__helpDialog = \
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
729 HelpDialog(self.trUtf8("Help about rope refactorings"),
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
730 helpfile)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
731 self.__helpDialog.show()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
732
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
733 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
734 ## methods below are private utility methods
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
735 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
736
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
737 def __ropeConfigFile(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
738 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
739 Private method to get the name of the rope configuration file.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
740
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
741 @return name of the rope configuration file (string)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
742 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
743 configfile = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
744 if self.__project is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
745 ropedir = self.__project.ropefolder
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
746 if ropedir is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
747 configfile = os.path.join(ropedir.real_path, "config.py")
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
748 if not os.path.exists(configfile):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
749 configfile = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
750 return configfile
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
751
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
752 def __configChanged(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
753 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
754 Private slot called, when the rope config file has changed.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
755 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
756 self.__project.close()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
757 self.__project = rope.base.project.Project(self.__projectpath,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
758 fscommands = self.__fsCommands)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
759
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
760 def __defaultConfig(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
761 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
762 Private slot to return the contents of rope's default configuration.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
763
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
764 @return string containing the source of rope's default
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
765 configuration (string)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
766 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
767 if self.__project is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
768 return self.__project._default_config()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
769 else:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
770 return ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
771
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
772 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
773 ## methods below are public utility methods
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
774 ##################################################################
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
775
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
776 def getActions(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
777 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
778 Public method to get a list of all actions.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
779
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
780 @return list of all actions (list of E5Action)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
781 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
782 return self.actions[:]
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
783
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
784 def projectOpened(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
785 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
786 Public slot to handle the projectOpened signal.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
787 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
788 if self.__projectopen:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
789 self.projectClosed()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
790
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
791 self.__projectopen = True
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
792 self.__projectpath = self.__e5project.getProjectPath()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
793 self.__projectLanguage = self.__e5project.getProjectLanguage()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
794
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
795 if self.__projectLanguage in ["Python3"]:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
796 self.__project = rope.base.project.Project(self.__projectpath,
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
797 fscommands = self.__fsCommands)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
798 for act in self.actions:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
799 act.setEnabled(True)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
800
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
801 def projectClosed(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
802 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
803 Public slot to handle the projectClosed signal.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
804 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
805 for act in self.actions:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
806 act.setEnabled(False)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
807
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
808 if self.__project is not None:
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
809 self.__project.close()
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
810 self.__project = None
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
811
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
812 self.__projectopen = False
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
813 self.__projectpath = ''
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
814 self.__projectLanguage = ""
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
815
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
816 def getProject(self):
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
817 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
818 Public method to get a reference to the rope project object.
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
819
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
820 @return reference to the rope project object (RopeProject)
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
821 """
9f687137a929 Started implementing the basic functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
822 return self.__project
2
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
823
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
824 def confirmBufferIsSaved(self, editor):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
825 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
826 Public method to check, if an editor has unsaved changes.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
827
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
828 @param editor reference to the editor to be checked
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
829 @return flag indicating, that the editor doesn't contain
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
830 unsaved edits (boolean)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
831 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
832 res = editor.checkDirty()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
833 self.__project.validate(self.__project.root)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
834 return res
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
835
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
836 def confirmAllBuffersSaved(self):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
837 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
838 Private method to check, if any editor has unsaved changes.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
839
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
840 @return flag indicating, that no editor contains unsaved edits
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
841 (boolean)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
842 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
843 res = e5App().getObject("ViewManager").checkAllDirty()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
844 self.__project.validate(self.__project.root)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
845 return res
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
846
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
847 def refreshEditors(self, changes):
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
848 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
849 Public method to refresh modified editors.
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
850
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
851 @param reference to the Changes object (rope.base.change.ChangeSet)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
852 """
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
853 vm = e5App().getObject("ViewManager")
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
854
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
855 changedFiles = []
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
856 for resource in changes.get_changed_resources():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
857 if not resource.is_folder():
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
858 changedFiles.append(resource.real_path)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
859
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
860 openFiles = [Utilities.normcasepath(f) for f in vm.getOpenFilenames()]
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
861
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
862 for file in changedFiles:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
863 normfile = Utilities.normcasepath(file)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
864 if normfile in openFiles:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
865 editor = vm.getEditor(normfile)[1]
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
866 editor.refresh()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
867
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
868 aw = vm.activeWindow()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
869 if aw is not None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
870 filename = aw.getFileName()
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
871 if filename is not None:
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
872 vm.openSourceFile(filename, aw.getCursorPosition()[0] + 1)
fc72a5b922a6 Added the rope query functions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
873

eric ide

mercurial