New batch of update for issue 3446

This commit include :
- cleanup rtgui/retinex.cc file (constructor only) and switched to
Gtk::Grid (the new standard) instead of Gtk::Box. This however doesn't
solve the issue of the Transmission curves in the Retinex tool, with
wrong resize of the Frame when folding/unfolding the curves.
- better alignment of the Histogram panel now with 4px of padding on the
left and right side
- Threshold selector now use the Scale's Trough style to draw its box
and sliders
- Curve's background are darker and restricted to the curve diagram
- Diagonal and Flat curves has been converted to Gtk::Grid as well
- A special color is now used for unsensitive Threshold selector and
Sclaes widgets
- Gap around the main Window has been removed on windows to circumvent a
bug in Gtk3, but the window can now only be maximized (usual use case)
or resized vertically by the top border only.
- Buttons at the bottom of the Editor panel has now the same height
This commit is contained in:
Hombre
2016-11-01 20:39:41 +01:00
parent 3ae608d5ca
commit 965cadb52e
37 changed files with 919 additions and 664 deletions

View File

@@ -30,16 +30,12 @@ ThumbBrowserBase::ThumbBrowserBase ()
inW = -1;
inH = -1;
Gtk::HBox* hb1 = Gtk::manage( new Gtk::HBox () );
Gtk::HBox* hb2 = Gtk::manage( new Gtk::HBox () );
hb1->pack_start (internal);
hb1->pack_end (vscroll, Gtk::PACK_SHRINK, 0);
pack_start (*hb1);
hb2->pack_start (hscroll);
pack_start (*hb2, Gtk::PACK_SHRINK, 0);
setExpandAlignProperties(&internal, true, true, Gtk::ALIGN_FILL, Gtk::ALIGN_FILL);
setExpandAlignProperties(&hscroll, true, false, Gtk::ALIGN_FILL, Gtk::ALIGN_CENTER);
setExpandAlignProperties(&vscroll, false, true, Gtk::ALIGN_CENTER, Gtk::ALIGN_FILL);
attach (internal, 0, 0, 1, 1);
attach (vscroll, 1, 0, 1, 1);
attach (hscroll, 0, 1, 1, 1);
internal.setParent (this);
@@ -876,6 +872,34 @@ bool ThumbBrowserBase::Internal::on_draw(const ::Cairo::RefPtr< Cairo::Context>
return true;
}
Gtk::SizeRequestMode ThumbBrowserBase::Internal::get_request_mode_vfunc () const
{
return Gtk::SIZE_REQUEST_CONSTANT_SIZE;
}
void ThumbBrowserBase::Internal::get_preferred_height_vfunc (int &minimum_height, int &natural_height) const
{
minimum_height = 20;
natural_height = 80;
}
void ThumbBrowserBase::Internal::get_preferred_width_vfunc (int &minimum_width, int &natural_width) const
{
minimum_width = 200;
natural_width = 1000;
}
void ThumbBrowserBase::Internal::get_preferred_height_for_width_vfunc (int width, int &minimum_height, int &natural_height) const
{
get_preferred_height_vfunc(minimum_height, natural_height);
}
void ThumbBrowserBase::Internal::get_preferred_width_for_height_vfunc (int height, int &minimum_width, int &natural_width) const
{
get_preferred_width_vfunc (minimum_width, natural_width);
}
bool ThumbBrowserBase::Internal::on_button_release_event (GdkEventButton* event)
{
// Gtk signals automatically acquire the GUI (i.e. this method is enclosed by gdk_thread_enter and gdk_thread_leave)