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()