Remove all occurences of the old Widget_ColorEdit.
[synfig.git] / synfig-studio / src / gtkmm / dialog_gradient.cpp
index 5a3edca..087c635 100644 (file)
@@ -89,7 +89,10 @@ Dialog_Gradient::Dialog_Gradient():
        add_action_widget(*cancel_button,0);
        cancel_button->signal_clicked().connect(sigc::mem_fun(*this, &Dialog_Gradient::hide));
 
-       Gtk::Table* table(manage(new Gtk::Table(2,2,false)));
+       set_border_width(12);
+       Gtk::Table* table(manage(new Gtk::Table(3,1,false)));
+       table->set_col_spacings(12);
+       table->set_row_spacings(12);
        get_vbox()->pack_start(*table);
 
        widget_gradient=manage(new Widget_Gradient());
@@ -99,10 +102,11 @@ Dialog_Gradient::Dialog_Gradient():
        //table->attach(*manage(new Gtk::Label(_("Not yet fully implemented"))), 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
        table->attach(*widget_gradient, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
 
-       widget_color=manage(new Widget_ColorEdit());
-       widget_color->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_values_adjusted));
-       widget_color->signal_value_changed().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_changed));
-       widget_color->signal_activated().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_values_adjusted));
+       widget_color=manage(new Gtk::ColorSelection());
+       widget_color->set_has_opacity_control(true);
+       widget_color->signal_color_changed().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_values_adjusted));
+       widget_color->signal_color_changed().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_changed));
+       //widget_color->signal_activated().connect(sigc::mem_fun(*this,&studio::Dialog_Gradient::on_values_adjusted));
        table->attach(*widget_color, 0, 1, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
 
 
@@ -159,7 +163,8 @@ Dialog_Gradient::on_changed()
 void
 Dialog_Gradient::on_cpoint_selected(synfig::Gradient::CPoint x)
 {
-       widget_color->set_value(x.color);
+       widget_color->set_current_color(studio::colorconv_synfig2gdk(x.color));
+       widget_color->set_current_alpha(x.color.get_a() * 65535);
        adjustment_pos.set_value(x.pos);
 }
 
@@ -167,7 +172,7 @@ void
 Dialog_Gradient::on_values_adjusted()
 {
        synfig::Gradient::CPoint x(widget_gradient->get_selected_cpoint());
-       x.color=widget_color->get_value();
+       x.color=studio::colorconv_gdk2synfig(widget_color->get_current_color(), widget_color->get_current_alpha() / 65535.0);
        x.pos=adjustment_pos.get_value();
        widget_gradient->update_cpoint(x);
 }