summaryrefslogtreecommitdiffstats
path: root/examples/pytde-sampler/misc/gradientselect.py
blob: e0d788e615708903b6bf1077c2a3aaf05952ca26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from python_tqt.qt import TQFrame, TQHBoxLayout, TQVBoxLayout, SIGNAL, TQColor, TQSizePolicy, TQLabel
from tdecore import i18n
from tdeui import KPushButton, KGradientSelector, KTextEdit, KDualColorButton, KColorPatch

iconName = 'colors'
labelText = 'KGradientSelector'
docParts = ('tdeui', 'KGradientSelector')
helpText = ("An example of the KGradientSelector widget."
            "\n"
            "Change the start and finish colors with the dual color button."
            )


class MainFrame(TQFrame):
    def __init__(self, parent=None):
        TQFrame.__init__(self, parent)
        self.help = KTextEdit(helpText, '', self)
        self.selector = KGradientSelector(self)
        self.dualLabel = TQLabel('Select Colors:', self)
        
        self.startColor = TQColor('red')
        self.finishColor = TQColor('blue')

        self.selector.setColors(self.startColor, self.finishColor)
        self.selector.setText('Start', 'Finish')
        
        self.dualButton = KDualColorButton(self.startColor, self.finishColor, self)
        self.dualButton.setSizePolicy(TQSizePolicy(TQSizePolicy.Maximum,
                                                  TQSizePolicy.Maximum))

        layout = TQVBoxLayout(self, 4)
        layout.addWidget(self.help, 20)

        buttonLayout = TQHBoxLayout(layout, 4)
        buttonLayout.addWidget(self.dualLabel, 0)
        buttonLayout.addWidget(self.dualButton, 1)

        layout.addWidget(self.selector, 10)


        self.connect(self.dualButton, SIGNAL('fgChanged(const TQColor &)'),
                     self.selector.setFirstColor)
        self.connect(self.dualButton, SIGNAL('bgChanged(const TQColor &)'),
                     self.selector.setSecondColor)        
        self.connect(self.selector, SIGNAL('valueChanged(int)'),
                     self.updateValue)


    def updateValue(self, value):
        ## this should be extended to update a color swatch
        pass