summaryrefslogtreecommitdiffstats
path: root/src/extension/param/radiobutton.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-03-02 23:12:03 +0000
committerJabiertxof <jtx@jtx.marker.es>2015-03-02 23:12:03 +0000
commitdb0fad4a62a657057339dfb7755cee69ef9138a3 (patch)
tree433f0dbfa541c33c55aa2a33af6d472e03d828d8 /src/extension/param/radiobutton.cpp
parentadded more fillet/chamfer properties (diff)
parentExtensions. Fix for Bug #1426684 (INX optiongroup does not trigger a refresh). (diff)
downloadinkscape-db0fad4a62a657057339dfb7755cee69ef9138a3.tar.gz
inkscape-db0fad4a62a657057339dfb7755cee69ef9138a3.zip
update to trunk
(bzr r13645.1.29)
Diffstat (limited to 'src/extension/param/radiobutton.cpp')
-rw-r--r--src/extension/param/radiobutton.cpp41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp
index f9515197c..740acf1d1 100644
--- a/src/extension/param/radiobutton.cpp
+++ b/src/extension/param/radiobutton.cpp
@@ -249,28 +249,35 @@ void ParamRadioButtonWdg::changed(void)
class ComboWdg : public Gtk::ComboBoxText {
+private:
+ ParamRadioButton* _base;
+ SPDocument* _doc;
+ Inkscape::XML::Node* _node;
+ sigc::signal<void> * _changeSignal;
+
public:
- ComboWdg(ParamRadioButton* base, SPDocument * doc, Inkscape::XML::Node * node) :
- Gtk::ComboBoxText(),
- base(base),
- doc(doc),
- node(node)
+ ComboWdg(ParamRadioButton* base, SPDocument * doc, Inkscape::XML::Node * node, sigc::signal<void> * changeSignal) :
+ _base(base),
+ _doc(doc),
+ _node(node),
+ _changeSignal(changeSignal)
{
+ this->signal_changed().connect(sigc::mem_fun(this, &ComboWdg::changed));
}
virtual ~ComboWdg() {}
+ void changed (void);
+};
-protected:
- ParamRadioButton* base;
- SPDocument* doc;
- Inkscape::XML::Node* node;
-
- virtual void on_changed() {
- if ( base ) {
- Glib::ustring value = base->value_from_label(get_active_text());
- base->set(value.c_str(), doc, node);
- }
+void ComboWdg::changed(void)
+{
+ if ( _base ) {
+ Glib::ustring value = _base->value_from_label(get_active_text());
+ _base->set(value.c_str(), _doc, _node);
}
-};
+ if (_changeSignal != NULL) {
+ _changeSignal->emit();
+ }
+}
/**
* Returns the value for the options label parameter
@@ -317,7 +324,7 @@ Gtk::Widget * ParamRadioButton::get_widget(SPDocument * doc, Inkscape::XML::Node
Gtk::ComboBoxText* cbt = 0;
bool comboSet = false;
if (_mode == MINIMAL) {
- cbt = Gtk::manage(new ComboWdg(this, doc, node));
+ cbt = Gtk::manage(new ComboWdg(this, doc, node, changeSignal));
cbt->show();
vbox->pack_start(*cbt, false, false);
}