X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkscrolledwindow.h;h=52c291c0da509c7d9f746e35d637fe7cc8856dc2;hb=32825a66ac8e65bf98cafed26a339fa1f31eddd4;hp=d8dedd9be96e25c25db645fbea5b1d2837bd680d;hpb=372853b107d752cdb5e8d180be9b6a1c9a752f36;p=~andy%2Fgtk diff --git a/gtk/gtkscrolledwindow.h b/gtk/gtkscrolledwindow.h index d8dedd9be..52c291c0d 100644 --- a/gtk/gtkscrolledwindow.h +++ b/gtk/gtkscrolledwindow.h @@ -12,78 +12,86 @@ * 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_SCROLLED_WINDOW_H__ #define __GTK_SCROLLED_WINDOW_H__ +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif -#include -#include -#include -#include +#include - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_SCROLLED_WINDOW (gtk_scrolled_window_get_type ()) -#define GTK_SCROLLED_WINDOW(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindow)) -#define GTK_SCROLLED_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass)) -#define GTK_IS_SCROLLED_WINDOW(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SCROLLED_WINDOW)) -#define GTK_IS_SCROLLED_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLED_WINDOW)) -#define GTK_SCROLLED_WINDOW_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass)) - +#define GTK_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindow)) +#define GTK_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass)) +#define GTK_IS_SCROLLED_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SCROLLED_WINDOW)) +#define GTK_IS_SCROLLED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLED_WINDOW)) +#define GTK_SCROLLED_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass)) -typedef struct _GtkScrolledWindow GtkScrolledWindow; -typedef struct _GtkScrolledWindowClass GtkScrolledWindowClass; +typedef struct _GtkScrolledWindow GtkScrolledWindow; +typedef struct _GtkScrolledWindowPrivate GtkScrolledWindowPrivate; +typedef struct _GtkScrolledWindowClass GtkScrolledWindowClass; struct _GtkScrolledWindow { GtkBin container; - GtkWidget *hscrollbar; - GtkWidget *vscrollbar; - - guint hscrollbar_policy : 2; - guint vscrollbar_policy : 2; - guint hscrollbar_visible : 1; - guint vscrollbar_visible : 1; - guint window_placement : 2; - - guint16 shadow_type; + GtkScrolledWindowPrivate *priv; }; struct _GtkScrolledWindowClass { GtkBinClass parent_class; - + gint scrollbar_spacing; + + /* Action signals for keybindings. Do not connect to these signals + */ + + /* Unfortunately, GtkScrollType is deficient in that there is + * no horizontal/vertical variants for GTK_SCROLL_START/END, + * so we have to add an additional boolean flag. + */ + gboolean (*scroll_child) (GtkScrolledWindow *scrolled_window, + GtkScrollType scroll, + gboolean horizontal); + + void (* move_focus_out) (GtkScrolledWindow *scrolled_window, + GtkDirectionType direction); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; -GtkType gtk_scrolled_window_get_type (void) G_GNUC_CONST; +GType gtk_scrolled_window_get_type (void) G_GNUC_CONST; GtkWidget* gtk_scrolled_window_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); void gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, GtkAdjustment *hadjustment); void gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window, - GtkAdjustment *hadjustment); + GtkAdjustment *vadjustment); GtkAdjustment* gtk_scrolled_window_get_hadjustment (GtkScrolledWindow *scrolled_window); GtkAdjustment* gtk_scrolled_window_get_vadjustment (GtkScrolledWindow *scrolled_window); +GtkWidget* gtk_scrolled_window_get_hscrollbar (GtkScrolledWindow *scrolled_window); +GtkWidget* gtk_scrolled_window_get_vscrollbar (GtkScrolledWindow *scrolled_window); void gtk_scrolled_window_set_policy (GtkScrolledWindow *scrolled_window, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy); @@ -92,17 +100,38 @@ void gtk_scrolled_window_get_policy (GtkScrolledWindow *scrolle GtkPolicyType *vscrollbar_policy); void gtk_scrolled_window_set_placement (GtkScrolledWindow *scrolled_window, GtkCornerType window_placement); +void gtk_scrolled_window_unset_placement (GtkScrolledWindow *scrolled_window); + GtkCornerType gtk_scrolled_window_get_placement (GtkScrolledWindow *scrolled_window); void gtk_scrolled_window_set_shadow_type (GtkScrolledWindow *scrolled_window, GtkShadowType type); GtkShadowType gtk_scrolled_window_get_shadow_type (GtkScrolledWindow *scrolled_window); +GDK_DEPRECATED_IN_3_8_FOR(gtk_container_add) void gtk_scrolled_window_add_with_viewport (GtkScrolledWindow *scrolled_window, GtkWidget *child); +gint gtk_scrolled_window_get_min_content_width (GtkScrolledWindow *scrolled_window); +void gtk_scrolled_window_set_min_content_width (GtkScrolledWindow *scrolled_window, + gint width); +gint gtk_scrolled_window_get_min_content_height (GtkScrolledWindow *scrolled_window); +void gtk_scrolled_window_set_min_content_height (GtkScrolledWindow *scrolled_window, + gint height); +GDK_AVAILABLE_IN_3_4 +void gtk_scrolled_window_set_kinetic_scrolling (GtkScrolledWindow *scrolled_window, + gboolean kinetic_scrolling); +GDK_AVAILABLE_IN_3_4 +gboolean gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window); + +GDK_AVAILABLE_IN_3_4 +void gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window, + gboolean capture_button_press); +GDK_AVAILABLE_IN_3_4 +gboolean gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window); + +gint _gtk_scrolled_window_get_scrollbar_spacing (GtkScrolledWindow *scrolled_window); + -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GTK_SCROLLED_WINDOW_H__ */