17#include <glibmm/i18n.h>
33 :
Gtk::Box(
Gtk::Orientation::HORIZONTAL)
36 set_name(
"PageSelector");
38 _prev_button.set_image_from_icon_name(INKSCAPE_ICON(
"pan-start"), Gtk::IconSize::NORMAL);
40 _prev_button.set_tooltip_text(_(
"Move to previous page"));
43 _next_button.set_image_from_icon_name(INKSCAPE_ICON(
"pan-end"), Gtk::IconSize::NORMAL);
48 _selector.set_tooltip_text(_(
"Current page"));
97 Gtk::ListStore::iterator row(
_page_model->children().begin());
103 this->set_visible(page_manager.hasPages());
107 for (
auto &
page : page_manager.getPages()) {
108 Gtk::ListStore::iterator row(
_page_model->append());
144 int page_num =
page->getPagePosition();
147 if (
auto label =
page->label()) {
148 format = g_strdup_printf(
"<span size=\"smaller\"><tt>%d.</tt>%s</span>", page_num, label);
150 format = g_strdup_printf(
"<span size=\"smaller\"><i>%s</i></span>",
page->getDefaultLabel().c_str());
void zoomToSelectedPage(SPDesktop *desktop, bool width_only=false)
bool selectPage(SPPage *page)
Set the given page as the selected page.
Gtk::TreeModelColumn< SPPage * > object
void setDocument(SPDocument *document)
void selectonChanged(SPPage *page)
PageSelector(SPDesktop *desktop=nullptr)
sigc::connection _pages_changed_connection
void renderPageLabel(Gtk::TreeModel::const_iterator const &row)
Render the page icon into a suitable label.
Gtk::CellRendererText _label_renderer
sigc::connection _doc_replaced_connection
PageModelColumns _model_columns
sigc::connection _page_selected_connection
sigc::connection _selector_changed_connection
Glib::RefPtr< Gtk::ListStore > _page_model
To do: update description of desktop.
SPDocument * getDocument() const
sigc::connection connectDocumentReplaced(const sigc::slot< void(SPDesktop *, SPDocument *)> &slot)
Typed SVG document implementation.
Inkscape::PageManager & getPageManager()
Editable view implementation.
Macro for icon names used in Inkscape.
void pack_start(Gtk::Box &box, Gtk::Widget &child, bool const expand, bool const fill, unsigned const padding)
Adds child to box, packed with reference to the start of box.
ptr_shared format(char const *format,...) G_GNUC_PRINTF(1
CMYK to sRGB conversion routines.
Helpers for using Gtk::Boxes, encapsulating large changes between GTK3 & GTK4.