X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftags%2Fsynfigstudio_%40VERSION_MAJ%40_%40VERSION_MIN%40_%40VERSION_REV%40%2Fsrc%2Fgtkmm%2Fadjust_window.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_%40VERSION_MAJ%40_%40VERSION_MIN%40_%40VERSION_REV%40%2Fsrc%2Fgtkmm%2Fadjust_window.h;h=d1b57c338cc938c75116b90ddd524555d90bd573;hb=d98a5bdd45e2c836aa7996f22516008f1ce29947;hp=0000000000000000000000000000000000000000;hpb=c33037508a9f5a0607b14f3feed692a0d364d68a;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_@VERSION_MAJ@_@VERSION_MIN@_@VERSION_REV@/src/gtkmm/adjust_window.h b/synfig-studio/tags/synfigstudio_@VERSION_MAJ@_@VERSION_MIN@_@VERSION_REV@/src/gtkmm/adjust_window.h new file mode 100644 index 0000000..d1b57c3 --- /dev/null +++ b/synfig-studio/tags/synfigstudio_@VERSION_MAJ@_@VERSION_MIN@_@VERSION_REV@/src/gtkmm/adjust_window.h @@ -0,0 +1,94 @@ +/* === S Y N F I G ========================================================= */ +/*! \file adjust_window.h +** \brief Adjustment Window Header +** +** $Id$ +** +** \legal +** Copyright (c) 2004 Adrian Bentley +** +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. +** +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. +** \endlegal +*/ +/* ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __SYNFIG_TEMPLATE_H +#define __SYNFIG_TEMPLATE_H + +/* === H E A D E R S ======================================================= */ +#include + +/* === M A C R O S ========================================================= */ + +/* === T Y P E D E F S ===================================================== */ + +/* === C L A S S E S & S T R U C T S ======================================= */ + +namespace studio { + +/* Sets up an adjustment that controls/communicates with another adjustment + (could be expanded to multiple children) + + The current value and pagesize define the lower and upper bounds of the + child adjustment. + + NEED TO REPLACE FUNCTIONALITY IN: + refresh_rend_desc + refresh_time_window + on_time_changed - possibly.... + + time_zoom_in - possibly... + time_zoom_out - possibly... + + play - possibly... + + THINGS TO CHECK: + disp_audio's use of time_adjustment + children_tree's use of time_adjustment + layer_tree's use of time_adjustment +*/ +class Adjust_Window : public Gtk::Adjustment +{ + Gtk::Adjustment *adj_child; + + sigc::connection childchanged; //we only care about the non-value parts of the child + + virtual void on_changed(); //value+pagesize corresponds to child upper + virtual void on_value_changed(); //value corresponds to child lower + +protected: //update interface + virtual void update_child(); + virtual void update_fromchild(); + +public: //structors + Adjust_Window(double value, double lower, double upper, + double step_increment=1, double page_increment=10, double page_size=0, + Gtk::Adjustment *adj = 0); + + virtual ~Adjust_Window(); + +public: //child interface + Gtk::Adjustment *get_child_adjustment(); + const Gtk::Adjustment *get_child_adjustment() const; + void set_child_adjustment(Gtk::Adjustment *child); + +public: //Sub value interface + double get_sub_lower() const; + double get_sub_upper() const; +}; + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif