finch/libgnt/gntbox.h

Mon, 26 Mar 2007 01:55:33 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Mon, 26 Mar 2007 01:55:33 +0000
changeset 15987
71d668c3d56d
parent 15886
13ed89c4f01d
child 15991
1efb6bd8ba3f
permissions
-rw-r--r--

merge of 'e4c15762aafac1e097402a9bca2e7acfad7ff589'
and '49c0e6c8c116a94115ffdb52a8c6d6b74076b055'

13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 #ifndef GNT_BOX_H
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2 #define GNT_BOX_H
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
3
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
4 #include "gnt.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
5 #include "gntwidget.h"
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
6
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
7 #define GNT_TYPE_BOX (gnt_box_get_gtype())
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
8 #define GNT_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GNT_TYPE_BOX, GntBox))
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
9 #define GNT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GNT_TYPE_BOX, GntBoxClass))
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
10 #define GNT_IS_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GNT_TYPE_BOX))
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
11 #define GNT_IS_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GNT_TYPE_BOX))
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
12 #define GNT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GNT_TYPE_BOX, GntBoxClass))
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
13
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
14 typedef struct _GnBox GntBox;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
15 typedef struct _GnBoxClass GntBoxClass;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
16
14001
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
17 typedef enum
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
18 {
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
19 /* These for vertical boxes */
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
20 GNT_ALIGN_LEFT,
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
21 GNT_ALIGN_RIGHT,
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
22
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
23 GNT_ALIGN_MID,
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
24
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
25 /* These for horizontal boxes */
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
26 GNT_ALIGN_TOP,
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
27 GNT_ALIGN_BOTTOM
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
28 } GntAlignment;
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
29
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 struct _GnBox
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32 GntWidget parent;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 gboolean vertical;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 gboolean homogeneous;
14015
e543d2109729 [gaim-migrate @ 16501]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
36 gboolean fill;
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37 GList *list; /* List of widgets */
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38
13958
bd1c3bb3f33d [gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13940
diff changeset
39 GntWidget *active;
13915
15a38b312abe [gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
40 int pad; /* Number of spaces to use between widgets */
14001
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
41 GntAlignment alignment; /* How are the widgets going to be aligned? */
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43 char *title;
13969
0541f389442e [gaim-migrate @ 16402]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13958
diff changeset
44 GList *focus; /* List of widgets to cycle focus (only valid for parent boxes) */
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 void (*gnt_reserved1)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 void (*gnt_reserved2)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 void (*gnt_reserved3)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49 void (*gnt_reserved4)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 };
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 struct _GnBoxClass
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53 {
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
54 GntWidgetClass parent;
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 void (*gnt_reserved1)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57 void (*gnt_reserved2)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 void (*gnt_reserved3)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59 void (*gnt_reserved4)(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60 };
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 G_BEGIN_DECLS
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64 GType gnt_box_get_gtype(void);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
66 #define gnt_vbox_new(homo) gnt_box_new(homo, TRUE)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
67 #define gnt_hbox_new(homo) gnt_box_new(homo, FALSE)
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
68
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69 GntWidget *gnt_box_new(gboolean homo, gboolean vert);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
71 void gnt_box_add_widget(GntBox *box, GntWidget *widget);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
72
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
73 void gnt_box_set_title(GntBox *box, const char *title);
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
74
13915
15a38b312abe [gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
75 void gnt_box_set_pad(GntBox *box, int pad);
15a38b312abe [gaim-migrate @ 16312]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13852
diff changeset
76
13922
7195a6fe2416 [gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13915
diff changeset
77 void gnt_box_set_toplevel(GntBox *box, gboolean set);
7195a6fe2416 [gaim-migrate @ 16321]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13915
diff changeset
78
13940
26ed45b11483 [gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13922
diff changeset
79 void gnt_box_sync_children(GntBox *box);
26ed45b11483 [gaim-migrate @ 16355]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13922
diff changeset
80
14001
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
81 void gnt_box_set_alignment(GntBox *box, GntAlignment alignment);
11d92cc7db68 [gaim-migrate @ 16470]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13969
diff changeset
82
14005
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
83 void gnt_box_remove(GntBox *box, GntWidget *widget); /* XXX: does NOT destroy widget */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
84
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
85 void gnt_box_remove_all(GntBox *box); /* Removes AND destroys all the widgets in it */
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
86
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
87 void gnt_box_readjust(GntBox *box);
198d1658b390 [gaim-migrate @ 16480]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14001
diff changeset
88
14015
e543d2109729 [gaim-migrate @ 16501]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
89 void gnt_box_set_fill(GntBox *box, gboolean fill);
e543d2109729 [gaim-migrate @ 16501]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14005
diff changeset
90
14103
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14015
diff changeset
91 void gnt_box_move_focus(GntBox *box, int dir); /* +1 to move forward, -1 for backward */
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14015
diff changeset
92
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14015
diff changeset
93 void gnt_box_give_focus_to_child(GntBox *box, GntWidget *widget);
bcac61d40461 [gaim-migrate @ 16647]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 14015
diff changeset
94
13852
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
95 G_END_DECLS
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
96
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 #endif /* GNT_BOX_H */
1d3ae9f34d42 [gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98

mercurial