Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
connector-toolbar.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_UI_TOOLBAR_CONNECTOR_TOOLBAR_H
3#define INKSCAPE_UI_TOOLBAR_CONNECTOR_TOOLBAR_H
4
8/* Authors:
9 * MenTaLguY <mental@rydia.net>
10 * Lauris Kaplinski <lauris@kaplinski.com>
11 * bulia byak <buliabyak@users.sf.net>
12 * Frank Felfe <innerspace@iname.com>
13 * John Cliff <simarilius@yahoo.com>
14 * David Turner <novalis@gnu.org>
15 * Josh Andler <scislac@scislac.com>
16 * Jon A. Cruz <jon@joncruz.org>
17 * Maximilian Albert <maximilian.albert@gmail.com>
18 * Tavmjong Bah <tavmjong@free.fr>
19 * Abhishek Sharma
20 * Kris De Gussem <Kris.DeGussem@gmail.com>
21 * Vaibhav Malik <vaibhavmalik2018@gmail.com>
22 *
23 * Copyright (C) 2004 David Turner
24 * Copyright (C) 2003 MenTaLguY
25 * Copyright (C) 1999-2011 authors
26 * Copyright (C) 2001-2002 Ximian, Inc.
27 *
28 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
29 */
30
31#include "toolbar.h"
34#include "xml/node-observer.h"
35
36namespace Gtk {
37class Builder;
38class ToggleButton;
39} // namespace Gtk
40
41class SPNamedView;
42
43namespace Inkscape {
44class Selection;
45namespace XML { class Node; }
46} // namespace Inkscape
47
48namespace Inkscape::UI::Toolbar {
49
51 : public Toolbar
52 , private XML::NodeObserver
53{
54public:
56
57 void setDesktop(SPDesktop *desktop) override;
58
59private:
60 ConnectorToolbar(Glib::RefPtr<Gtk::Builder> const &builder);
61
63
64 Gtk::ToggleButton &_orthogonal_btn;
65 Gtk::ToggleButton &_directed_btn;
66 Gtk::ToggleButton &_overlap_btn;
67
71
73
74 XML::Node *_repr = nullptr;
75
76 void setup_derived_spin_button(UI::Widget::SpinButton &btn, Glib::ustring const &name, double default_value,
77 ValueChangedMemFun value_changed_mem_fun);
78 void path_set_avoid();
79 void path_set_ignore();
80 void orthogonal_toggled();
81 void graph_layout();
84 void curvature_changed();
85 void spacing_changed();
86 void length_changed();
87
88 sigc::connection _selection_changed_conn;
89 void _selectionChanged(Selection *selection);
90
92};
93
94} // namespace Inkscape::UI::Toolbar
95
96#endif // INKSCAPE_UI_TOOLBAR_CONNECTOR_TOOLBAR_H
The set of selected SPObjects for a given document and layer model.
Definition selection.h:80
void(ConnectorToolbar::*)() ValueChangedMemFun
void setup_derived_spin_button(UI::Widget::SpinButton &btn, Glib::ustring const &name, double default_value, ValueChangedMemFun value_changed_mem_fun)
void setDesktop(SPDesktop *desktop) override
void notifyAttributeChanged(XML::Node &node, GQuark name, Util::ptr_shared old_value, Util::ptr_shared new_value) override
Attribute change callback.
Base class for all tool toolbars.
Definition toolbar.h:72
SpinButton widget, that allows entry of simple math expressions (also units, when linked with UnitMen...
Definition spinbutton.h:50
Interface for XML node observers.
Interface for refcounted XML nodes.
Definition node.h:80
To do: update description of desktop.
Definition desktop.h:149
Inkscape::XML::Node * node
Definition desktop.h:50
Helper class to stream background task notifications as a series of messages.
Interface for XML node observers.
guint32 GQuark
SPDesktop * desktop
TODO: insert short description here.
Glib::ustring name
Definition toolbars.cpp:55
Glib::RefPtr< Gtk::Builder > builder