summaryrefslogtreecommitdiffstats
path: root/src/ui/toolbar/arc-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/arc-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 '')
-rw-r--r--src/ui/toolbar/arc-toolbar.h81
1 files changed, 79 insertions, 2 deletions
diff --git a/src/ui/toolbar/arc-toolbar.h b/src/ui/toolbar/arc-toolbar.h
index 821db6dd7..b9b735dcb 100644
--- a/src/ui/toolbar/arc-toolbar.h
+++ b/src/ui/toolbar/arc-toolbar.h
@@ -28,11 +28,88 @@
* Released under GNU GPL v2+, read the file 'COPYING' for more information.
*/
+#include "toolbar.h"
+
+#include <gtkmm/adjustment.h>
+
+class InkSelectOneAction;
class SPDesktop;
+class SPItem;
+typedef struct _EgeAdjustmentAction EgeAdjustmentAction;
+typedef struct _EgeOutputAction EgeOutputAction;
typedef struct _GtkActionGroup GtkActionGroup;
-typedef struct _GObject GObject;
+typedef struct _InkAction InkAction;
+
+namespace Inkscape {
+class Selection;
+
+namespace XML {
+class Node;
+}
+
+namespace UI {
+namespace Tools {
+class ToolBase;
+}
+
+namespace Widget {
+class UnitTracker;
+}
+
+namespace Toolbar {
+class ArcToolbar : public Toolbar {
+private:
+ UI::Widget::UnitTracker *_tracker;
+
+ EgeAdjustmentAction *_rx_action;
+ EgeAdjustmentAction *_ry_action;
+
+ EgeOutputAction *_mode_action;
+
+ InkSelectOneAction *_type_action;
+ InkAction *_make_whole;
+
+ Glib::RefPtr<Gtk::Adjustment> _rx_adj;
+ Glib::RefPtr<Gtk::Adjustment> _ry_adj;
+ Glib::RefPtr<Gtk::Adjustment> _start_adj;
+ Glib::RefPtr<Gtk::Adjustment> _end_adj;
+
+ bool _freeze;
+ bool _single;
+
+ XML::Node *_repr;
+ SPItem *_item;
+
+ void value_changed(Glib::RefPtr<Gtk::Adjustment>& adj,
+ gchar const *value_name);
+ void startend_value_changed(Glib::RefPtr<Gtk::Adjustment>& adj,
+ gchar const *value_name,
+ Glib::RefPtr<Gtk::Adjustment>& other_adj);
+ void type_changed( int type );
+ static void defaults(GtkWidget *, GObject *obj);
+ void sensitivize( double v1, double v2 );
+ void check_ec(SPDesktop* desktop, Inkscape::UI::Tools::ToolBase* ec);
+ void selection_changed(Inkscape::Selection *selection);
+
+ sigc::connection _changed;
+
+protected:
+ ArcToolbar(SPDesktop *desktop);
+ ~ArcToolbar();
+
+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_arc_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder);
+}
+}
+}
#endif /* !SEEN_ARC_TOOLBAR_H */