Beispiel #1
0
    def __init__(self,
                 elements: List[List[int]],
                 start: "Point",
                 size: int,
                 orientation=HORIZONTAL):
        super().__init__()
        self.translate(start.x, start.y)
        self.orientation = orientation
        self.elements = Guides._elements_from_list([list(e) for e in elements])
        self.cell_size = size
        self.line_length = 50
        self.width = self.line_length
        self.font_size = 13
        self._number_height = None
        self._number_width = None
        self._cell_list_to_update = True
        self._cell_list = []

        def change_status(line, status, value):
            if status == "wrong":
                for e in self.elements[line]:
                    e.wrong = value
            elif status == "done":
                for e in self.elements[line]:
                    e.done = value

        def activate_status(status_line: "[(status,line)]"):
            for line in self.elements:
                for e in line:
                    e.wrong = False
                    e.done = False
            for (status, line) in status_line:
                change_status(line, status, True)
            self.invalidate()

        if self.orientation == Guides.HORIZONTAL:
            self.register_signal("activate-hor-status", activate_status)
        else:
            self.register_signal("activate-ver-status", activate_status)

        self._update_clip()
        self.color_map = {
            "done": rgb_to_gtk(46, 139, 87),
            "wrong": rgb_to_gtk(178, 34, 34),
            "cancelled": rgb_to_gtk(139, 134, 130)
        }
Beispiel #2
0
    def __init__(self, elements: List[List[int]],
                 start:"Point", size: int, orientation=HORIZONTAL):
        super().__init__()
        self.translate(start.x, start.y)
        self.orientation = orientation
        self.elements = Guides._elements_from_list([list(e) for e in elements])
        self.cell_size = size
        self.line_length = 50
        self.width=self.line_length
        self.font_size = 13
        self._number_height = None
        self._number_width = None
        self._cell_list_to_update = True
        self._cell_list = []
        def change_status(line,status,value):
            if status == "wrong":
                for e in self.elements[line]:
                    e.wrong = value
            elif status == "done":
                for e in self.elements[line]:
                    e.done = value
        def activate_status(status_line:"[(status,line)]"):
            for line in self.elements:
                for e in line:
                    e.wrong = False
                    e.done = False
            for (status,line) in status_line:
                change_status(line,status,True)
            self.invalidate()
        if self.orientation == Guides.HORIZONTAL:
            self.register_signal("activate-hor-status", activate_status)
        else:
            self.register_signal("activate-ver-status", activate_status)

        self._update_clip()
        self.color_map = {
            "done" : rgb_to_gtk(46,139,87),
            "wrong" : rgb_to_gtk(178,34,34),
            "cancelled" : rgb_to_gtk(139,134,130)
            }
Beispiel #3
0
        self.cell = cell
        self.wide_cell = wide_cell

    @property
    def text(self):
        return str(self.value)


class Orientation(Enum):

    VERTICAL = 0
    HORIZONTAL = 1


_color_map = {
    "normal": rgb_to_gtk(0, 0, 0),
    "done": rgb_to_gtk(46, 139, 87),
    "wrong": rgb_to_gtk(178, 34, 34),
    "cancelled": rgb_to_gtk(139, 134, 130)
}


class _GuideElement:
    def __init__(self, label: str, position: Point = Point(0, 0)):
        self.label = label
        self.position = position
        self.is_wrong = False
        self.is_done = False
        self.is_cancelled = False
        self.width = 0
        self.height = 0
Beispiel #4
0
"""
Created on May 19, 2015

@author: giovanni
"""

from lightwidgets.support import rgb_to_gtk
from lightwidgets.animator import Animator
from lightwidgets.geometry import Point

background = (.9, .9, .9)
start_selected = (.3, .3, .3)
start_default = rgb_to_gtk(25, 25, 112)
start_default = (.8, .8, .8)
start_empty = rgb_to_gtk((240, 255, 240))
highlight = rgb_to_gtk(255, 255, 0)
highlight = rgb_to_gtk(70, 130, 180)

_keys_r = {
    "up": ["w", "k", "up"],
    "down": ["s", "j", "down"],
    "left": ["a", "h", "left"],
    "right": ["d", "l", "right"],
    "up_left": ["y", "q"],
    "down_left": ["b", "z"],
    "up_right": ["u", "e"],
    "down_right": ["n", "c"]
}

global_movement_keys = {}
for (k, v) in _keys_r.items():
Beispiel #5
0
        self.cell = cell
        self.wide_cell = wide_cell

    @property
    def text(self):
        return str(self.value)


class Orientation(Enum):

    VERTICAL = 0
    HORIZONTAL = 1


_color_map = {
    "normal": rgb_to_gtk(0, 0, 0),
    "done": rgb_to_gtk(46,139,87),
    "wrong": rgb_to_gtk(178,34,34),
    "cancelled": rgb_to_gtk(139,134,130)
}

class _GuideElement:

    def __init__(self, label: str, position: Point=Point(0, 0)):
        self.label = label
        self.position = position
        self.is_wrong = False
        self.is_done = False
        self.is_cancelled = False
        self.width = 0
        self.height = 0
Beispiel #6
0
 def background_color(self, value):
     if value is None:
         self._background_color = None
     else:
         self._background_color = rgb_to_gtk(value)
Beispiel #7
0
"""
Created on May 19, 2015

@author: giovanni
"""

from lightwidgets.support import rgb_to_gtk
from lightwidgets.animator import Animator
from lightwidgets.geometry import Point

background = (.9, .9, .9)
start_selected = (.3, .3, .3)
start_default = rgb_to_gtk(25, 25, 112)
start_default = (.8, .8, .8)
start_empty = rgb_to_gtk((240, 255, 240))
highlight = rgb_to_gtk(255, 255, 0)
highlight = rgb_to_gtk(70, 130, 180)

_keys_r = {
    "up": ["w", "k", "up"],
    "down": ["s", "j", "down"],
    "left": ["a", "h", "left"],
    "right": ["d", "l", "right"],
    "up_left": ["y", "q"],
    "down_left": ["b", "z"],
    "up_right": ["u", "e"],
    "down_right": ["n", "c"]
}

global_movement_keys = {}
for (k, v) in _keys_r.items():
Beispiel #8
0
 def background_color(self, value):
     if value is None:
         self._background_color = None
     else:
         self._background_color = rgb_to_gtk(value)
Beispiel #9
0
 def label_color(self, value):
     self._label_color = rgb_to_gtk(value)
Beispiel #10
0
 def background_color(self, value):
     self._background_color = rgb_to_gtk(value)
Beispiel #11
0
 def label_color(self,value):
     self._label_color = rgb_to_gtk(value)
Beispiel #12
0
 def background_color(self, value):
     self._background_color = rgb_to_gtk(value)