22#ifndef INKSCAPE_UI_DIALOG_DOCUMENT_PREFERENCES_H
23#define INKSCAPE_UI_DIALOG_DOCUMENT_PREFERENCES_H
29#include <gtkmm/listbox.h>
30#include <gtkmm/sizegroup.h>
31#include <gtkmm/combobox.h>
32#include <gtkmm/notebook.h>
33#include <gtkmm/scrolledwindow.h>
34#include <gtkmm/textview.h>
54namespace XML {
class Node; }
161 Gtk::TreeModel::const_iterator
const &iter);
210 Glib::RefPtr<Gtk::SizeGroup>
_grids_unified_size = Gtk::SizeGroup::create(Gtk::SizeGroup::Mode::HORIZONTAL);
218 using RDFList = std::vector<std::unique_ptr<UI::Widget::EntityEntry>>;
DialogBase is the base class for the dialog system.
Gtk::TreeModelColumn< bool > separatorColumn
Gtk::TreeModelColumn< Glib::ustring > fileColumn
AvailableProfilesColumns()
Gtk::TreeModelColumn< Glib::ustring > nameColumn
Gtk::TreeModelColumn< Glib::ustring > idColumn
Gtk::TreeModelColumn< Glib::ustring > filenameColumn
Gtk::TreeModelColumn< Glib::ustring > previewColumn
Gtk::TreeModelColumn< Glib::ustring > nameColumn
WatchConnection(DocumentProperties *dialog)
DocumentProperties * _dialog
void notifyChildRemoved(XML::Node &node, XML::Node &child, XML::Node *prev) final
Child removal callback.
~WatchConnection() override
void notifyAttributeChanged(XML::Node &node, GQuark name, Util::ptr_shared old_value, Util::ptr_shared new_value) final
Attribute change callback.
Inkscape::XML::Node * _node
void notifyChildAdded(XML::Node &node, XML::Node &child, XML::Node *prev) final
Child addition callback.
void connect(Inkscape::XML::Node *node)
Gtk::Box _grids_hbox_crea
static DocumentProperties & getInstance()
UI::Widget::NotebookPage * _page_external_scripts
void set_viewbox_pos(SPDesktop *desktop, double x, double y)
sigc::scoped_connection _on_idle_scroll
Gtk::Box & _createPageTabLabel(const Glib::ustring &label, const char *label_image)
void changeEmbeddedScript()
bool _AvailableProfilesList_separator(Glib::RefPtr< Gtk::TreeModel > const &model, Gtk::TreeModel::const_iterator const &iter)
Gtk::Button _external_add_btn
UI::Widget::RegisteredColorPicker _rcp_hgui
void load_default_metadata()
EmbeddedScriptsColumns _EmbeddedScriptsListColumns
void onColorProfileSelectRow()
UI::Widget::PageProperties * _page
void populate_linked_profiles_box()
void onExternalScriptSelectRow()
void populate_available_profiles()
Populates the available color profiles combo box.
Glib::RefPtr< Gtk::ListStore > _LinkedProfilesListStore
Gtk::ScrolledWindow _EmbeddedContentScroller
void editEmbeddedScript()
void onEmbeddedScriptSelectRow()
Gtk::ScrolledWindow _LinkedProfilesListScroller
std::vector< std::unique_ptr< UI::Widget::EntityEntry > > RDFList
Gtk::Button _embed_remove_btn
Glib::RefPtr< Gtk::ListStore > _AvailableProfilesListStore
Glib::RefPtr< Gtk::ListStore > _ExternalScriptsListStore
void remove_grid_widget(XML::Node &node)
UI::Widget::NotebookPage * _page_page
void rebuild_gridspage()
Called for updating the dialog.
void onNewGrid(GridType type)
sigc::scoped_connection _cms_connection
Gtk::Button _external_remove_btn
void populate_script_lists()
UI::Widget::RegisteredColorPicker _rcp_gui
UI::Widget::RegisteredCheckButton _rcb_lgui
UI::Widget::PopoverBin _popoverbin
Gtk::ScrolledWindow _EmbeddedScriptsListScroller
Gtk::TextView _EmbeddedContent
UI::Widget::NotebookPage * _page_scripting
UI::Widget::NotebookPage * _page_metadata1
UI::Widget::NotebookPage * _page_metadata2
virtual void on_response(int)
Gtk::Button _delete_guides_btn
ExternalScriptsColumns _ExternalScriptsListColumns
UI::Widget::NotebookPage * _page_cms
void display_unit_change(const Inkscape::Util::Unit *unit)
Inkscape::UI::Widget::IconComboBox _grid_type
Gtk::TreeView _LinkedProfilesList
void set_document_scale(SPDesktop *desktop, double scale_x)
Gtk::ScrolledWindow _ExternalScriptsListScroller
void add_grid_widget(SPGrid *grid)
Gtk::ComboBox _AvailableProfilesList
Gtk::TreeView _EmbeddedScriptsList
void documentReplaced() override
Glib::RefPtr< Gtk::ListStore > _EmbeddedScriptsListStore
Gtk::Button _create_guides_btn
void removeSelectedProfile()
UI::Widget::NotebookPage * _page_guides
Gtk::Box _embed_button_box
void set_viewbox_size(SPDesktop *desktop, double width, double height)
void removeEmbeddedScript()
void build_gridspage()
Build grid page of dialog.
void linkSelectedProfile()
Links the selected color profile in the combo box to the document.
void browseExternalScript()
UI::Widget::Licensor _licensor
void update_scale_ui(SPDesktop *desktop)
void update() override
The update() method is essential to Gtk state management.
Gtk::ScrolledWindow _grids_wnd
void update_grid_placeholder()
AvailableProfilesColumns _AvailableProfilesListColumns
WatchConnection _root_connection
WatchConnection _namedview_connection
UI::Widget::NotebookPage * _page_embedded_scripts
Glib::RefPtr< Gtk::SizeGroup > _grids_unified_size
LinkedProfilesColumns _LinkedProfilesListColumns
Gtk::Button _embed_new_btn
Gtk::TreeView _ExternalScriptsList
Gtk::Label _grids_label_def
void removeExternalScript()
Inkscape::XML::SignalObserver _scripts_observer
void set_content_scale(SPDesktop *desktop, double scale_x)
void save_default_metadata()
void update_viewbox(SPDesktop *desktop)
void update_viewbox_ui(SPDesktop *desktop)
void update_widgets()
Update dialog widgets from desktop.
UI::Widget::RegisteredCheckButton _rcb_sgui
Gtk::Notebook _scripting_notebook
A tabbed notebook page for dialogs.
Interface for XML node observers.
Interface for refcounted XML nodes.
To do: update description of desktop.
A base class for all dialogs.
TODO: insert short description here.
Inkscape::XML::Node * node
Widget for specifying a document's license; part of document preferences dialog.
Helper class to stream background task notifications as a series of messages.