diff options
| author | Alexander Valavanis <valavanisalex@gmail.com> | 2019-01-19 13:58:46 +0000 |
|---|---|---|
| committer | Alexander Valavanis <valavanisalex@gmail.com> | 2019-01-19 13:58:46 +0000 |
| commit | e77e650354daef5ced80adddf6d5a334bb6216d3 (patch) | |
| tree | ac1237a3194056ac457b5a9a7468b0d61c3a7335 /src/ui/toolbar/connector-toolbar.h | |
| parent | Merge branch 'master' of gitlab.com:inkscape/inkscape (diff) | |
| download | inkscape-e77e650354daef5ced80adddf6d5a334bb6216d3.tar.gz inkscape-e77e650354daef5ced80adddf6d5a334bb6216d3.zip | |
derive all toolbars from Inkscape::Toolbar
Diffstat (limited to 'src/ui/toolbar/connector-toolbar.h')
| -rw-r--r-- | src/ui/toolbar/connector-toolbar.h | 64 |
1 files changed, 62 insertions, 2 deletions
diff --git a/src/ui/toolbar/connector-toolbar.h b/src/ui/toolbar/connector-toolbar.h index bc75f6bfe..f350739d0 100644 --- a/src/ui/toolbar/connector-toolbar.h +++ b/src/ui/toolbar/connector-toolbar.h @@ -28,11 +28,71 @@ * Released under GNU GPL v2+, read the file 'COPYING' for more information. */ +#include "toolbar.h" + +#include <gtkmm/adjustment.h> + class SPDesktop; typedef struct _GtkActionGroup GtkActionGroup; -typedef struct _GObject GObject; +typedef struct _InkToggleAction InkToggleAction; + +namespace Inkscape { +class Selection; + +namespace XML { +class Node; +} + +namespace UI { +namespace Toolbar { +class ConnectorToolbar : public Toolbar { +private: + InkToggleAction *_orthogonal; + + Glib::RefPtr<Gtk::Adjustment> _curvature_adj; + Glib::RefPtr<Gtk::Adjustment> _spacing_adj; + Glib::RefPtr<Gtk::Adjustment> _length_adj; + + bool _freeze; + + Inkscape::XML::Node *_repr; + + static void path_set_avoid(); + static void path_set_ignore(); + static void orthogonal_toggled(GtkToggleAction *act, + gpointer data); + static void graph_layout(); + static void directed_graph_layout_toggled (GtkToggleAction *act, + gpointer data); + static void nooverlaps_graph_layout_toggled(GtkToggleAction *act, + gpointer data); + + void curvature_changed(); + void spacing_changed(); + void length_changed(); + void selection_changed(Inkscape::Selection *selection); + +protected: + ConnectorToolbar(SPDesktop *desktop) + : Toolbar(desktop), + _freeze(false), + _repr(nullptr) + {} + +public: + static GtkWidget * prep(SPDesktop *desktop, GtkActionGroup* mainActions); + + static void event_attr_changed(Inkscape::XML::Node *repr, + gchar const *name, + gchar const * /*old_value*/, + gchar const * /*new_value*/, + bool /*is_interactive*/, + gpointer data); +}; -void sp_connector_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); +} +} +} #endif /* !SEEN_CONNECTOR_TOOLBAR_H */ |
