tuikit/core/theme.py
author Radek Brich <radek.brich@devl.cz>
Sun, 22 Feb 2015 09:53:13 +0100
changeset 119 dd91747504dd
parent 109 105b1affc3c2
permissions -rw-r--r--
Redraw widgets on request. Add scrollbar demo.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
89
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     1
from tuikit.core.unigraph import unigraph_default as unigraph
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     2
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     3
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     4
class ColorTheme:
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     5
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     6
    """Default color style"""
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     7
119
dd91747504dd Redraw widgets on request. Add scrollbar demo.
Radek Brich <radek.brich@devl.cz>
parents: 109
diff changeset
     8
    clr_normal = 'lightgray'
dd91747504dd Redraw widgets on request. Add scrollbar demo.
Radek Brich <radek.brich@devl.cz>
parents: 109
diff changeset
     9
    clr_active = 'black on cyan'
dd91747504dd Redraw widgets on request. Add scrollbar demo.
Radek Brich <radek.brich@devl.cz>
parents: 109
diff changeset
    10
    clr_button = 'black on lightgray'
dd91747504dd Redraw widgets on request. Add scrollbar demo.
Radek Brich <radek.brich@devl.cz>
parents: 109
diff changeset
    11
    clr_button_active = 'black on cyan'
89
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    12
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    13
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    14
class GraphicalTheme:
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    15
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    16
    """Default graphical symbols"""
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    17
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    18
    # Frame
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    19
    frame_hline = unigraph.HLINE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    20
    frame_vline = unigraph.VLINE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    21
    frame_ulcorner = unigraph.ULCORNER
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    22
    frame_urcorner = unigraph.URCORNER
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    23
    frame_llcorner = unigraph.LLCORNER
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    24
    frame_lrcorner = unigraph.LRCORNER
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    25
    frame_ltee = unigraph.LTEE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    26
    frame_rtee = unigraph.RTEE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    27
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    28
    # Scrollbar
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    29
    sb_thumb = unigraph.CIRCLE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    30
    sb_htrack = unigraph.DOTTED_HLINE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    31
    sb_vtrack = unigraph.DOTTED_VLINE
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    32
    sb_left = unigraph.LEFT_ARROW
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    33
    sb_right = unigraph.RIGHT_ARROW
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    34
    sb_up = unigraph.UP_ARROW
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    35
    sb_down = unigraph.DOWN_ARROW
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    36
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    37
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    38
class Theme(ColorTheme, GraphicalTheme):
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    39
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    40
    def __getitem__(self, name):
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    41
        return getattr(self, name)
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    42
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    43
94f5baef19ac Add Theme, Button.
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    44
default_theme = Theme()