X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkrange.h;h=8495cdb78fa64c8da73cf4aade61c2897eec1ba4;hb=32aa7f0582febb614c41e4130ad34ac44ef6efd2;hp=d4ef1b3e81b639d165968fa649651d3125dca5ba;hpb=fc7c8bbeb44648f437d92b2a55270ae991301134;p=~andy%2Fgtk diff --git a/gtk/gtkrange.h b/gtk/gtkrange.h index d4ef1b3e8..8495cdb78 100644 --- a/gtk/gtkrange.h +++ b/gtk/gtkrange.h @@ -12,24 +12,24 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_RANGE_H__ #define __GTK_RANGE_H__ -#include -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include @@ -43,59 +43,15 @@ G_BEGIN_DECLS #define GTK_IS_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE)) #define GTK_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_RANGE, GtkRangeClass)) -/* These two are private/opaque types, ignore */ -typedef struct _GtkRangeLayout GtkRangeLayout; -typedef struct _GtkRangeStepTimer GtkRangeStepTimer; - -typedef struct _GtkRange GtkRange; -typedef struct _GtkRangeClass GtkRangeClass; +typedef struct _GtkRange GtkRange; +typedef struct _GtkRangePrivate GtkRangePrivate; +typedef struct _GtkRangeClass GtkRangeClass; struct _GtkRange { GtkWidget widget; - GtkAdjustment *adjustment; - GtkUpdateType update_policy; - guint inverted : 1; - - /*< protected >*/ - - guint flippable : 1; - - /* Steppers are: < > ---- < > - * a b c d - */ - - guint has_stepper_a : 1; - guint has_stepper_b : 1; - guint has_stepper_c : 1; - guint has_stepper_d : 1; - - guint need_recalc : 1; - - guint slider_size_fixed : 1; - - gint min_slider_size; - - GtkOrientation orientation; - - /* Area of entire stepper + trough assembly in widget->window coords */ - GdkRectangle range_rect; - /* Slider range along the long dimension, in widget->window coords */ - gint slider_start, slider_end; - - /* Round off value to this many digits, -1 for no rounding */ - gint round_digits; - - /*< private >*/ - guint trough_click_forward : 1; /* trough click was on the forward side of slider */ - guint update_pending : 1; /* need to emit value_changed */ - GtkRangeLayout *layout; - GtkRangeStepTimer *timer; - gint slide_initial_slider_position; - gint slide_initial_coordinate; - guint update_timeout_id; - GdkWindow *event_window; + GtkRangePrivate *priv; }; struct _GtkRangeClass @@ -109,7 +65,7 @@ struct _GtkRangeClass void (* value_changed) (GtkRange *range); void (* adjust_bounds) (GtkRange *range, gdouble new_value); - + /* action signals for keybindings */ void (* move_slider) (GtkRange *range, GtkScrollType scroll); @@ -126,15 +82,12 @@ struct _GtkRangeClass void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; GType gtk_range_get_type (void) G_GNUC_CONST; -void gtk_range_set_update_policy (GtkRange *range, - GtkUpdateType policy); -GtkUpdateType gtk_range_get_update_policy (GtkRange *range); - void gtk_range_set_adjustment (GtkRange *range, GtkAdjustment *adjustment); GtkAdjustment* gtk_range_get_adjustment (GtkRange *range); @@ -143,6 +96,24 @@ void gtk_range_set_inverted (GtkRange *range gboolean setting); gboolean gtk_range_get_inverted (GtkRange *range); +void gtk_range_set_flippable (GtkRange *range, + gboolean flippable); +gboolean gtk_range_get_flippable (GtkRange *range); + +void gtk_range_set_slider_size_fixed (GtkRange *range, + gboolean size_fixed); +gboolean gtk_range_get_slider_size_fixed (GtkRange *range); + +void gtk_range_set_min_slider_size (GtkRange *range, + gint min_size); +gint gtk_range_get_min_slider_size (GtkRange *range); + +void gtk_range_get_range_rect (GtkRange *range, + GdkRectangle *range_rect); +void gtk_range_get_slider_range (GtkRange *range, + gint *slider_start, + gint *slider_end); + void gtk_range_set_lower_stepper_sensitivity (GtkRange *range, GtkSensitivityType sensitivity); GtkSensitivityType gtk_range_get_lower_stepper_sensitivity (GtkRange *range); @@ -160,9 +131,35 @@ void gtk_range_set_value (GtkRange *range gdouble value); gdouble gtk_range_get_value (GtkRange *range); -gdouble _gtk_range_get_wheel_delta (GtkRange *range, - GdkScrollDirection direction); - +void gtk_range_set_show_fill_level (GtkRange *range, + gboolean show_fill_level); +gboolean gtk_range_get_show_fill_level (GtkRange *range); +void gtk_range_set_restrict_to_fill_level (GtkRange *range, + gboolean restrict_to_fill_level); +gboolean gtk_range_get_restrict_to_fill_level (GtkRange *range); +void gtk_range_set_fill_level (GtkRange *range, + gdouble fill_level); +gdouble gtk_range_get_fill_level (GtkRange *range); +void gtk_range_set_round_digits (GtkRange *range, + gint round_digits); +gint gtk_range_get_round_digits (GtkRange *range); + +/* internal API */ +gdouble _gtk_range_get_wheel_delta (GtkRange *range, + GdkEventScroll *event); +void _gtk_range_set_has_origin (GtkRange *range, + gboolean has_origin); +gboolean _gtk_range_get_has_origin (GtkRange *range); +void _gtk_range_set_stop_values (GtkRange *range, + gdouble *values, + gint n_values); +gint _gtk_range_get_stop_positions (GtkRange *range, + gint **values); +void _gtk_range_set_steppers (GtkRange *range, + gboolean has_a, + gboolean has_b, + gboolean has_c, + gboolean has_d); G_END_DECLS