def __init__(self, title, label_ok="OK", label_cancel="Cancel"): self.__inputs = [] self.__return_code = self.RETURN_CANCEL # list of value retrieving functions self.__retrievers = [] Window.__init__(self, Window.TYPE_DIALOG) self.set_flag(windowflags.EXCLUSIVE, True) self.connect_closed(self.__on_close, self.RETURN_CANCEL) self.set_title(title) self.__box = Widget() self.add(self.__box) self.__button_ok = Button(label_ok) self.__button_ok.connect_clicked(self.__on_close, self.RETURN_OK) self.__box.add(self.__button_ok) if (not platforms.MAEMO5): self.__button_cancel = Button(label_cancel) self.__button_cancel.connect_clicked(self.__on_close, self.RETURN_CANCEL) self.__box.add(self.__button_cancel) self.__vbox = VBox() self.__box.add(self.__vbox)
def __init__(self): self.__current_page = 0 self.__pages = [] data = open(os.path.join(_PATH, "tour_C.dat")).read() self.__parse_tour(data) Configurator.__init__(self) self.__tour_box = Widget() # toolbar elements btn_toc = ToolbarButton(theme.mb_btn_toc_1) btn_toc.connect_clicked(self.__on_btn_toc) btn_previous = ToolbarButton(theme.mb_btn_previous_1) btn_previous.connect_clicked(self.__on_btn_previous) btn_next = ToolbarButton(theme.mb_btn_next_1) btn_next.connect_clicked(self.__on_btn_next) # toolbar self.__toolbar = Toolbar() self.__toolbar.set_toolbar(btn_previous, btn_toc, btn_next) # arrangement self.__arr = Arrangement() self.__arr.connect_resized(self.__update_layout) self.__arr.add(self.__tour_box, "content") self.__arr.add(self.__toolbar, "toolbar") self.add(self.__arr)
def __init__(self, horizontal=False, thickness=None, size=0, offset=0, **kwargs): Box.__init__(self, **kwargs) self.interactive, self.cursor = True, False self.spacing = 0 self.thickness = thickness if thickness else self.thickness #: whether the scroll bar is vertical or horizontal self.orient_horizontal = horizontal #: width of the bar in pixels self.size = size #: scroll position in range 0..1 self.offset = offset if horizontal: self.expand_vert = False self.min_height = thickness else: self.expand = False self.min_width = thickness #: slider container self.slider_zone = Widget() #: slider widget self.slider = ScrollBarSlider() self.slider_zone.add_child(self.slider) #: the scroll up button self.up = ScrollBarButton( direction="left" if self.orient_horizontal else "up") #: the scroll down button self.down = ScrollBarButton( direction="right" if self.orient_horizontal else "down") self.add_child(self.up, self.slider_zone, self.down) self._timeout = None for button in (self.up, self.down): self.connect_child(button, "on-mouse-down", self.on_scrollbutton_pressed) self.connect_child(button, "on-mouse-up", self.on_scrollbutton_released) self.connect_child(button, "on-mouse-out", self.on_scrollbutton_released) self.connect_child(self.slider, "on-drag", self.on_slider_drag) self.connect("on-click", self.on_click)
def __init__(self): pygame.init() self.resolution = (500, 400) self.window = pygame.display.set_mode(self.resolution) pygame.display.set_caption('Настройка') self.clock = pygame.time.Clock() self.new_update = True self.start_program = False self.fullscreen = True self.resolutions = [ (1280, 720), (1360, 768), (1366, 768), (1920, 1080), ] self.current_resolution = 2 self.widgets = [ Widget(x=0, y=0, width=self.resolution[0] // 2, height=self.resolution[1] // 3, text='Разрешение: 1366x768'), Widget(x=self.resolution[0] // 2, y=0, width=self.resolution[0] // 4, height=self.resolution[1] // 3, text='-', onclick=lambda: self.change_resolution('-'), font_size=36, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=self.resolution[0] // 2 + self.resolution[0] // 4, y=0, width=self.resolution[0] // 4, height=self.resolution[1] // 3, text='+', onclick=lambda: self.change_resolution('+'), font_size=36, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=self.resolution[1] // 3, width=self.resolution[0] // 2, height=self.resolution[1] // 3, text='Полный экран: Вкл.'), Widget(x=self.resolution[0] // 2, y=self.resolution[1] // 3, width=self.resolution[0] // 4, height=self.resolution[1] // 3, text='-', font_size=36, onclick=self.change_fullscreen, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=self.resolution[0] // 2 + self.resolution[0] // 4, y=self.resolution[1] // 3, width=self.resolution[0] // 4, height=self.resolution[1] // 3, text='+', font_size=36, onclick=self.change_fullscreen, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=(self.resolution[1] // 3) * 2, width=self.resolution[0], height=self.resolution[1] // 3, text='Запустить', font_size=36, onclick=self.start, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), ]
def __init__(self, resolution=(1366, 768), fullscreen=True): fullscreen = pygame.FULLSCREEN if fullscreen else 0 self.resolution = resolution try: self.window = pygame.display.set_mode(resolution, fullscreen) except Exception as e: Tk().withdraw() messagebox.showerror('Ошибка!', e) raise e pygame.display.set_caption('Life by BUS410') self.cols = (resolution[0] - UI_WIDTH) // 10 self.rows = resolution[1] // 10 self.field = Field(resolution[0] - UI_WIDTH, resolution[1], self.cols, self.rows, count_put_food=32) self.field.update() self.update_iterator = UPDATE_FREQUENCY self.update_frequency = UPDATE_FREQUENCY self.clock = pygame.time.Clock() self.start = False self.next_update = True self.widgets = [ Widget(x=0, y=0, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Старт/Стоп', background_color=BUTTON_COLOR, onclick=self.start_stop, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Очистить', onclick=self.clear, background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT * 2, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Размер таблицы'), Widget(x=0, y=WIDGET_HEIGHT * 3, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='-', onclick=lambda: self.change_field('-'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=UI_WIDTH // 2, y=WIDGET_HEIGHT * 3, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='+', onclick=lambda: self.change_field('+'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT * 4, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='-10', onclick=lambda: self.change_field('-', 10), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=UI_WIDTH // 2, y=WIDGET_HEIGHT * 4, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='+10', onclick=lambda: self.change_field('+', 10), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT * 5, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Частота обновл.'), Widget(x=0, y=WIDGET_HEIGHT * 6, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='-', onclick=lambda: self.change_update_frequency('+'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=UI_WIDTH // 2, y=WIDGET_HEIGHT * 6, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='+', onclick=lambda: self.change_update_frequency('-'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT * 7, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Еды за раз'), Widget(x=0, y=WIDGET_HEIGHT * 8, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='-', onclick=lambda: self.change_food_count('-'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=UI_WIDTH // 2, y=WIDGET_HEIGHT * 8, width=UI_WIDTH // 2, height=WIDGET_HEIGHT, text='+', onclick=lambda: self.change_food_count('+'), background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED), Widget(x=0, y=WIDGET_HEIGHT * 9, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Пищи: 1'), Widget(x=0, y=WIDGET_HEIGHT * 10, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Организмов: 0'), Widget(x=0, y=WIDGET_HEIGHT * 11, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Хищников: 0'), Widget(x=0, y=WIDGET_HEIGHT * 12, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Поле: 36x64'), Widget(x=0, y=resolution[1] - WIDGET_HEIGHT, width=UI_WIDTH, height=WIDGET_HEIGHT, text='Выход', background_color=BUTTON_COLOR, background_color_cover=BUTTON_COVER, background_color_click=BUTTON_CLICKED, onclick=self.quit) ]