blob: 73b0024f8cfceb07f84cdcb6ae9c5ccf202fb980 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001/* vi:set ts=8 sts=4 sw=4:
2 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
8
9#ifndef __GTK_FORM_H__
10#define __GTK_FORM_H__
11
Bram Moolenaar071d4272004-06-13 20:20:40 +000012#include <gdk/gdk.h>
13#include <gtk/gtkcontainer.h>
14
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#define GTK_TYPE_FORM (gtk_form_get_type ())
21#define GTK_FORM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FORM, GtkForm))
22#define GTK_FORM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FORM, GtkFormClass))
23#define GTK_IS_FORM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FORM))
24#define GTK_IS_FORM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FORM))
25
26
27typedef struct _GtkForm GtkForm;
28typedef struct _GtkFormClass GtkFormClass;
29
30struct _GtkForm
31{
32 GtkContainer container;
33
34 GList *children;
35
36 guint width;
37 guint height;
38
39 GdkWindow *bin_window;
40
41 GdkVisibilityState visibility;
42 gulong configure_serial;
43
44 gint freeze_count;
45};
46
47struct _GtkFormClass
48{
49 GtkContainerClass parent_class;
50};
51
52GtkType gtk_form_get_type(void);
53
54GtkWidget *gtk_form_new(void);
55
56void gtk_form_put(GtkForm * form, GtkWidget * widget,
57 gint x, gint y);
58
59void gtk_form_move(GtkForm *form, GtkWidget * widget,
60 gint x, gint y);
61
62void gtk_form_move_resize(GtkForm * form, GtkWidget * widget,
63 gint x, gint y,
64 gint w, gint h);
Bram Moolenaar071d4272004-06-13 20:20:40 +000065
66/* These disable and enable moving and repainting respectively. If you
67 * want to update the layout's offsets but do not want it to repaint
68 * itself, you should use these functions.
69 */
70
71void gtk_form_freeze(GtkForm *form);
72void gtk_form_thaw(GtkForm *form);
73
74
75#ifdef __cplusplus
76}
77#endif
78#endif /* __GTK_FORM_H__ */