11
Widgets defined in this module may be used in any other PyQt4-based application
11
Widgets defined in this module may be used in any other Qt-based application
13
13
They are also used in Spyder through the Plugin interface
14
14
(see spyderlib.plugins)
17
from PyQt4.QtGui import QTreeWidget, QMenu
18
from PyQt4.QtCore import SIGNAL
17
from spyderlib.qt.QtGui import QTreeWidget, QMenu
18
from spyderlib.qt.QtCore import SIGNAL
21
from spyderlib.config import get_icon
22
from spyderlib.utils.qthelpers import (create_action, add_actions, translate,
21
from spyderlib.config import get_icon, _
22
from spyderlib.utils.qthelpers import (create_action, add_actions,
23
23
get_item_user_text)
25
25
class OneColumnTree(QTreeWidget):
57
57
def setup_common_actions(self):
58
58
"""Setup context menu common actions"""
59
59
self.collapse_all_action = create_action(self,
60
text=translate('OneColumnTree', 'Collapse all'),
61
icon=get_icon('collapse.png'),
62
triggered=self.collapseAll)
60
text=_('Collapse all'),
61
icon=get_icon('collapse.png'),
62
triggered=self.collapseAll)
63
63
self.expand_all_action = create_action(self,
64
text=translate('OneColumnTree', 'Expand all'),
65
icon=get_icon('expand.png'),
66
triggered=self.expandAll)
65
icon=get_icon('expand.png'),
66
triggered=self.expandAll)
67
67
self.restore_action = create_action(self,
68
text=translate('OneColumnTree', 'Restore'),
69
tip=translate('OneColumnTree',
70
'Restore original tree layout'),
71
icon=get_icon('restore.png'),
72
triggered=self.restore)
69
tip=_('Restore original tree layout'),
70
icon=get_icon('restore.png'),
71
triggered=self.restore)
73
72
self.collapse_selection_action = create_action(self,
74
text=translate('OneColumnTree', 'Collapse selection'),
75
icon=get_icon('collapse_selection.png'),
76
triggered=self.collapse_selection)
73
text=_('Collapse selection'),
74
icon=get_icon('collapse_selection.png'),
75
triggered=self.collapse_selection)
77
76
self.expand_selection_action = create_action(self,
78
text=translate('OneColumnTree', 'Expand selection'),
79
icon=get_icon('expand_selection.png'),
80
triggered=self.expand_selection)
77
text=_('Expand selection'),
78
icon=get_icon('expand_selection.png'),
79
triggered=self.expand_selection)
81
80
return [self.collapse_all_action, self.expand_all_action,
82
81
self.restore_action, None,
83
82
self.collapse_selection_action, self.expand_selection_action]
181
180
self.__expanded_state = {}
182
181
def add_to_state(item):
183
182
user_text = get_item_user_text(item)
184
self.__expanded_state[user_text] = item.isExpanded()
183
self.__expanded_state[hash(user_text)] = item.isExpanded()
185
184
def browse_children(item):
186
185
add_to_state(item)
187
186
for index in range(item.childCount()):
188
187
citem = item.child(index)
189
188
user_text = get_item_user_text(citem)
190
self.__expanded_state[user_text] = citem.isExpanded()
189
self.__expanded_state[hash(user_text)] = citem.isExpanded()
191
190
browse_children(citem)
192
191
for tlitem in self.get_top_level_items():
193
192
browse_children(tlitem)