16#include <glibmm/i18n.h>
17#include <glibmm/markup.h>
32 set_name(
"PageSelector");
34 _prev_button.set_image_from_icon_name(INKSCAPE_ICON(
"pan-start"), Gtk::IconSize::NORMAL);
36 _prev_button.set_tooltip_text(_(
"Move to previous page"));
39 _next_button.set_image_from_icon_name(INKSCAPE_ICON(
"pan-end"), Gtk::IconSize::NORMAL);
44 _selector.set_tooltip_text(_(
"Current page"));
108 Gtk::ListStore::iterator row(
_page_model->children().begin());
114 this->set_visible(page_manager.hasPages());
118 for (
auto &
page : page_manager.getPages()) {
119 Gtk::ListStore::iterator row(
_page_model->append());
157 Glib::ustring format;
159 auto escaped_text = Glib::Markup::escape_text(
label);
160 format = Glib::ustring::compose(
"<span size=\"smaller\"><tt>%1.</tt>%2</span>", page_num, escaped_text);
162 format = Glib::ustring::compose(
"<span size=\"smaller\"><i>%1</i></span>",
page->getDefaultLabel().c_str());
sigc::connection connectPagesChanged(const sigc::slot< void()> &slot)
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)
sigc::connection _pages_changed_connection
void renderPageLabel(Gtk::TreeModel::const_iterator const &row)
Render the page icon into a suitable label.
void setDesktop(SPDesktop *desktop)
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.
sigc::connection connectDocumentReplaced(F &&slot)
SPDocument * getDocument() const
Typed SVG document implementation.
Inkscape::PageManager & getPageManager()
int getPagePosition() const
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.
Helpers for using Gtk::Boxes, encapsulating large changes between GTK3 & GTK4.