/*
6 * Authors: see git history
7 * Lauris Kaplinski, 2000
9 * Copyright (C) 2018 Authors
10 * Released under GNU GPL v2+, read the file
'COPYING' for more information.
13#ifndef INKSCAPE_UI_DIALOG_XML_TREE_H
14#define INKSCAPE_UI_DIALOG_XML_TREE_H
16#include <gtkmm/label.h>
17#include <gtkmm/switch.h>
35struct SPXMLViewAttrList;
36struct SPXMLViewContent;
44namespace XML {
class Node; }
A dialog for XML attributes based on Gtk TreeView.
Bin: widget that can hold one child, useful as a base class of custom widgets.
The set of selected SPObjects for a given document and layer model.
The AttrDialog class This dialog allows to add, delete and modify XML attributes created in the xml e...
DialogBase is the base class for the dialog system.
A dialog widget to view and edit the document xml.
void cmd_new_element_node()
Callbacks for toolbar buttons being pressed.
void desktopReplaced() final
Called when the desktop has certainly changed.
Gtk::Button & raise_node_button
static void _set_status_message(Inkscape::MessageType type, const gchar *message, GtkWidget *dialog)
Callbacks for changes in desktop selection and current document.
void documentReplaced() final
Inkscape::XML::Node * selected_repr
Signal handlers.
void cmd_duplicate_node()
void set_tree_select(Inkscape::XML::Node *repr, bool edit=false)
Select a node in the xml tree.
void on_tree_unselect_row_disable()
Gtk::Button & xml_node_duplicate_button
void on_tree_unselect_row_hide()
Inkscape::XML::Node * _dummy
void on_attr_unselect_row_disable()
Inkscape::XML::Node * get_dt_select()
Find the current desktop selection.
Pref< Glib::ustring > _syntax_theme
void selectionChanged(Selection *selection) final
Gtk::Button & lower_node_button
void set_dt_select(Inkscape::XML::Node *repr)
Select the current desktop selection.
Inkscape::XML::Node * _node_parent
Gtk::Button & unindent_node_button
bool in_dt_coordsys(SPObject const &item)
Returns true iff item is suitable to be included in the selection, in particular whether it has a bou...
void on_tree_select_row_enable(Inkscape::XML::Node *node)
Enable widgets based on current selections.
void propagate_tree_select(Inkscape::XML::Node *repr)
Set the attribute list to match the selected node in the tree.
bool deferred_on_tree_select_row()
gint blocked
Flag to ensure only one operation is performed at once.
bool xml_tree_node_mutable(Inkscape::XML::Node *node)
Is the selected tree node editable.
sigc::scoped_connection _tree_select_idle
Callback for deferring the on_tree_select_row response in order to skip invalid intermediate selectio...
Gtk::Button & xml_node_delete_button
Inkscape::UI::Widget::XmlTreeView * _xml_treeview
void startNodeEditing(Gtk::CellEditable *cell, Glib::ustring const &path)
void onCreateNameChanged()
void stopNodeEditing(bool ok, Glib::ustring const &path, Glib::ustring name)
Gtk::Button * create_button
void setSyntaxStyle(Inkscape::UI::Syntax::XMLStyles const &new_style)
Gtk::Button & indent_node_button
Gtk::Button & xml_element_new_button
Gtk::Button & xml_text_new_button
Glib::RefPtr< Gtk::Builder > _builder
Interface for refcounted XML nodes.
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Inkscape::XML::Node * node
Helper class to stream background task notifications as a series of messages.
MessageType
A hint about the meaning of a message; is it an ordinary message, a message advising the user of some...
Singleton class to access the preferences file in a convenient way.
Proxy object providing a "live value" interface.
The styles used for simple XML syntax highlighting.