index 1c5384f57dda03e2ff6c363e6738840f43ca50af..daba43784401d85e36cd0dc59feb57156a22b842 100644 (file)
#include <glib/gtypes.h>
-#include "ui/widget/registry.h"
#include "ui/widget/registered-enums.h"
#include <gtkmm/tooltips.h>
E default_value)
: Parameter(label, tip, key, wr, effect)
{
- regenum = NULL;
enumdataconv = &c;
defvalue = default_value;
value = defvalue;
};
- virtual ~EnumParam() {
- if (regenum)
- delete regenum;
- };
- Gtk::Widget * param_getWidget() {
- if (!regenum) {
- regenum = new Inkscape::UI::Widget::RegisteredEnum<E>();
- regenum->init(param_label, param_tooltip, param_key, *enumdataconv, *param_wr, param_effect->getRepr(), param_effect->getSPDoc());
- regenum->combobox()->set_active_by_id(value);
- regenum->set_undo_parameters(SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Change enum parameter"));
- }
- return dynamic_cast<Gtk::Widget *> (regenum->labelled);
+ virtual ~EnumParam() { };
+
+ virtual Gtk::Widget * param_newWidget(Gtk::Tooltips * /*tooltips*/) {
+ Inkscape::UI::Widget::RegisteredEnum<E> *regenum = Gtk::manage (
+ new Inkscape::UI::Widget::RegisteredEnum<E>( param_label, param_tooltip,
+ param_key, *enumdataconv, *param_wr, param_effect->getRepr(), param_effect->getSPDoc() ) );
+
+ regenum->set_active_by_id(value);
+ regenum->combobox()->setProgrammatically = false;
+ regenum->set_undo_parameters(SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Change enumeration parameter"));
+
+ return dynamic_cast<Gtk::Widget *> (regenum);
};
bool param_readSVGValue(const gchar * strvalue) {
void param_set_value(E val) {
value = val;
- if (regenum)
- regenum->combobox()->set_active_by_id(value);
}
private:
EnumParam(const EnumParam&);
EnumParam& operator=(const EnumParam&);
- UI::Widget::RegisteredEnum<E> * regenum;
E value;
E defvalue;