[Window] Add all properties
[tilda-gobject.git] / tilda-window.h
1 #ifndef TILDA_WINDOW_H
2 #define TILDA_WINDOW_H
3
4 /*
5 Object Creation Order
6 ========================================
7 tilda_window_class_init()
8 tilda_window_constructor() BEGINS
9         tilda_window_instance_init()
10         tilda_window_set_property() FOR EACH CTOR PROPERTY USED
11 tilda_window_constructor() COMPLETES
12
13 ... usage ...
14
15 g_object_unref(...)
16 tilda_window_dispose()
17 tilda_window_finalize()
18 */
19
20 #include <glib.h>
21 #include <gtk/gtk.h>
22
23 #include "tilda-terminal.h"
24
25 #define TILDA_TYPE_WINDOW                               (tilda_window_get_type())
26 #define TILDA_WINDOW(obj)                               (G_TYPE_CHECK_INSTANCE_CAST ((obj), TILDA_TYPE_WINDOW, TildaWindow))
27 #define TILDA_WINDOW_CLASS(klass)               (G_TYPE_CHECK_CLASS_CAST ((klass), TILDA_TYPE_WINDOW, TildaWindowClass))
28 #define TILDA_IS_WINDOW(obj)                    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TILDA_TYPE_WINDOW))
29 #define TILDA_IS_WINDOW_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE ((klass), TILDA_TYPE_WINDOW))
30 #define TILDA_WINDOW_GET_CLASS(obj)             (G_TYPE_INSTANCE_GET_CLASS ((obj), TILDA_TYPE_WINDOW, TildaWindowClass))
31
32 typedef struct _TildaWindow TildaWindow;
33 typedef struct _TildaWindowClass TildaWindowClass;
34
35 struct _TildaWindow {
36         GObject parent;
37         gboolean dispose_has_run;
38
39         /* Instance Members */
40         GtkWidget *window;
41         GtkWidget *notebook;
42         GPtrArray *terms;
43
44         gint number;
45
46         gchar *key;
47
48         gint min_height;
49         gint min_width;
50         gint max_height;
51         gint max_width;
52         gint x_position;
53         gint y_position;
54
55         // FIXME: these really should be enum's if possible
56         gint tab_position;
57         gint animation_orientation;
58         gint animation_delay;
59         gint scrollbar_position;
60
61         gboolean keep_above;
62         gboolean show_in_taskbar;
63         gboolean pinned;
64         gboolean hidden_at_start;
65         gboolean centered_horizontally;
66         gboolean centered_vertically;
67         gboolean have_real_transparency;
68 };
69
70 struct _TildaWindowClass {
71         GObjectClass parent;
72
73         /* class members */
74 };
75
76 /* used by TILDA_TYPE_WINDOW */
77 GType tilda_window_get_type (void);
78
79 /* API */
80 gboolean tilda_window_remove_term (TildaWindow *tw, gint terminal_number);
81
82 #endif /* TILDA_WINDOW_H */
83
84 /* vim: set ts=4 sts=4 sw=4 noet tw=112: */
85