]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/win_gtk.h
[ 1522987 ] wxComboCtrl crashes if TAB is pressed while popup is open
[wxWidgets.git] / include / wx / gtk / win_gtk.h
1 /* ///////////////////////////////////////////////////////////////////////////
2 // Name: win_gtk.h
3 // Purpose: wxWidgets's GTK base widget = GtkPizza
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////// */
9
10
11 #ifndef __GTK_PIZZA_H__
12 #define __GTK_PIZZA_H__
13
14 #ifdef __cplusplus
15 extern "C" {
16 #endif /* __cplusplus */
17
18 #include <gtk/gtkcontainer.h>
19
20 #include "wx/dlimpexp.h"
21
22 #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
23 #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
24
25 /* Shadow types */
26 typedef enum
27 {
28 GTK_MYSHADOW_NONE,
29 GTK_MYSHADOW_THIN,
30 GTK_MYSHADOW_IN,
31 GTK_MYSHADOW_OUT
32 } GtkMyShadowType;
33
34 typedef struct _GtkPizzaChild GtkPizzaChild;
35 typedef struct _GtkPizza GtkPizza;
36 typedef struct _GtkPizzaClass GtkPizzaClass;
37
38 struct _GtkPizzaChild
39 {
40 GtkWidget *widget;
41 gint x;
42 gint y;
43 gint width;
44 gint height;
45 };
46
47 struct _GtkPizza
48 {
49 GtkContainer container;
50 GList *children;
51 GtkMyShadowType shadow_type;
52
53 guint width;
54 guint height;
55
56 guint xoffset;
57 guint yoffset;
58
59 GdkWindow *bin_window;
60
61 gint scroll_x;
62 gint scroll_y;
63
64 gboolean external_expose;
65 };
66
67 struct _GtkPizzaClass
68 {
69 GtkContainerClass parent_class;
70
71 void (*set_scroll_adjustments) (GtkPizza *pizza,
72 GtkAdjustment *hadjustment,
73 GtkAdjustment *vadjustment);
74 };
75
76 WXDLLIMPEXP_CORE
77 GtkType gtk_pizza_get_type (void);
78 WXDLLIMPEXP_CORE
79 GtkWidget* gtk_pizza_new (void);
80
81 WXDLLIMPEXP_CORE
82 void gtk_pizza_set_shadow_type (GtkPizza *pizza,
83 GtkMyShadowType type);
84
85 WXDLLIMPEXP_CORE
86 void gtk_pizza_set_external (GtkPizza *pizza,
87 gboolean expose);
88
89 WXDLLIMPEXP_CORE
90 void gtk_pizza_scroll (GtkPizza *pizza,
91 gint dx,
92 gint dy);
93
94 WXDLLIMPEXP_CORE
95 void gtk_pizza_put (GtkPizza *pizza,
96 GtkWidget *widget,
97 gint x,
98 gint y,
99 gint width,
100 gint height);
101
102 WXDLLIMPEXP_CORE
103 void gtk_pizza_set_size (GtkPizza *pizza,
104 GtkWidget *widget,
105 gint x,
106 gint y,
107 gint width,
108 gint height);
109 #ifdef __cplusplus
110 }
111 #endif /* __cplusplus */
112
113
114 #endif /* __GTK_PIZZA_H__ */