diff --git a/rtgui/diagonalcurveeditorsubgroup.cc b/rtgui/diagonalcurveeditorsubgroup.cc index e4795e13b..92238fbed 100644 --- a/rtgui/diagonalcurveeditorsubgroup.cc +++ b/rtgui/diagonalcurveeditorsubgroup.cc @@ -40,7 +40,7 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) activeParamControl = -1; // custom curve - customCurveBox = new Gtk::HBox (); + customCurveBox = new Gtk::VBox (); customCurveBox->set_spacing(4); customCurve = Gtk::manage (new MyDiagonalCurve ()); customCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS); @@ -48,23 +48,22 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) //customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED")); customCurveBox->pack_start (*customCurve, Gtk::PACK_EXPAND_WIDGET, 0); - Gtk::VBox* custombbox = Gtk::manage (new Gtk::VBox ()); + Gtk::HBox* custombbox = Gtk::manage (new Gtk::HBox ()); custombbox->set_spacing(4); - saveCustom = Gtk::manage (new Gtk::Button ()); - saveCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON))); - loadCustom = Gtk::manage (new Gtk::Button ()); - loadCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON))); + pasteCustom = Gtk::manage (new Gtk::Button ()); - pasteCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON))); + pasteCustom->add (*Gtk::manage (new RTImage ("edit-paste.png"))); copyCustom = Gtk::manage (new Gtk::Button ()); - copyCustom->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON))); + copyCustom->add (*Gtk::manage (new RTImage ("edit-copy.png"))); + saveCustom = Gtk::manage (new Gtk::Button ()); + saveCustom->add (*Gtk::manage (new RTImage ("gtk-save-large.png"))); + loadCustom = Gtk::manage (new Gtk::Button ()); + loadCustom->add (*Gtk::manage (new RTImage ("gtk-open.png"))); - - custombbox->pack_end (*saveCustom, Gtk::PACK_SHRINK, 0); - custombbox->pack_end (*loadCustom, Gtk::PACK_SHRINK, 0); custombbox->pack_end (*pasteCustom, Gtk::PACK_SHRINK, 0); custombbox->pack_end (*copyCustom, Gtk::PACK_SHRINK, 0); - + custombbox->pack_end (*saveCustom, Gtk::PACK_SHRINK, 0); + custombbox->pack_end (*loadCustom, Gtk::PACK_SHRINK, 0); customCurveBox->pack_end (*custombbox, Gtk::PACK_SHRINK, 0); customCurveBox->show_all (); @@ -82,7 +81,7 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) // NURBS curve - NURBSCurveBox = new Gtk::HBox (); + NURBSCurveBox = new Gtk::VBox (); NURBSCurveBox->set_spacing(4); NURBSCurve = Gtk::manage (new MyDiagonalCurve ()); NURBSCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS); @@ -91,21 +90,21 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) //customCurve->set_tooltip_text (M("CURVEEDITOR_TOOLTIPMOVESPEED")); NURBSCurveBox->pack_start (*NURBSCurve, Gtk::PACK_EXPAND_WIDGET, 0); - Gtk::VBox* NURBSbbox = Gtk::manage (new Gtk::VBox ()); + Gtk::HBox* NURBSbbox = Gtk::manage (new Gtk::HBox ()); NURBSbbox->set_spacing(4); - saveNURBS = Gtk::manage (new Gtk::Button ()); - saveNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON))); - loadNURBS = Gtk::manage (new Gtk::Button ()); - loadNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON))); pasteNURBS = Gtk::manage (new Gtk::Button ()); - pasteNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON))); + pasteNURBS->add (*Gtk::manage (new RTImage ("edit-paste.png"))); copyNURBS = Gtk::manage (new Gtk::Button ()); - copyNURBS->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON))); + copyNURBS->add (*Gtk::manage (new RTImage ("edit-copy.png"))); + saveNURBS = Gtk::manage (new Gtk::Button ()); + saveNURBS->add (*Gtk::manage (new RTImage ("gtk-save-large.png"))); + loadNURBS = Gtk::manage (new Gtk::Button ()); + loadNURBS->add (*Gtk::manage (new RTImage ("gtk-open.png"))); - NURBSbbox->pack_end (*saveNURBS, Gtk::PACK_SHRINK, 0); - NURBSbbox->pack_end (*loadNURBS, Gtk::PACK_SHRINK, 0); NURBSbbox->pack_end (*pasteNURBS, Gtk::PACK_SHRINK, 0); NURBSbbox->pack_end (*copyNURBS, Gtk::PACK_SHRINK, 0); + NURBSbbox->pack_end (*saveNURBS, Gtk::PACK_SHRINK, 0); + NURBSbbox->pack_end (*loadNURBS, Gtk::PACK_SHRINK, 0); NURBSCurveBox->pack_end (*NURBSbbox, Gtk::PACK_SHRINK, 0); NURBSCurveBox->show_all (); @@ -125,37 +124,33 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) // parametric curve paramCurveBox = new Gtk::VBox (); paramCurveBox->set_spacing(4); - paramInnerBox = new Gtk::HBox (); - paramInnerBox->set_spacing(4); paramCurve = Gtk::manage (new MyDiagonalCurve ()); - Gtk::Table* paramctab = Gtk::manage (new Gtk::Table (2,1)); paramCurve->set_size_request (GRAPH_SIZE+2*RADIUS, GRAPH_SIZE+2*RADIUS); paramCurve->setType (DCT_Parametric); shcSelector = Gtk::manage (new SHCSelector ()); - shcSelector->set_size_request (GRAPH_SIZE, 20); + shcSelector->set_size_request (GRAPH_SIZE-100, 20); // width, height + //* shcSelector->set_size_request ((GRAPH_SIZE+2*RADIUS)-20, 20); - paramctab->attach (*paramCurve, 0, 1, 0, 1, Gtk::FILL, Gtk::SHRINK, 0, 0); - paramctab->attach (*shcSelector, 0, 1, 1, 2, Gtk::FILL, Gtk::SHRINK, RADIUS, 0); + paramCurveBox->pack_start (*paramCurve, Gtk::PACK_EXPAND_WIDGET, 0); + paramCurveBox->pack_start (*shcSelector, Gtk::PACK_EXPAND_WIDGET, 0); - paramInnerBox->pack_start (*paramctab, Gtk::PACK_EXPAND_WIDGET, 0); - - Gtk::VBox* Parambbox = Gtk::manage (new Gtk::VBox ()); + Gtk::HBox* Parambbox = Gtk::manage (new Gtk::HBox ()); Parambbox->set_spacing(4); - saveParam = Gtk::manage (new Gtk::Button ()); - saveParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-save"), Gtk::ICON_SIZE_BUTTON))); - loadParam = Gtk::manage (new Gtk::Button ()); - loadParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-open"), Gtk::ICON_SIZE_BUTTON))); pasteParam = Gtk::manage (new Gtk::Button ()); - pasteParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-paste"), Gtk::ICON_SIZE_BUTTON))); + pasteParam->add (*Gtk::manage (new RTImage ("edit-paste.png"))); copyParam = Gtk::manage (new Gtk::Button ()); - copyParam->add (*Gtk::manage (new Gtk::Image (Gtk::StockID("gtk-copy"), Gtk::ICON_SIZE_BUTTON))); + copyParam->add (*Gtk::manage (new RTImage ("edit-copy.png"))); + saveParam = Gtk::manage (new Gtk::Button ()); + saveParam->add (*Gtk::manage (new RTImage ("gtk-save-large.png"))); + loadParam = Gtk::manage (new Gtk::Button ()); + loadParam->add (*Gtk::manage (new RTImage ("gtk-open.png"))); - Parambbox->pack_end (*saveParam, Gtk::PACK_SHRINK, 0); - Parambbox->pack_end (*loadParam, Gtk::PACK_SHRINK, 0); Parambbox->pack_end (*pasteParam, Gtk::PACK_SHRINK, 0); Parambbox->pack_end (*copyParam, Gtk::PACK_SHRINK, 0); + Parambbox->pack_end (*saveParam, Gtk::PACK_SHRINK, 0); + Parambbox->pack_end (*loadParam, Gtk::PACK_SHRINK, 0); saveParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::savePressed) ); loadParam->signal_clicked().connect( sigc::mem_fun(*this, &DiagonalCurveEditorSubGroup::loadPressed) ); @@ -167,9 +162,8 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) pasteParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPPASTE")); copyParam->set_tooltip_text (M("CURVEEDITOR_TOOLTIPCOPY")); - paramInnerBox->pack_start (*Parambbox, Gtk::PACK_EXPAND_WIDGET, 0); - - paramCurveBox->pack_start (*paramInnerBox, Gtk::PACK_SHRINK, 0); + paramCurveBox->set_spacing(4); + paramCurveBox->pack_end (*Parambbox, Gtk::PACK_EXPAND_WIDGET, 0); highlights = Gtk::manage (new Adjuster (M("CURVEEDITOR_HIGHLIGHTS"), -100, 100, 1, 0)); lights = Gtk::manage (new Adjuster (M("CURVEEDITOR_LIGHTS"), -100, 100, 1, 0)); @@ -186,7 +180,6 @@ DiagonalCurveEditorSubGroup::DiagonalCurveEditorSubGroup (CurveEditorGroup* prt) evdarks->add (*darks); evshadows->add (*shadows); - paramCurveBox->pack_start (*Gtk::manage (new Gtk::HSeparator ())); paramCurveBox->pack_start (*evhighlights); paramCurveBox->pack_start (*evlights); paramCurveBox->pack_start (*evdarks); @@ -228,7 +221,6 @@ DiagonalCurveEditorSubGroup::~DiagonalCurveEditorSubGroup() { delete customCurveBox; delete paramCurveBox; delete NURBSCurveBox; - delete paramInnerBox; } /* diff --git a/rtgui/diagonalcurveeditorsubgroup.h b/rtgui/diagonalcurveeditorsubgroup.h index cadf0dee7..05ffb6c38 100644 --- a/rtgui/diagonalcurveeditorsubgroup.h +++ b/rtgui/diagonalcurveeditorsubgroup.h @@ -29,14 +29,13 @@ class DiagonalCurveEditorSubGroup : public CurveEditorSubGroup, public SHCListen friend class DiagonalCurveEditor; protected: - Gtk::HBox* customCurveBox; + Gtk::VBox* customCurveBox; + Gtk::VBox* NURBSCurveBox; Gtk::VBox* paramCurveBox; - Gtk::HBox* paramInnerBox; - Gtk::HBox* NURBSCurveBox; MyDiagonalCurve* customCurve; - MyDiagonalCurve* paramCurve; MyDiagonalCurve* NURBSCurve; + MyDiagonalCurve* paramCurve; SHCSelector* shcSelector; Adjuster* highlights; diff --git a/rtgui/shcselector.cc b/rtgui/shcselector.cc index 12ce92157..76ecdafbd 100644 --- a/rtgui/shcselector.cc +++ b/rtgui/shcselector.cc @@ -55,7 +55,7 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) { Cairo::RefPtr cr = get_window()->create_cairo_context(); - int w = get_width (); + int w = get_width () - RADIUS*2; int h = get_height (); wslider = h *2.0 / 5.0; @@ -75,7 +75,7 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) { cr->set_line_width (1.0); cr->set_source (bggradient); - cr->rectangle (0.5, h*2.0/7.0 + 0.5, w-0.5, h*3.0/7.0-0.5); + cr->rectangle (0.5+RADIUS, h*2.0/7.0 + 0.5, w-0.5, h*3.0/7.0-0.5); cr->fill_preserve(); cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p()); cr->stroke (); @@ -83,12 +83,12 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) { // draw sliders cr->set_line_width (1.0); for (int i=0; i<3; i++) { - cr->move_to (w*positions[i]-wslider/2+0.5, h-0.5); - cr->line_to (w*positions[i]-wslider/2+0.5, wslider/2 + 0.5); - cr->line_to (w*positions[i], 0.5); - cr->line_to (w*positions[i]+wslider/2-0.5, wslider/2 + 0.5); - cr->line_to (w*positions[i]+wslider/2-0.5, h-0.5); - cr->line_to (w*positions[i]-wslider/2+0.5, h-0.5); + cr->move_to (RADIUS+w*positions[i]-wslider/2+0.5, h-0.5); + cr->line_to (RADIUS+w*positions[i]-wslider/2+0.5, wslider/2 + 0.5); + cr->line_to (RADIUS+w*positions[i], 0.5); + cr->line_to (RADIUS+w*positions[i]+wslider/2-0.5, wslider/2 + 0.5); + cr->line_to (RADIUS+w*positions[i]+wslider/2-0.5, h-0.5); + cr->line_to (RADIUS+w*positions[i]-wslider/2+0.5, h-0.5); cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p()); cr->fill_preserve (); cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p()); @@ -105,17 +105,17 @@ bool SHCSelector::on_expose_event(GdkEventExpose* event) { Glib::RefPtr layout = create_pango_layout(Glib::ustring::format(std::setprecision(2), positions[i])); layout->get_pixel_size(layout_width, layout_height); offset = positions[i] > 0.5 ? -layout_width-1-wslider/2 : 1+wslider/2; - cr->move_to (w*positions[i]+offset-0.5, 0); + cr->move_to (RADIUS+w*positions[i]+offset-0.5, 0); cr->set_source_rgb (bgc.get_red_p(), bgc.get_green_p(), bgc.get_blue_p()); layout->add_to_cairo_context (cr); cr->fill_preserve (); cr->stroke (); - cr->move_to (w*positions[i]+offset+0.5, 1); + cr->move_to (RADIUS+w*positions[i]+offset+0.5, 1); layout->add_to_cairo_context (cr); cr->fill_preserve (); cr->stroke (); cr->set_source_rgb (fgc.get_red_p(), fgc.get_green_p(), fgc.get_blue_p()); - cr->move_to (w*positions[i]+offset, 0.5); + cr->move_to (RADIUS+w*positions[i]+offset, 0.5); layout->add_to_cairo_context (cr); cr->fill_preserve (); cr->stroke ();