Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
page-selector.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Inkscape::UI::Widget::PageSelector - page selector widget
4 *
5 * Authors:
6 * MenTaLguY <mental@rydia.net>
7 *
8 * Copyright (C) 2004 MenTaLguY
9 *
10 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
11 */
12
13#ifndef SEEN_INKSCAPE_WIDGETS_PAGE_SELECTOR
14#define SEEN_INKSCAPE_WIDGETS_PAGE_SELECTOR
15
16#include <gtkmm/box.h>
17#include <gtkmm/cellrenderertext.h>
18#include <gtkmm/combobox.h>
19#include <gtkmm/liststore.h>
20#include <gtkmm/togglebutton.h>
21#include <gtkmm/treemodel.h>
22#include <sigc++/slot.h>
23
24#include "object/sp-page.h"
25
26class SPDesktop;
27class SPDocument;
28class SPPage;
29
30namespace Inkscape::UI::Widget {
31
32class PageSelector : public Gtk::Box
33{
34public:
36 ~PageSelector() override;
37
39
40private:
41 class PageModelColumns : public Gtk::TreeModel::ColumnRecord
42 {
43 public:
44 Gtk::TreeModelColumn<SPPage *> object;
45
46 PageModelColumns() { add(object); }
47 };
48
49 SPDesktop *_desktop = nullptr;
51
52 Gtk::ComboBox _selector;
53 Gtk::Button _prev_button;
54 Gtk::Button _next_button;
55
57 Gtk::CellRendererText _label_renderer;
58 Glib::RefPtr<Gtk::ListStore> _page_model;
59
61 sigc::connection _pages_changed_connection;
62 sigc::connection _page_selected_connection;
63 sigc::connection _doc_replaced_connection;
64
65 void setDocument(SPDocument *document);
66 void pagesChanged();
68
69 void renderPageLabel(Gtk::TreeModel::const_iterator const &row);
70 void setSelectedPage();
71 void nextPage();
72 void prevPage();
73};
74
75} // namespace Inkscape::UI::Widget
76
77#endif
78/*
79 Local Variables:
80 mode:c++
81 c-file-style:"stroustrup"
82 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
83 indent-tabs-mode:nil
84 fill-column:99
85 End:
86*/
87// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
uint64_t page
Definition canvas.cpp:171
void setDocument(SPDocument *document)
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
sigc::connection _page_selected_connection
sigc::connection _selector_changed_connection
Glib::RefPtr< Gtk::ListStore > _page_model
To do: update description of desktop.
Definition desktop.h:149
Typed SVG document implementation.
Definition document.h:101
Custom widgets.
Definition desktop.h:126
SPPage – a page object.
SPDesktop * desktop