def get_tabcontent(self, chessfile): tabcontent = createAlignment(0, 0, 0, 0) hbox = Gtk.HBox() hbox.set_spacing(4) hbox.pack_start(createImage(pgn_icon), False, True, 0) close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) close_button.connect("clicked", self.close) hbox.pack_end(close_button, False, True, 0) name, ext = os.path.splitext(chessfile.path) basename = os.path.basename(name) info = "%s.%s" % (basename, ext[1:]) tooltip = _("%(path)s\ncontaining %(count)s games") % ( { "path": chessfile.path, "count": chessfile.count }) tabcontent.set_tooltip_text(tooltip) label = Gtk.Label(info) hbox.pack_start(label, False, True, 0) tabcontent.add(hbox) tabcontent.show_all() return tabcontent, close_button
def get_tabcontent(self, chessfile): tabcontent = createAlignment(0, 0, 0, 0) hbox = Gtk.HBox() hbox.set_spacing(4) hbox.pack_start(createImage(pgn_icon), False, True, 0) close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) close_button.connect("clicked", self.close) hbox.pack_end(close_button, False, True, 0) name, ext = os.path.splitext(chessfile.path) basename = os.path.basename(name) info = "%s.%s" % (basename, ext[1:]) tooltip = "%s\ncontaining %s games" % (chessfile.path, chessfile.count) tabcontent.set_tooltip_text(tooltip) label = Gtk.Label(info) hbox.pack_start(label, False, True, 0) tabcontent.add(hbox) tabcontent.show_all() return tabcontent, close_button
def initTabcontents(self): tabcontent = createAlignment(0, 0, 0, 0) hbox = Gtk.HBox() hbox.set_spacing(4) hbox.pack_start(createImage(light_off), False, True, 0) close_button = Gtk.Button() close_button.set_property("can-focus", False) close_button.add(createImage(gtk_close)) close_button.set_relief(Gtk.ReliefStyle.NONE) close_button.set_size_request(20, 18) self.cids[close_button] = close_button.connect( "clicked", self.on_game_close_clicked) hbox.pack_end(close_button, False, True, 0) text_hbox = Gtk.HBox() white_label = Gtk.Label(label="") text_hbox.pack_start(white_label, False, True, 0) text_hbox.pack_start(Gtk.Label(label=" - "), False, True, 0) black_label = Gtk.Label(label="") text_hbox.pack_start(black_label, False, True, 0) gameinfo_label = Gtk.Label(label="") text_hbox.pack_start(gameinfo_label, False, True, 0) # label.set_alignment(0,.7) hbox.pack_end(text_hbox, True, True, 0) tabcontent.add(hbox) tabcontent.show_all() # Gtk doesn't show tab labels when the rest is return tabcontent, white_label, black_label, gameinfo_label
def initButtons(self, board): align = createAlignment(4, 0, 4, 0) toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_PREVIOUS) firstButton.set_tooltip_text(_("Jump to initial position")) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_REWIND) prevButton.set_tooltip_text(_("Step back one move")) toolbar.insert(prevButton, -1) mainButton = Gtk.ToolButton(Gtk.STOCK_REDO) mainButton.set_tooltip_text(_("Go back to the main line")) toolbar.insert(mainButton, -1) nextButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_FORWARD) nextButton.set_tooltip_text(_("Step forward one move")) toolbar.insert(nextButton, -1) lastButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_NEXT) lastButton.set_tooltip_text(_("Jump to latest position")) toolbar.insert(lastButton, -1) filterButton = Gtk.ToolButton(Gtk.STOCK_FIND) filterButton.set_tooltip_text(_("Find postion in current database")) toolbar.insert(filterButton, -1) self.saveButton = Gtk.ToolButton(Gtk.STOCK_SAVE) self.saveButton.set_tooltip_text(_("Save arrows/circles")) toolbar.insert(self.saveButton, -1) def on_clicked(button, func): # Prevent moving in game while lesson not finished if self.gamemodel.lesson_game and not self.gamemodel.solved: return else: func() self.cids[firstButton] = firstButton.connect("clicked", on_clicked, self.board.view.showFirst) self.cids[prevButton] = prevButton.connect("clicked", on_clicked, self.board.view.showPrev) self.cids[mainButton] = mainButton.connect("clicked", on_clicked, self.board.view.backToMainLine) self.cids[nextButton] = nextButton.connect("clicked", on_clicked, self.board.view.showNext) self.cids[lastButton] = lastButton.connect("clicked", on_clicked, self.board.view.showLast) self.cids[filterButton] = filterButton.connect("clicked", on_clicked, self.find_in_database) self.cids[self.saveButton] = self.saveButton.connect("clicked", on_clicked, self.save_shapes_to_pgn) self.on_shapes_changed(self.board) self.board.connect("shapes_changed", self.on_shapes_changed) tool_box = Gtk.Box() tool_box.pack_start(toolbar, True, True, 0) align.add(tool_box) return align
def initButtons(self, board): align = createAlignment(4, 0, 4, 0) toolbar = Gtk.Toolbar() firstButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_PREVIOUS) firstButton.set_tooltip_text(_("Jump to initial position")) toolbar.insert(firstButton, -1) prevButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_REWIND) prevButton.set_tooltip_text(_("Step back one move")) toolbar.insert(prevButton, -1) mainButton = Gtk.ToolButton(Gtk.STOCK_REDO) mainButton.set_tooltip_text(_("Go back to the main line")) toolbar.insert(mainButton, -1) nextButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_FORWARD) nextButton.set_tooltip_text(_("Step forward one move")) toolbar.insert(nextButton, -1) lastButton = Gtk.ToolButton(Gtk.STOCK_MEDIA_NEXT) lastButton.set_tooltip_text(_("Jump to latest position")) toolbar.insert(lastButton, -1) filterButton = Gtk.ToggleToolButton(Gtk.STOCK_FIND) filterButton.set_tooltip_text(_("Find postion in current database")) toolbar.insert(filterButton, -1) def on_clicked(button, func): func() self.cids[firstButton] = firstButton.connect("clicked", on_clicked, self.board.view.showFirst) self.cids[prevButton] = prevButton.connect("clicked", on_clicked, self.board.view.showPrev) self.cids[mainButton] = mainButton.connect( "clicked", on_clicked, self.board.view.backToMainLine) self.cids[nextButton] = nextButton.connect("clicked", on_clicked, self.board.view.showNext) self.cids[lastButton] = lastButton.connect("clicked", on_clicked, self.board.view.showLast) self.cids[filterButton] = filterButton.connect("clicked", on_clicked, self.find_in_database) tool_box = Gtk.Box() tool_box.pack_start(toolbar, True, True, 0) align.add(tool_box) return align
def initBoardAndClock(self, gamemodel): boardvbox = Gtk.VBox() boardvbox.set_spacing(2) infobar = InfoBarNotebook("gamewidget_infobar") ccalign = createAlignment(0, 0, 0, 0) cclock = ChessClock() cclock.setModel(gamemodel.timemodel) ccalign.add(cclock) ccalign.set_size_request(-1, 32) boardvbox.pack_start(ccalign, False, True, 0) actionMenuDic = {} for item in ACTION_MENU_ITEMS: actionMenuDic[item] = widgets[item] board = BoardControl(gamemodel, actionMenuDic) boardvbox.pack_start(board, True, True, 0) return boardvbox, board, infobar, cclock
def init_layout(self): perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("database", perspective_widget) self.notebooks = {"gamelist": new_notebook()} self.main_notebook = self.notebooks["gamelist"] for panel in self.sidePanels: self.notebooks[panel.__name__] = new_notebook(panel.__name__) self.spinner = Gtk.Spinner() self.spinner.set_size_request(50, 50) self.progressbar0 = Gtk.ProgressBar(show_text=True) self.progressbar = Gtk.ProgressBar(show_text=True) self.progress_dialog = Gtk.Dialog( "", mainwindow(), 0, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) self.progress_dialog.set_deletable(False) self.progress_dialog.get_content_area().pack_start( self.spinner, True, True, 0) self.progress_dialog.get_content_area().pack_start( self.progressbar0, True, True, 0) self.progress_dialog.get_content_area().pack_start( self.progressbar, True, True, 0) self.progress_dialog.get_content_area().show_all() # Initing headbook align = createAlignment(4, 4, 0, 4) align.set_property("yscale", 0) self.headbook = Gtk.Notebook() self.headbook.set_name("headbook") self.headbook.set_scrollable(True) align.add(self.headbook) perspective_widget.pack_start(align, False, True, 0) self.headbook.connect_after("switch-page", self.on_switch_page) # The dock self.dock = PyDockTop("database", self) align = Gtk.Alignment() align.show() align.add(self.dock) self.dock.show() perspective_widget.pack_start(align, True, True, 0) self.docks["gamelist"] = (Gtk.Label(label="gamelist"), self.notebooks["gamelist"], None) for panel in self.sidePanels: self.docks[panel.__name__][1] = self.notebooks[panel.__name__] self.load_from_xml() # Default layout of side panels if not os.path.isfile(self.dockLocation): leaf = self.dock.dock(self.docks["gamelist"][1], CENTER, self.docks["gamelist"][0], "gamelist") leaf.setDockable(False) leaf = leaf.dock(self.docks["OpeningTreePanel"][1], EAST, self.docks["OpeningTreePanel"][0], "OpeningTreePanel") leaf = leaf.dock(self.docks["FilterPanel"][1], CENTER, self.docks["FilterPanel"][0], "FilterPanel") leaf.dock(self.docks["PreviewPanel"][1], SOUTH, self.docks["PreviewPanel"][0], "PreviewPanel") def unrealize(dock): dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize) self.dock.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("database", self.menuitems) perspective_manager.set_perspective_toolbuttons( "database", [self.import_button, self.save_as_button])
def init_layout(self): perspective_widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) perspective_manager.set_perspective_widget("database", perspective_widget) self.notebooks = {"gamelist": new_notebook()} self.main_notebook = self.notebooks["gamelist"] for panel in self.sidePanels: self.notebooks[panel.__name__] = new_notebook(panel.__name__) self.spinner = Gtk.Spinner() self.spinner.set_size_request(50, 50) self.progressbar0 = Gtk.ProgressBar(show_text=True) self.progressbar1 = Gtk.ProgressBar(show_text=True) self.progress_dialog = Gtk.Dialog("", mainwindow(), 0, ( Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) self.progress_dialog.set_deletable(False) self.progress_dialog.get_content_area().pack_start(self.spinner, True, True, 0) self.progress_dialog.get_content_area().pack_start(self.progressbar0, True, True, 0) self.progress_dialog.get_content_area().pack_start(self.progressbar1, True, True, 0) self.progress_dialog.get_content_area().show_all() # Initing headbook align = createAlignment(4, 4, 0, 4) align.set_property("yscale", 0) self.headbook = Gtk.Notebook() self.headbook.set_name("headbook") self.headbook.set_scrollable(True) align.add(self.headbook) perspective_widget.pack_start(align, False, True, 0) self.headbook.connect_after("switch-page", self.on_switch_page) # The dock self.dock = PyDockTop("database", self) align = Gtk.Alignment() align.show() align.add(self.dock) self.dock.show() perspective_widget.pack_start(align, True, True, 0) self.docks["gamelist"] = (Gtk.Label(label="gamelist"), self.notebooks["gamelist"], None) for panel in self.sidePanels: self.docks[panel.__name__][1] = self.notebooks[panel.__name__] self.load_from_xml() # Default layout of side panels if not os.path.isfile(self.dockLocation): leaf = self.dock.dock(self.docks["gamelist"][1], CENTER, self.docks["gamelist"][0], "gamelist") leaf.setDockable(False) leaf = leaf.dock(self.docks["OpeningTreePanel"][1], EAST, self.docks["OpeningTreePanel"][0], "OpeningTreePanel") leaf = leaf.dock(self.docks["FilterPanel"][1], CENTER, self.docks["FilterPanel"][0], "FilterPanel") leaf.dock(self.docks["PreviewPanel"][1], SOUTH, self.docks["PreviewPanel"][0], "PreviewPanel") def unrealize(dock): dock.saveToXML(self.dockLocation) dock._del() self.dock.connect("unrealize", unrealize) self.dock.show_all() perspective_widget.show_all() perspective_manager.set_perspective_menuitems("database", self.menuitems) perspective_manager.set_perspective_toolbuttons("database", [ self.import_button, self.save_as_button])
def initButtons(self, board): align = createAlignment(4, 0, 4, 0) toolbar = Gtk.Toolbar() image1 = get_pixbuf("glade/first.png") firstButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image1)) firstButton.set_tooltip_text(_("Jump to initial position")) toolbar.insert(firstButton, -1) image2 = get_pixbuf("glade/prev.png") prevButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image2)) prevButton.set_tooltip_text(_("Step back one move")) toolbar.insert(prevButton, -1) image3 = get_pixbuf("glade/mainline.png") mainButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image3)) mainButton.set_tooltip_text(_("Go back to the main line")) toolbar.insert(mainButton, -1) image4 = get_pixbuf("glade/parent.png") upButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image4)) upButton.set_tooltip_text(_("Go back to the parent line")) toolbar.insert(upButton, -1) image5 = get_pixbuf("glade/next.png") nextButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image5)) nextButton.set_tooltip_text(_("Step forward one move")) toolbar.insert(nextButton, -1) image6 = get_pixbuf("glade/last.png") lastButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image6)) lastButton.set_tooltip_text(_("Jump to latest position")) toolbar.insert(lastButton, -1) image7 = get_pixbuf("glade/find.png") filterButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image7)) filterButton.set_tooltip_text(_("Find position in current database")) toolbar.insert(filterButton, -1) image8 = get_pixbuf("glade/save.png") self.saveButton = Gtk.ToolButton.new(Gtk.Image.new_from_pixbuf(image8)) self.saveButton.set_tooltip_text(_("Save arrows/circles")) toolbar.insert(self.saveButton, -1) def on_clicked(button, func): # Prevent moving in game while lesson not finished if self.gamemodel.lesson_game and not self.gamemodel.solved: return else: func() self.cids[firstButton] = firstButton.connect("clicked", on_clicked, self.board.view.showFirst) self.cids[prevButton] = prevButton.connect("clicked", on_clicked, self.board.view.showPrev) self.cids[mainButton] = mainButton.connect( "clicked", on_clicked, self.board.view.backToMainLine) self.cids[upButton] = upButton.connect( "clicked", on_clicked, self.board.view.backToParentLine) self.cids[nextButton] = nextButton.connect("clicked", on_clicked, self.board.view.showNext) self.cids[lastButton] = lastButton.connect("clicked", on_clicked, self.board.view.showLast) self.cids[filterButton] = filterButton.connect("clicked", on_clicked, self.find_in_database) self.cids[self.saveButton] = self.saveButton.connect( "clicked", on_clicked, self.save_shapes_to_pgn) self.on_shapes_changed(self.board) self.board.connect("shapes_changed", self.on_shapes_changed) tool_box = Gtk.Box() tool_box.pack_start(toolbar, True, True, 0) align.add(tool_box) return align