tuikit/widgets/label.py
author Radek Brich <radek.brich@devl.cz>
Sun, 22 Feb 2015 09:53:13 +0100
changeset 119 dd91747504dd
parent 95 05392e369ede
permissions -rw-r--r--
Redraw widgets on request. Add scrollbar demo.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
87
ee5ea9671f28 Add core Widget, Container. Add widgets Label.
Radek Brich <radek.brich@devl.cz>
parents: 62
diff changeset
     1
from tuikit.core.widget import Widget
6
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     2
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     3
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     4
class Label(Widget):
87
ee5ea9671f28 Add core Widget, Container. Add widgets Label.
Radek Brich <radek.brich@devl.cz>
parents: 62
diff changeset
     5
6
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     6
    def __init__(self, label=''):
62
2f61931520c9 Rework layouts: Layout is now normal Container which places its children upon resize event.
Radek Brich <radek.brich@devl.cz>
parents: 46
diff changeset
     7
        Widget.__init__(self)
87
ee5ea9671f28 Add core Widget, Container. Add widgets Label.
Radek Brich <radek.brich@devl.cz>
parents: 62
diff changeset
     8
        self.sizereq.update(len(label), 1)
6
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     9
        self.label = label
89
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents: 87
diff changeset
    10
        self.color = 'default'
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents: 87
diff changeset
    11
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents: 87
diff changeset
    12
    def set_theme(self, theme):
119
dd91747504dd Redraw widgets on request. Add scrollbar demo.
Radek Brich <radek.brich@devl.cz>
parents: 95
diff changeset
    13
        self.color = self.theme.clr_normal
6
d4ee152d7d07 Test for GridLayout. New Label widget.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    14
94
e50dae408fe9 Add origin to Buffer. Use it to simplify hierarchical drawing.
Radek Brich <radek.brich@devl.cz>
parents: 89
diff changeset
    15
    def draw(self, buffer):
89
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents: 87
diff changeset
    16
        with buffer.attr(self.color):
95
05392e369ede Refactoring: Swap drawing operations parameters. Coords are now last and have default values.
Radek Brich <radek.brich@devl.cz>
parents: 94
diff changeset
    17
            buffer.puts(self.label)