X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fadjust_window.cpp;h=0b62737414f4cc39e8c92e60404c503e970c7710;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=ca0219f8f74eab94a5e223af81532398eca4a4d9;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/adjust_window.cpp b/synfig-studio/trunk/src/gtkmm/adjust_window.cpp index ca0219f..0b62737 100644 --- a/synfig-studio/trunk/src/gtkmm/adjust_window.cpp +++ b/synfig-studio/trunk/src/gtkmm/adjust_window.cpp @@ -2,7 +2,7 @@ /*! \file adjust_window.cpp ** \brief Adjustment Window Implementation File ** -** $Id: adjust_window.cpp,v 1.1.1.1 2005/01/07 03:34:35 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2004 Adrian Bentley @@ -32,6 +32,8 @@ #include "adjust_window.h" #include "app.h" +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -81,14 +83,15 @@ const Gtk::Adjustment *Adjust_Window::get_child_adjustment() const void Adjust_Window::set_child_adjustment(Gtk::Adjustment *child) { childchanged.disconnect(); - + adj_child = child; - - synfig::info("Adjust: connecting to child signals"); + + // synfig::info("Adjust: connecting to child signals"); + if(child) { childchanged = child->signal_changed().connect(sigc::mem_fun(*this,&Adjust_Window::update_fromchild)); - + update_child(); } } @@ -120,23 +123,23 @@ void Adjust_Window::update_child() if(adj_child) { bool childchanged = false; - + double v = get_value(); double ve = v + get_page_size(); - + //reset child's values if they need to be... if(abs(v - adj_child->get_lower()) > EPSILON) { adj_child->set_lower(v); childchanged = true; } - + if(abs(ve - adj_child->get_upper()) > EPSILON) { adj_child->set_upper(ve); - childchanged = true; + childchanged = true; } - + if(childchanged) { adj_child->changed(); @@ -147,17 +150,17 @@ void Adjust_Window::update_child() void Adjust_Window::update_fromchild() { if(adj_child) - { + { double b = adj_child->get_lower(); double dist = adj_child->get_upper() - b; - + //reset our values if they need to be... if(abs(get_value() - b) > EPSILON) { set_value(b); value_changed(); } - + if(abs(get_page_size() - dist) > EPSILON) { set_page_size(dist);