summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2019-01-22 00:46:25 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2019-01-22 00:46:25 +0000
commit35cbd0fa2ef8b713018cd9adf996bd70d783cc1c (patch)
treeeb6f8c2c9fe9d7a652740253e17d32588200a5b1
parentTidy up toolbox code (diff)
downloadinkscape-35cbd0fa2ef8b713018cd9adf996bd70d783cc1c.tar.gz
inkscape-35cbd0fa2ef8b713018cd9adf996bd70d783cc1c.zip
Tidy memory management in toolbars
-rw-r--r--src/ui/toolbar/node-toolbar.cpp29
-rw-r--r--src/ui/toolbar/select-toolbar.cpp13
-rw-r--r--src/ui/toolbar/select-toolbar.h3
3 files changed, 12 insertions, 33 deletions
diff --git a/src/ui/toolbar/node-toolbar.cpp b/src/ui/toolbar/node-toolbar.cpp
index 472d99c43..5f3b8daa2 100644
--- a/src/ui/toolbar/node-toolbar.cpp
+++ b/src/ui/toolbar/node-toolbar.cpp
@@ -209,12 +209,6 @@ static void sp_node_path_edit_nextLPEparam(GtkAction * /*act*/, gpointer data) {
sp_selection_next_patheffect_param( reinterpret_cast<SPDesktop*>(data) );
}
-
-
-//################################
-//## Node Editing Toolbox ##
-//################################
-
namespace Inkscape {
namespace UI {
namespace Toolbar {
@@ -224,15 +218,6 @@ NodeToolbar::NodeToolbar(SPDesktop *desktop)
_tracker(new UnitTracker(Inkscape::Util::UNIT_TYPE_LINEAR))
{}
-NodeToolbar::~NodeToolbar()
-{
- delete _pusher_show_transform_handles;
- delete _pusher_show_handles;
- delete _pusher_show_outline;
- delete _pusher_edit_clipping_paths;
- delete _pusher_edit_masks;
-}
-
GtkWidget *
NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
{
@@ -418,7 +403,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
"node-transform",
secondarySize );
gtk_action_group_add_action( mainActions, GTK_ACTION( act ) );
- holder->_pusher_show_transform_handles = new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_transform_handles");
+ holder->_pusher_show_transform_handles.reset(new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_transform_handles"));
}
{
@@ -428,7 +413,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
INKSCAPE_ICON("show-node-handles"),
secondarySize );
gtk_action_group_add_action( mainActions, GTK_ACTION( act ) );
- holder->_pusher_show_handles = new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_handles");
+ holder->_pusher_show_handles.reset(new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_handles"));
}
{
@@ -438,7 +423,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
INKSCAPE_ICON("show-path-outline"),
secondarySize );
gtk_action_group_add_action( mainActions, GTK_ACTION( act ) );
- holder->_pusher_show_outline = new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_outline");
+ holder->_pusher_show_outline.reset(new PrefPusher(GTK_TOGGLE_ACTION(act), "/tools/nodes/show_outline"));
}
{
@@ -459,7 +444,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
INKSCAPE_ICON("path-clip-edit"),
secondarySize );
gtk_action_group_add_action( mainActions, GTK_ACTION(inky) );
- holder->_pusher_edit_clipping_paths = new PrefPusher(GTK_TOGGLE_ACTION(inky), "/tools/nodes/edit_clipping_paths");
+ holder->_pusher_edit_clipping_paths.reset(new PrefPusher(GTK_TOGGLE_ACTION(inky), "/tools/nodes/edit_clipping_paths"));
}
{
@@ -469,7 +454,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
INKSCAPE_ICON("path-mask-edit"),
secondarySize );
gtk_action_group_add_action( mainActions, GTK_ACTION(inky) );
- holder->_pusher_edit_masks = new PrefPusher(GTK_TOGGLE_ACTION(inky), "/tools/nodes/edit_masks");
+ holder->_pusher_edit_masks.reset(new PrefPusher(GTK_TOGGLE_ACTION(inky), "/tools/nodes/edit_masks"));
}
/* X coord of selected node(s) */
@@ -482,7 +467,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
TRUE, "altx-nodes",
-1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP,
labels, values, G_N_ELEMENTS(labels),
- holder->_tracker );
+ holder->_tracker.get() );
ege_adjustment_action_set_focuswidget(holder->_nodes_x_action, GTK_WIDGET(desktop->canvas));
holder->_nodes_x_adj = Glib::wrap(ege_adjustment_action_get_adjustment(holder->_nodes_x_action));
holder->_nodes_x_adj->signal_value_changed().connect(sigc::bind(sigc::mem_fun(*holder, &NodeToolbar::value_changed), Geom::X));
@@ -500,7 +485,7 @@ NodeToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
FALSE, nullptr,
-1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP,
labels, values, G_N_ELEMENTS(labels),
- holder->_tracker );
+ holder->_tracker.get() );
ege_adjustment_action_set_focuswidget(holder->_nodes_y_action, GTK_WIDGET(desktop->canvas));
holder->_nodes_y_adj = Glib::wrap(ege_adjustment_action_get_adjustment(holder->_nodes_y_action));
holder->_nodes_y_adj->signal_value_changed().connect(sigc::bind(sigc::mem_fun(*holder, &NodeToolbar::value_changed), Geom::Y));
diff --git a/src/ui/toolbar/select-toolbar.cpp b/src/ui/toolbar/select-toolbar.cpp
index 32ff56625..7c463601f 100644
--- a/src/ui/toolbar/select-toolbar.cpp
+++ b/src/ui/toolbar/select-toolbar.cpp
@@ -149,11 +149,6 @@ SelectToolbar::SelectToolbar(SPDesktop *desktop) :
_update(false)
{}
-SelectToolbar::~SelectToolbar()
-{
- delete _tracker;
-}
-
GtkWidget *
SelectToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
{
@@ -225,7 +220,7 @@ SelectToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
TRUE, "altx", /* altx, altx_mark */
-1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP, /* lower, upper, step, page */
nullptr, nullptr, 0, /* descrLabels, descrValues, descrCount */
- holder->_tracker, /* unit_tracker */
+ holder->_tracker.get(), /* unit_tracker */
SPIN_STEP, 3, 1); /* climb, digits, factor */
ege_adjustment_action_set_focuswidget(eact, GTK_WIDGET(desktop->canvas));
@@ -244,7 +239,7 @@ SelectToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
TRUE, "altx", /* altx, altx_mark */
-1e6, 1e6, SPIN_STEP, SPIN_PAGE_STEP, /* lower, upper, step, page */
nullptr, nullptr, 0, /* descrLabels, descrValues, descrCount */
- holder->_tracker, /* unit_tracker */
+ holder->_tracker.get(), /* unit_tracker */
SPIN_STEP, 3, 1); /* climb, digits, factor */
ege_adjustment_action_set_focuswidget(eact, GTK_WIDGET(desktop->canvas));
@@ -263,7 +258,7 @@ SelectToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
TRUE, "altx", /* altx, altx_mark */
0.0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, /* lower, upper, step, page */
nullptr, nullptr, 0, /* descrLabels, descrValues, descrCount */
- holder->_tracker, /* unit_tracker */
+ holder->_tracker.get(), /* unit_tracker */
SPIN_STEP, 3, 1); /* climb, digits, factor */
ege_adjustment_action_set_focuswidget(eact, GTK_WIDGET(desktop->canvas));
@@ -294,7 +289,7 @@ SelectToolbar::prep(SPDesktop *desktop, GtkActionGroup* mainActions)
TRUE, "altx", /* altx, altx_mark */
0.0, 1e6, SPIN_STEP, SPIN_PAGE_STEP, /* lower, upper, step, page */
nullptr, nullptr, 0, /* descrLabels, descrValues, descrCount */
- holder->_tracker, /* unit_tracker */
+ holder->_tracker.get(), /* unit_tracker */
SPIN_STEP, 3, 1); /* climb, digits, factor */
ege_adjustment_action_set_focuswidget(eact, GTK_WIDGET(desktop->canvas));
holder->_adj_h = Glib::wrap(GTK_ADJUSTMENT(ege_adjustment_action_get_adjustment(eact)));
diff --git a/src/ui/toolbar/select-toolbar.h b/src/ui/toolbar/select-toolbar.h
index 889b07e07..30caa3779 100644
--- a/src/ui/toolbar/select-toolbar.h
+++ b/src/ui/toolbar/select-toolbar.h
@@ -34,7 +34,7 @@ namespace Toolbar {
class SelectToolbar : public Toolbar {
private:
- UI::Widget::UnitTracker *_tracker;
+ std::unique_ptr<UI::Widget::UnitTracker> _tracker;
Glib::RefPtr<Gtk::Adjustment> _adj_x;
Glib::RefPtr<Gtk::Adjustment> _adj_y;
@@ -54,7 +54,6 @@ private:
protected:
SelectToolbar(SPDesktop *desktop);
- ~SelectToolbar() override;
public:
static GtkWidget * prep(SPDesktop *desktop, GtkActionGroup* mainActions);