~mapclient.devs/mapclient/stable

« back to all changes in this revision

Viewing changes to mapclient/widgets/steptree.py

  • Committer: musculoskeletal
  • Date: 2014-06-25 05:38:05 UTC
  • mfrom: (1.6.35 testing)
  • Revision ID: musculoskeletal@bioeng1033-20140625053805-jkqhi5oq74vmlntl
Merging testing into stable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
    along with MAP Client.  If not, see <http://www.gnu.org/licenses/>..
19
19
'''
20
20
from PySide import QtCore, QtGui
21
 
from widgets.utils import createDefaultImageIcon
 
21
from mapclient.widgets.utils import createDefaultImageIcon
22
22
 
23
23
class StepTree(QtGui.QTreeWidget):
24
24
 
25
25
    def __init__(self, parent=None):
26
26
        super(StepTree, self).__init__(parent)
27
27
        self.stepIconSize = 64
 
28
        self.setStyleSheet("QTreeWidget::item::has-children { \
 
29
            background: lightgray; text-align: center;  \
 
30
            color: black; border: 2px solid lightgray; \
 
31
            padding-bottom: 4px; padding-top: 4px; \
 
32
            border-radius: 4px; } \
 
33
            QTreeWidget::item::closed { padding-left: 4px;\
 
34
            image: url(':/stepbox/images/branch-closed.png') } \
 
35
            QTreeWidget::item::closed::has-children { padding-left: 40px;\
 
36
            image: url(':/stepbox/images/branch-closed.png') }")
28
37
 
29
38
        size = QtCore.QSize(self.stepIconSize, self.stepIconSize)
30
39
        self.setIconSize(size)
46
55
 
47
56
    def addStep(self, step):
48
57
 
 
58
        column = 0
49
59
        parentItem = self.findParentItem(step._category)
50
60
        if not parentItem:
51
61
            parentItem = QtGui.QTreeWidgetItem(self)
52
 
            parentItem.setText(0, step._category)
 
62
            parentItem.setText(column, step._category)
 
63
            parentItem.setTextAlignment(column, QtCore.Qt.AlignCenter)
 
64
            font = parentItem.font(column)
 
65
            font.setPointSize(12)
 
66
            font.setWeight(QtGui.QFont.Bold)
 
67
            parentItem.setFont(column, font)
53
68
 
54
69
        if not parentItem.isExpanded():
55
70
            parentItem.setExpanded(True)
56
71
 
57
72
        stepItem = QtGui.QTreeWidgetItem(parentItem)
58
 
        stepItem.setText(0, step.getName())
 
73
        stepItem.setText(column, step.getName())
59
74
        if step._icon:
60
 
            stepItem.setIcon(0, QtGui.QIcon(QtGui.QPixmap.fromImage(step._icon)))
 
75
            stepItem.setIcon(column, QtGui.QIcon(QtGui.QPixmap.fromImage(step._icon)))
61
76
        else:
62
 
            stepItem.setIcon(0, QtGui.QIcon(QtGui.QPixmap.fromImage(createDefaultImageIcon(step.getName()))))
 
77
            stepItem.setIcon(column, QtGui.QIcon(QtGui.QPixmap.fromImage(createDefaultImageIcon(step.getName()))))
63
78
 
64
 
        stepItem.setData(0, QtCore.Qt.UserRole, step)
 
79
        stepItem.setData(column, QtCore.Qt.UserRole, step)
65
80
        stepItem.setFlags(QtCore.Qt.ItemIsEnabled)
66
81
 
67
82
    def mousePressEvent(self, event):