summaryrefslogtreecommitdiffstats
path: root/src/ui/toolbar/connector-toolbar.h
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2019-01-19 13:58:46 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2019-01-19 13:58:46 +0000
commite77e650354daef5ced80adddf6d5a334bb6216d3 (patch)
treeac1237a3194056ac457b5a9a7468b0d61c3a7335 /src/ui/toolbar/connector-toolbar.h
parentMerge branch 'master' of gitlab.com:inkscape/inkscape (diff)
downloadinkscape-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.h64
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 */