コード例 #1
0
ファイル: InputDialog.py プロジェクト: buzztiaan/mediabox
    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)
コード例 #2
0
ファイル: Tour.py プロジェクト: buzztiaan/mediabox
    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)
コード例 #3
0
    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)
コード例 #4
0
    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),
        ]
コード例 #5
0
 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)
     ]