def create_toggle_button(self, name1, callback1, name2, callback2, location=Location.SOUTH): btn = ToggleButton(name1, callback1, name2, callback2, location) self.sprites.add(btn) return btn
def create_revert_button(): button = ToggleButton( app_theme.get_pixbuf("mode/simple_normal.png"), app_theme.get_pixbuf("mode/full_normal.png"), app_theme.get_pixbuf("mode/simple_hover.png"), app_theme.get_pixbuf("mode/full_hover.png"), app_theme.get_pixbuf("mode/simple_press.png"), app_theme.get_pixbuf("mode/full_press.png"), ) return button
def __init__(self, title='Title', child=None, active=True, spacing=1): ''' Create folder. ''' self._text = title self._closed_prefix = u'▹ ' self._opened_prefix = u'▿ ' if active: prefix = self._opened_prefix else: prefix = self._closed_prefix self._title = ToggleButton(prefix + title, active=active, action=self.toggle) VBox.__init__(self, children=[self._title, child], spacing=spacing) self.style = theme.Folder self.title.style = theme.Folder.title self.child.style = theme.Folder.child
def __init__(self, interactor, label, vertical=True, left=10, top=10, open_label="Open", on_open=None, close_label="Close", on_close=None, button_margin=5, parent=None, save=None): self.save = save self.interactor = interactor self.margin = button_margin # Left is automatically modified by the margin; was running into issues # with updating left at a later date, this was the easiest solution. self.left = left self.top = top self.label = ToggleButton(self.interactor, label, on=self.__on__, off=self.__off__, on_prefix=open_label, off_prefix=close_label, left=self.left - self.margin, top=self.top) self.on_open = on_open self.on_close = on_close self.vertical = vertical self.open = False # Increment this as widgets are added self.width, self.height = self.label.get_dimensions() self.widgets = [] self.bars = {} self.parent = parent self.__placing__ = False
def add_toggle_button(self, label, **kwargs): _off = kwargs.get("off", None) _on = kwargs.get("on", None) def off(): if _off: _off() if self.save: self.save() def on(): if _on: _on() kwargs['off'] = off kwargs['on'] = on if self.vertical: kwargs["left"] = self.left kwargs["top"] = self.top + self.height + self.margin else: kwargs["left"] = self.left + self.width + self.margin kwargs["top"] = self.top b = ToggleButton(self.interactor, label, **kwargs) if self.open: b.show() if self.vertical: self.height = kwargs["top"] + b.get_dimensions()[1] else: self.width = kwargs["left"] + b.get_dimensions()[0] self.widgets.append(b) return b
def __init__(self, appid, widget_display=[]): Statusbar.__init__( self, 39, ) self.appid = appid self.widget_display = widget_display self.widget_main_box = gtk.HBox() self.register_widgets = {} self.mute_button = ToggleButton( app_theme.get_pixbuf('mute/sound_normal.png'), app_theme.get_pixbuf('mute/mute_normal.png'), app_theme.get_pixbuf('mute/sound_hover.png'), app_theme.get_pixbuf('mute/mute_hover.png'), app_theme.get_pixbuf('mute/sound_press.png'), app_theme.get_pixbuf('mute/mute_press.png'), active_button_label=_('Volume'), inactive_button_label=_('Mute'), draw_background=True, padding_edge=10, padding_middle=6) #self.mute_button.connect('clicked', self.mute_handler) mute_button_align = gtk.Alignment() mute_button_align.set(0, 0.5, 0, 0) mute_button_align.set_padding(3, 6, 3, 3) mute_button_align.add(self.mute_button) self.register_widgets["mute"] = mute_button_align self.favorite_button = ToggleButton( app_theme.get_pixbuf('favorite/unfavorite_normal.png'), app_theme.get_pixbuf('favorite/favorite_normal.png'), app_theme.get_pixbuf('favorite/unfavorite_hover.png'), app_theme.get_pixbuf('favorite/favorite_hover.png'), app_theme.get_pixbuf('favorite/unfavorite_press.png'), app_theme.get_pixbuf('favorite/favorite_press.png'), active_button_label=_('Favorite'), draw_background=True, padding_edge=10, padding_middle=6) #self.favorite_button.connect('clicked', self.toggle_favorite) favorite_button_align = gtk.Alignment() favorite_button_align.set(0, 0.5, 0, 0) favorite_button_align.set_padding(3, 6, 3, 3) favorite_button_align.add(self.favorite_button) self.register_widgets['favorite'] = favorite_button_align self.replay_button = Button( app_theme.get_pixbuf('replay/replay_normal.png'), app_theme.get_pixbuf('replay/replay_hover.png'), app_theme.get_pixbuf('replay/replay_press.png'), button_label=_('Replay'), draw_background=True, padding_edge=10, padding_middle=6) #self.replay_button.connect('clicked', self.replay_action) replay_button_align = gtk.Alignment() replay_button_align.set(0, 0.5, 0, 0) replay_button_align.set_padding(3, 6, 3, 3) replay_button_align.add(self.replay_button) self.register_widgets["replay"] = replay_button_align if LANGUAGE == 'en_US': more_width = 14 else: more_width = 0 self.pause_button = ToggleButton( app_theme.get_pixbuf('pause/pause_normal.png'), app_theme.get_pixbuf('pause/play_normal.png'), app_theme.get_pixbuf('pause/pause_hover.png'), app_theme.get_pixbuf('pause/play_hover.png'), app_theme.get_pixbuf('pause/pause_press.png'), app_theme.get_pixbuf('pause/play_press.png'), active_button_label=_('Pause'), inactive_button_label=_('Continue'), draw_background=True, padding_edge=10, padding_middle=6, more_width=more_width) #self.pause_button.connect('button-press-event', self.pause_handler) pause_button_align = gtk.Alignment() pause_button_align.set(0, 0.5, 0, 0) pause_button_align.set_padding(3, 6, 10, 3) pause_button_align.add(self.pause_button) self.register_widgets["pause"] = pause_button_align self.fullscreen_button = ToggleButton( app_theme.get_pixbuf('fullscreen/fullscreen_normal.png'), app_theme.get_pixbuf('fullscreen/unfullscreen_normal.png'), app_theme.get_pixbuf('fullscreen/fullscreen_hover.png'), app_theme.get_pixbuf('fullscreen/unfullscreen_hover.png'), app_theme.get_pixbuf('fullscreen/fullscreen_press.png'), app_theme.get_pixbuf('fullscreen/unfullscreen_press.png'), active_button_label=_('Fullscreen'), inactive_button_label=_('Normal'), draw_background=True, padding_edge=10, padding_middle=6) #self.fullscreen_button.connect('clicked', self.fullscreen_action) fullscreen_button_align = gtk.Alignment() fullscreen_button_align.set(0, 0.5, 0, 0) fullscreen_button_align.set_padding(3, 6, 3, 3) fullscreen_button_align.add(self.fullscreen_button) self.register_widgets["fullscreen"] = fullscreen_button_align self.share_button = Button( app_theme.get_pixbuf('share/share_normal.png'), app_theme.get_pixbuf('share/share_hover.png'), app_theme.get_pixbuf('share/share_press.png'), button_label=_('Share'), draw_background=True, padding_edge=10, padding_middle=6) #self.share_button.connect('clicked', self.share_action) share_button_align = gtk.Alignment() share_button_align.set(0, 0.5, 0, 0) share_button_align.set_padding(3, 6, 3, 3) share_button_align.add(self.share_button) self.register_widgets["share"] = share_button_align star_box = gtk.HBox() self.star = StarView() self.star.set_star_level(9) star_align = gtk.Alignment(0.5, 0.5, 0, 0) star_align.set_padding(2, 2, 3, 0) star_align.add(self.star) self.star_mark = Markbox(5.0, '#ffffff') star_mark_align = gtk.Alignment(0.5, 0, 0, 0) star_mark_align.set_padding(2, 4, 3, 20) star_mark_align.add(self.star_mark) star_box.pack_start(star_align) star_box.pack_start(star_mark_align) star_box_align = gtk.Alignment(1, 0.5, 0, 0) star_box_align.set_padding(0, 0, 3, 0) star_box_align.add(star_box) self.register_widgets["star"] = star_box_align if "pause" in self.widget_display: self.widget_main_box.pack_start(pause_button_align, False, False) #if "mute" in self.widget_display: #self.widget_main_box.pack_start(mute_button_align, False, False) if "replay" in self.widget_display: self.widget_main_box.pack_start(replay_button_align, False, False) if "favorite" in self.widget_display: self.widget_main_box.pack_start(favorite_button_align, False, False) if "fullscreen" in self.widget_display: self.widget_main_box.pack_start(fullscreen_button_align, False, False) if "share" in self.widget_display: self.widget_main_box.pack_start(share_button_align, False, False) if "star" in self.widget_display: self.widget_main_box.pack_end(star_box_align) self.status_box.pack_start(self.widget_main_box, True, True) self.leave_callback = None #self.connect('motion-notify-event', self.leave_event_handler) global_event.register_event('download-app-info-finish', self.update_star) global_event.register_event('set-star-score-success', self.score_success_handler) self.star.connect("button-press-event", self.star_press) self.cookie = get_cookie_star(self.appid) if self.cookie: self.star.set_read_only(True)
# Initialize starting variables start_vertex = None end_vertex = None run_once = True return (display_surface, surface, graph, maze_surface, maze_centered_width, maze_centered_height, start_vertex, end_vertex, run_once) # Initialize variables from the initialize_maze call with the specified maze display, surf, graph1, maze_img, \ centered_w, centered_h, start, end, once = initialize_maze('mazes/maze.png') # Initialize the GUI. This includes buttons, text boxes, drop down menus, timers, and counters. start_button = ToggleButton((10, 10, 100, 50), 'Start', (0, 170, 0)) end_button = ToggleButton((110, 10, 100, 50), 'End', (170, 0, 0)) restart_button = Button((720, 10, 100, 50), 'Restart', (255, 0, 0)) iteration_counter_pos = (210, 10) timer_pos = (210, 30) algo_drop_down = DropDown(['Breadth First Search', 'Depth First Search', 'A*'], (520, 10, 200, 50), display) maze_drop_down = DropDown(['Maze 1', 'Maze 2', 'Maze 3', 'Other'], (820, 10, 200, 50), display) maze_drop_down_text_box = TextBox('', 'Enter File Name', (1025, 10, 150, 50), display) draw_text_box = False # Initialize the algorithm object alg = PathfindingAlgorithms(iteration_counter_pos, centered_w, centered_h, timer_pos)