summaryrefslogtreecommitdiffstats
path: root/src/widgets/dash-selector.h
diff options
context:
space:
mode:
authorMaximilian Albert <maximilian.albert@gmail.com>2008-08-09 23:23:12 +0000
committercilix42 <cilix42@users.sourceforge.net>2008-08-09 23:23:12 +0000
commit0b5ad417538a7ed72b2e88b97dfc2cfc7ba8f49e (patch)
tree49d60b565305080f7c0fe5dbfcd0dbf54d501bbd /src/widgets/dash-selector.h
parentmerge silveiro's and my changes (diff)
downloadinkscape-0b5ad417538a7ed72b2e88b97dfc2cfc7ba8f49e.tar.gz
inkscape-0b5ad417538a7ed72b2e88b97dfc2cfc7ba8f49e.zip
gtkmm-ify the 'Stroke style' tab of Fill and Stroke dialog
(bzr r6602)
Diffstat (limited to 'src/widgets/dash-selector.h')
-rw-r--r--src/widgets/dash-selector.h44
1 files changed, 28 insertions, 16 deletions
diff --git a/src/widgets/dash-selector.h b/src/widgets/dash-selector.h
index a00834625..97e0b7379 100644
--- a/src/widgets/dash-selector.h
+++ b/src/widgets/dash-selector.h
@@ -1,38 +1,50 @@
-#ifndef __SP_DASH_SELECTOR_H__
-#define __SP_DASH_SELECTOR_H__
+#ifndef __SP_DASH_SELECTOR_NEW_H__
+#define __SP_DASH_SELECTOR_NEW_H__
/*
* Optionmenu for selecting dash patterns
*
* Author:
* Lauris Kaplinski <lauris@kaplinski.com>
+ * Maximilian Albert <maximilian.albert> (gtkmm-ification)
*
* Copyright (C) 2002 Lauris Kaplinski
*
* Released under GNU GPL, read the file 'COPYING' for more information
*/
-struct SPDashSelector;
+#include "xml/repr.h"
-#include <gtk/gtkwidget.h>
-#include "../xml/repr.h"
+#include <gtkmm/box.h>
+#include <sigc++/signal.h>
-#include <glib.h>
+namespace Gtk {
+class Container;
+class OptionMenu;
+class MenuItem;
+class Adjustment;
+}
+// TODO: should we rather derive this from OptionMenu and add the spinbutton somehow else?
+class SPDashSelector : public Gtk::HBox {
+public:
+ SPDashSelector(Inkscape::XML::Node *drepr);
+ ~SPDashSelector();
+ void set_dash(int ndash, double *dash, double offset);
+ void get_dash(int *ndash, double **dash, double *offset);
-#define SP_TYPE_DASH_SELECTOR (sp_dash_selector_get_type ())
-#define SP_DASH_SELECTOR(o) (GTK_CHECK_CAST ((o), SP_TYPE_DASH_SELECTOR, SPDashSelector))
-#define SP_IS_DASH_SELECTOR(o) (GTK_CHECK_TYPE ((o), SP_TYPE_DASH_SELECTOR))
-
-GtkType sp_dash_selector_get_type (void);
-
-GtkWidget *sp_dash_selector_new (Inkscape::XML::Node *repr);
-
-void sp_dash_selector_set_dash (SPDashSelector *dsel, int ndash, double *dash, double offset);
-void sp_dash_selector_get_dash (SPDashSelector *dsel, int *ndash, double **dash, double *offset);
+ sigc::signal<void> changed_signal;
+private:
+ static void init_dashes(Inkscape::XML::Node *drepr);
+ void dash_activate(Gtk::MenuItem *mi);
+ void offset_value_changed();
+ Gtk::MenuItem *menu_item_new(double *pattern);
+ Gtk::OptionMenu *dash;
+ Gtk::Adjustment *offset;
+};
#endif