def __init__(self, slider_width=8, length=100, left_top=(0, 0)):
     super().__init__()
     self.ruler = None
     self.tick_value = 0
     self.length = length
     self.fixed_height = 6
     self.is_dragging = False
     self.slider_width = slider_width
     self.sw, self.sh = self.slider_size = (slider_width,
                                            2 * self.fixed_height + 10)
     self.bar = go.BorderedRect((0, 0), (length, self.fixed_height))
     self.slider = go.BorderedRect((0, 0), self.slider_size)
     self.set_size((length, self.sh))
     self.set_position(left_top)
     self.tick_length = (self.bar.right - self.bar.left) / 100
     self.ruler = Ruler(self.bar.left_top, self.bar.size)
     self.wire_events()
 def __init__(self, lbl_str, on_checked=None, left_top=(0, 0)):
     super().__init__()
     self.is_active = False
     self.is_checked = False
     self.on_checked = on_checked
     self.font_style = self.get_style('default_text')
     self.lbl_text = go.RenderText(lbl_str, self.font_style)
     self.check_box = go.BorderedRect(left_top, (10, 10))
     self.fill_box = go.Rect(left_top, (10, 10))
     self.set_size(tuple(x + 10 for x in self.lbl_text.size))
     self.set_position(left_top)
     self.wire_events()
 def __init__(self, digits, can_grow=False, limit=100, left_top=(0, 0)):
     super().__init__()
     self.limit = limit
     self.can_grow = can_grow
     self.digits = digits
     self.post_update = False
     self.div = 10 * int('{}{}'.format(
         1, ''.join(['0' for i in range(self.digits - 1)])))
     self.counter = 0
     self.padding = 10
     self.box = go.BorderedRect(left_top, (0, 0))
     self.font_style = self.get_style('digit_text')
     self.display_text = go.RenderText(self.get_display_str(),
                                       font_style=self.font_style)
     self.set_size(tuple(x + self.padding for x in self.display_text.size))
     self.set_position(left_top)
 def __init__(self, left_top=(0, 0), digit_color=Color.RED):
     super().__init__()
     self.time = 0
     self.prv_time = 0
     self.padding = 4
     self.is_running = False
     self.font_style = self.get_style('digit_text')
     self.seperator_txt = go.RenderText(':', self.font_style)
     self.seconds_txt = go.RenderText(self.display_format(0),
                                      self.font_style)
     self.minutes_txt = go.RenderText(self.display_format(0),
                                      self.font_style)
     self.hours_txt = go.RenderText(self.display_format(0), self.font_style)
     self.box = go.BorderedRect(left_top, (0, 0))
     self.set_size(self.get_clock_size())
     self.set_position(left_top)
 def __init__(self,
              left_top=(0, 0),
              min_size=(0, 0),
              max_size=(0, 0),
              can_grow=False,
              word_wrap=False):
     super().__init__(left_top, min_size)
     self.time = 0
     self.prv_time = 0
     self.has_focus = False
     self.can_grow = can_grow
     self.word_wrap = word_wrap
     self.cursor_visible = False
     self.min_w, self.min_h = self.min_size = min_size
     self.max_w, self.max_h = self.max_size = max_size
     self.box = go.BorderedRect(left_top, min_size)
     self.cursor = go.VerticalLine((self.x, self.top + 4), self.h - 8)
     self.wire_events()
 def __init__(self,
              text,
              on_click=None,
              left_top=(0, 0),
              min_size=(0, 0),
              is_visible=True,
              is_enabled=True):
     super().__init__(left_top,
                      is_enabled=is_enabled,
                      is_visible=is_visible)
     self.is_active = False
     self.on_click = on_click
     self.min_w, self.min_h = self.min_size = min_size
     self.font_style = self.get_text_style()
     self.btn_txt = go.RenderText(text, self.font_style)
     self.btn_bck = go.BorderedRect((0, 0), (0, 0))
     self.set_size(self.get_size())
     self.set_position(self.left_top)
     self.wire_events()