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/pencil-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/pencil-toolbar.h')
| -rw-r--r-- | src/ui/toolbar/pencil-toolbar.h | 71 |
1 files changed, 68 insertions, 3 deletions
diff --git a/src/ui/toolbar/pencil-toolbar.h b/src/ui/toolbar/pencil-toolbar.h index 33a56aed2..1016ae8d9 100644 --- a/src/ui/toolbar/pencil-toolbar.h +++ b/src/ui/toolbar/pencil-toolbar.h @@ -28,12 +28,77 @@ * Released under GNU GPL v2+, read the file 'COPYING' for more information. */ +#include "toolbar.h" + +#include <gtkmm/adjustment.h> + +class InkSelectOneAction; class SPDesktop; +typedef struct _EgeAdjustmentAction EgeAdjustmentAction; typedef struct _GtkActionGroup GtkActionGroup; -typedef struct _GObject GObject; +typedef struct _InkAction InkAction; +typedef struct _InkToggleAction InkToggleAction; + +namespace Inkscape { +namespace XML { +class Node; +} + +namespace UI { +namespace Toolbar { +class PencilToolbar : public Toolbar { +private: + EgeAdjustmentAction *_minpressure; + EgeAdjustmentAction *_maxpressure; + + XML::Node *_repr; + InkAction *_flatten_spiro_bspline; + InkAction *_flatten_simplify; + + InkSelectOneAction *_shape_action; + + InkToggleAction *_simplify; + + bool _freeze; + + Glib::RefPtr<Gtk::Adjustment> _minpressure_adj; + Glib::RefPtr<Gtk::Adjustment> _maxpressure_adj; + Glib::RefPtr<Gtk::Adjustment> _tolerance_adj; + + void add_freehand_mode_toggle(GtkActionGroup* mainActions, + bool tool_is_pencil); + void freehand_mode_changed(int mode); + Glib::ustring const freehand_tool_name(); + void minpressure_value_changed(); + void maxpressure_value_changed(); + static void use_pencil_pressure(InkToggleAction *itact, + gpointer data); + void tolerance_value_changed(); + void freehand_add_advanced_shape_options(GtkActionGroup* mainActions, bool tool_is_pencil); + void freehand_change_shape(int shape); + static void defaults(GtkWidget *widget, GObject *obj); + static void freehand_simplify_lpe(InkToggleAction* itact, GObject *data); + static void simplify_flatten(GtkWidget *widget, GObject *data); + static void flatten_spiro_bspline(GtkWidget *widget, gpointer data); + +protected: + PencilToolbar(SPDesktop *desktop) + : Toolbar(desktop), + _repr(nullptr), + _freeze(false), + _flatten_simplify(nullptr), + _simplify(nullptr) + {} + + ~PencilToolbar(); -void sp_pencil_toolbox_prep(SPDesktop *desktop, GtkActionGroup* mainActions, GObject* holder); -void sp_pen_toolbox_prep(SPDesktop * /*desktop*/, GtkActionGroup* mainActions, GObject* holder); +public: + static GtkWidget * prep_pencil(SPDesktop *desktop, GtkActionGroup* mainActions); + static GtkWidget * prep_pen(SPDesktop *desktop, GtkActionGroup* mainActions); +}; +} +} +} #endif /* !SEEN_PENCIL_TOOLBAR_H */ |
