1 /* modest-window-mgr.h */
2 /* insert (c)/licensing information) */
4 #ifndef __MODEST_WINDOW_MGR_H__
5 #define __MODEST_WINDOW_MGR_H__
7 #include <glib-object.h>
8 /* other include files */
12 /* convenience macros */
13 #define MODEST_TYPE_WINDOW_MGR (modest_window_mgr_get_type())
14 #define MODEST_WINDOW_MGR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_WINDOW_MGR,ModestWindowMgr))
15 #define MODEST_WINDOW_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_WINDOW_MGR,GObject))
16 #define MODEST_IS_WINDOW_MGR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_WINDOW_MGR))
17 #define MODEST_IS_WINDOW_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),MODEST_TYPE_WINDOW_MGR))
18 #define MODEST_WINDOW_MGR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),MODEST_TYPE_WINDOW_MGR,ModestWindowMgrClass))
21 MODEST_MAIN_WINDOW, /* the main window */
22 MODEST_EDIT_WINDOW, /* a window to edit a mail */
23 MODEST_ACCOUNT_WINDOW, /* a window to edit account information */
24 MODEST_VIEW_WINDOW /* a window to view mails */
26 typedef guint ModestWindowType;
29 typedef struct _ModestOpenWindow ModestOpenWindow;
30 struct _ModestOpenWindow {
32 ModestWindowType type;
37 typedef struct _ModestWindowMgr ModestWindowMgr;
38 typedef struct _ModestWindowMgrClass ModestWindowMgrClass;
40 struct _ModestWindowMgr {
44 struct _ModestWindowMgrClass {
45 GObjectClass parent_class;
47 void (* last_window_closed) (ModestWindowMgr* obj);
50 /* member functions */
51 GType modest_window_mgr_get_type (void) G_GNUC_CONST;
53 /* typical parameter-less _new function */
54 /* if this is a kind of GtkWidget, it should probably return at GtkWidget*, */
55 /* otherwise probably a GObject*. */
56 GObject* modest_window_mgr_new (void);
58 gboolean modest_window_mgr_register (ModestWindowMgr *self, GObject *win,
59 ModestWindowType type, guint window_id);
60 gboolean modest_window_mgr_unregister (ModestWindowMgr *self, GObject *win);
61 GObject* modest_window_mgr_find_by_type (ModestWindowMgr *self, ModestWindowType type);
62 GObject* modest_window_mgr_find_by_id (ModestWindowMgr *self, gint window_id);
66 #endif /* __MODEST_WINDOW_MGR_H__ */