blob: 06c7ecdf7bc596b78fa8e5cd3c61c389de84a601 [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
12#ifdef VMS
13# include "gui_gtk_vms.h"
14#endif
15
16#include <gdk/gdk.h>
17#include <gtk/gtkcontainer.h>
18
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#define GTK_TYPE_FORM (gtk_form_get_type ())
25#define GTK_FORM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FORM, GtkForm))
26#define GTK_FORM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FORM, GtkFormClass))
27#define GTK_IS_FORM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FORM))
28#define GTK_IS_FORM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FORM))
29
30
31typedef struct _GtkForm GtkForm;
32typedef struct _GtkFormClass GtkFormClass;
33
34struct _GtkForm
35{
36 GtkContainer container;
37
38 GList *children;
39
40 guint width;
41 guint height;
42
43 GdkWindow *bin_window;
44
45 GdkVisibilityState visibility;
46 gulong configure_serial;
47
48 gint freeze_count;
49};
50
51struct _GtkFormClass
52{
53 GtkContainerClass parent_class;
54};
55
56GtkType gtk_form_get_type(void);
57
58GtkWidget *gtk_form_new(void);
59
60void gtk_form_put(GtkForm * form, GtkWidget * widget,
61 gint x, gint y);
62
63void gtk_form_move(GtkForm *form, GtkWidget * widget,
64 gint x, gint y);
65
66void gtk_form_move_resize(GtkForm * form, GtkWidget * widget,
67 gint x, gint y,
68 gint w, gint h);
69void gtk_form_set_size(GtkForm * form, guint width, guint height);
70
71/* These disable and enable moving and repainting respectively. If you
72 * want to update the layout's offsets but do not want it to repaint
73 * itself, you should use these functions.
74 */
75
76void gtk_form_freeze(GtkForm *form);
77void gtk_form_thaw(GtkForm *form);
78
79
80#ifdef __cplusplus
81}
82#endif
83#endif /* __GTK_FORM_H__ */