]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/win_gtk.h
test for wxLog interaction with wxYield better
[wxWidgets.git] / include / wx / gtk / win_gtk.h
CommitLineData
c67daf87 1/* ///////////////////////////////////////////////////////////////////////////
c801d85f 2// Name: win_gtk.h
da048e3d 3// Purpose: wxWindows's GTK base widget = GtkPizza
c801d85f 4// Author: Robert Roebling
58614078
RR
5// Id: $Id$
6// Copyright: (c) 1998 Robert Roebling
c801d85f 7// Licence: wxWindows licence
c67daf87 8/////////////////////////////////////////////////////////////////////////// */
c801d85f
KB
9
10
da048e3d
RR
11#ifndef __GTK_PIZZA_H__
12#define __GTK_PIZZA_H__
c801d85f 13
c801d85f
KB
14#include <gdk/gdk.h>
15#include <gtk/gtkcontainer.h>
034be888 16#include <gtk/gtkadjustment.h>
d42508c2 17#ifndef __WXGTK20__
034be888 18#include <gtk/gtkfeatures.h>
d42508c2 19#endif
c801d85f
KB
20
21#ifdef __cplusplus
22extern "C" {
23#endif /* __cplusplus */
24
da048e3d
RR
25#define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
26#define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
27#define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
c801d85f 28
5e014a0c
RR
29/* Shadow types */
30typedef enum
31{
0e09f76e
RR
32 GTK_MYSHADOW_NONE,
33 GTK_MYSHADOW_THIN,
34 GTK_MYSHADOW_IN,
35 GTK_MYSHADOW_OUT
5e014a0c 36} GtkMyShadowType;
c801d85f 37
b6fa52db 38typedef struct _GtkPizzaChild GtkPizzaChild;
da048e3d
RR
39typedef struct _GtkPizza GtkPizza;
40typedef struct _GtkPizzaClass GtkPizzaClass;
c801d85f 41
b6fa52db
RR
42struct _GtkPizzaChild
43{
44 GtkWidget *widget;
45 gint x;
46 gint y;
47 gint width;
48 gint height;
49};
50
da048e3d 51struct _GtkPizza
c801d85f 52{
0e09f76e
RR
53 GtkContainer container;
54 GList *children;
55 GtkMyShadowType shadow_type;
ed673c6a 56
0e09f76e
RR
57 guint width;
58 guint height;
ed673c6a 59
0e09f76e
RR
60 guint xoffset;
61 guint yoffset;
ed673c6a 62
0e09f76e 63 GdkWindow *bin_window;
ed673c6a 64
0e09f76e
RR
65 GdkVisibilityState visibility;
66 gulong configure_serial;
67 gint scroll_x;
68 gint scroll_y;
147bc491 69
0e09f76e
RR
70 gboolean clear_on_draw;
71 gboolean use_filter;
b420fb6a 72 gboolean external_expose;
c801d85f
KB
73};
74
da048e3d 75struct _GtkPizzaClass
c801d85f
KB
76{
77 GtkContainerClass parent_class;
034be888 78
da048e3d 79 void (*set_scroll_adjustments) (GtkPizza *pizza,
034be888
RR
80 GtkAdjustment *hadjustment,
81 GtkAdjustment *vadjustment);
c801d85f
KB
82};
83
da048e3d
RR
84guint gtk_pizza_get_type (void);
85GtkWidget* gtk_pizza_new (void);
147bc491 86
0e09f76e
RR
87void gtk_pizza_set_shadow_type (GtkPizza *pizza,
88 GtkMyShadowType type);
89
90void gtk_pizza_set_clear (GtkPizza *pizza,
91 gboolean clear);
ed673c6a 92
0e09f76e
RR
93void gtk_pizza_set_filter (GtkPizza *pizza,
94 gboolean use);
147bc491 95
b420fb6a
RR
96void gtk_pizza_set_external (GtkPizza *pizza,
97 gboolean expose);
98
0e09f76e
RR
99void gtk_pizza_scroll (GtkPizza *pizza,
100 gint dx,
101 gint dy);
8cb9f0d0
RR
102
103gint gtk_pizza_child_resized (GtkPizza *pizza,
104 GtkWidget *widget);
ed673c6a 105
0e09f76e
RR
106void gtk_pizza_put (GtkPizza *pizza,
107 GtkWidget *widget,
108 gint x,
109 gint y,
110 gint width,
111 gint height);
112
113void gtk_pizza_move (GtkPizza *pizza,
114 GtkWidget *widget,
115 gint x,
116 gint y );
fdd3ed7a 117
0e09f76e
RR
118void gtk_pizza_resize (GtkPizza *pizza,
119 GtkWidget *widget,
120 gint width,
121 gint height );
fdd3ed7a 122
0e09f76e
RR
123void gtk_pizza_set_size (GtkPizza *pizza,
124 GtkWidget *widget,
125 gint x,
126 gint y,
127 gint width,
128 gint height);
c801d85f
KB
129#ifdef __cplusplus
130}
131#endif /* __cplusplus */
132
133
da048e3d 134#endif /* __GTK_PIZZA_H__ */