/* $Id: range.gen_h,v 1.53 2000/02/13 02:22:09 kenelson Exp $ */ /* range.h * * Copyright (C) 1998-1999 The Gtk-- Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <gtk--/widget.h> #include <gtk/gtkrange.h> namespace Gtk { class Adjustment; class Range : public Widget { public: typedef Range CppObjectType; typedef GtkRange BaseObjectType; public: //: Returns the underlaying gtk+ object. GtkRange* gtkobj(); const GtkRange* gtkobj() const; //: Returns true if object is this type. static bool isA(Gtk::Object *object); virtual ~Range(); private: public: Gtk::Adjustment* get_adjustment() const; void set_adjustment(Gtk::Adjustment& adjustment); void set_adjustment(Gtk::Adjustment* adjustment=0); void set_update_policy(GtkUpdateType policy); void draw_background(); void clear_background(); void draw_trough(); void draw_slider(); void draw_step_forw(); void draw_step_back(); void slider_update(); gint trough_click(gint p0,gint p1,gfloat* p2); void default_hslider_update(); void default_vslider_update(); void default_htrough_click(gint x,gint y,gfloat* jump_perc); void default_vtrough_click(gint x,gint y,gfloat* jump_perc); void default_hmotion(gint xdelta,gint ydelta); void default_vmotion(gint xdelta,gint ydelta); protected: Range(); protected: // impl functions virtual void draw_background_impl(); virtual void clear_background_impl(); virtual void draw_trough_impl(); virtual void draw_slider_impl(); virtual void draw_step_forw_impl(); virtual void draw_step_back_impl(); virtual void slider_update_impl(); virtual gint trough_click_impl(gint p0,gint p1,gfloat* p2); virtual void motion_impl(gint p0,gint p1); virtual gint trough_keys_impl(GdkEventKey* p0,GtkScrollType* p1,GtkTroughType* p2); virtual gint timer_impl(); }; //+ PROPERTIES(Gtk_Range) //. name: trough //. type: GdkWindow* //. get: //. set: //. desc: //. name: slider //. type: GdkWindow* //. get: //. set: //. desc: //. name: step_forw //. type: GdkWindow* //. get: //. set: //. desc: //. name: step_back //. type: GdkWindow* //. get: //. set: //. desc: //. name: x_click_point //. type: gint16 //. get: //. set: //. desc: //. name: y_click_point //. type: gint16 //. get: //. set: //. desc: //. name: button //. type: guint8 //. get: //. set: //. desc: //. name: digits //. type: gint8 //. get: //. set: //. desc: //. name: policy //. type: guint:2 //. get: //. set: //. desc: //. name: scroll_type //. type: guint:3 //. get: //. set: //. desc: //. name: in_child //. type: guint:3 //. get: //. set: //. desc: //. name: click_child //. type: guint:3 //. get: //. set: //. desc: //. name: need_timer //. type: guint:1 //. get: //. set: //. desc: //. name: timer //. type: guint32 //. get: //. set: //. desc: //. name: old_value //. type: gfloat //. get: //. set: //. desc: //. name: old_lower //. type: gfloat //. get: //. set: //. desc: //. name: old_upper //. type: gfloat //. get: //. set: //. desc: //. name: old_page_size //. type: gfloat //. get: //. set: //. desc: //. name: adjustment //. type: GtkAdjustment* //. get: //. set: //. desc: }