ViewerItem.py
author Dmitriy Morozov <dmitriy@mrzv.org>
Sat, 05 Mar 2011 15:27:02 -0800
changeset 3 6f1239040a06
parent 1 da08d9c69f4b
child 4 d52927c0bf92
permissions -rw-r--r--
Factored out more functionality into ViewerItem

from    PyQt4       import QtGui, QtCore

class ViewerItem(QtGui.QListWidgetItem):
    def __init__(self, name, parent = None):
        super(ViewerItem, self).__init__(name, parent, QtGui.QListWidgetItem.UserType)

        self.color = QtGui.QColor(255, 0, 255)
        self.visible = True
        self.setChecked()

    def toggleVisible(self):
        self.visible = not self.visible
        self.setChecked()

    def setChecked(self):
        if self.visible:
            self.setCheckState(QtCore.Qt.Checked)
        else:
            self.setCheckState(QtCore.Qt.Unchecked)
        
    def createMenu(self):
        menu = QtGui.QMenu()
        colorAction = menu.addAction("Color")
        colorAction.command = lambda: self.colorCommand()
        return menu

    def contextMenu(self, position):
        menu = self.createMenu()
        action = menu.exec_(position)
        if action: action.command()

    def colorCommand(self):
        color = QtGui.QColorDialog.getColor(self.color)
        if color.isValid():
            self.color = color