X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-window-mgr.h;h=0f0bcf023088e830c79fb3da6316fd3a2109cb5b;hp=3f697b980f8179b831784b5f9867f659a48520ea;hb=f68f57e6aa049365b5be5b3a072145403445c97f;hpb=71ee02905c83ab1eb1f0b4236384cdcc9ed2c8a3 diff --git a/src/widgets/modest-window-mgr.h b/src/widgets/modest-window-mgr.h index 3f697b9..0f0bcf0 100644 --- a/src/widgets/modest-window-mgr.h +++ b/src/widgets/modest-window-mgr.h @@ -38,7 +38,7 @@ G_BEGIN_DECLS /* convenience macros */ #define MODEST_TYPE_WINDOW_MGR (modest_window_mgr_get_type()) #define MODEST_WINDOW_MGR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_WINDOW_MGR,ModestWindowMgr)) -#define MODEST_WINDOW_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_WINDOW_MGR,GObject)) +#define MODEST_WINDOW_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_WINDOW_MGR,ModestWindowMgrClass)) #define MODEST_IS_WINDOW_MGR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_WINDOW_MGR)) #define MODEST_IS_WINDOW_MGR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),MODEST_TYPE_WINDOW_MGR)) #define MODEST_WINDOW_MGR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj),MODEST_TYPE_WINDOW_MGR,ModestWindowMgrClass)) @@ -53,6 +53,32 @@ struct _ModestWindowMgr { struct _ModestWindowMgrClass { GObjectClass parent_class; + /* Virtuals */ + gboolean (*register_window) (ModestWindowMgr *self, + ModestWindow *window, + ModestWindow *parent); + void (*unregister_window) (ModestWindowMgr *self, + ModestWindow *window); + void (*set_fullscreen_mode) (ModestWindowMgr *self, + gboolean on); + gboolean (*get_fullscreen_mode) (ModestWindowMgr *self); + void (*show_toolbars) (ModestWindowMgr *self, + GType window_type, + gboolean show_toolbars, + gboolean fullscreen); + ModestWindow * (*get_main_window) (ModestWindowMgr *self, + gboolean show); + gboolean (*close_all_windows) (ModestWindowMgr *self); + GtkWindow * (*get_modal) (ModestWindowMgr *self); + void (*set_modal) (ModestWindowMgr *self, + GtkWindow *window, + GtkWindow *parent); + gboolean (*find_registered_header) (ModestWindowMgr *self, + TnyHeader *header, + ModestWindow **win); + GList * (*get_window_list) (ModestWindowMgr *self); + + /* Signals */ void (*window_list_empty) (ModestWindowMgr *self); }; @@ -73,8 +99,9 @@ ModestWindowMgr* modest_window_mgr_new (void); * Registers a new window in the window manager. The window manager * will keep a reference. **/ -void modest_window_mgr_register_window (ModestWindowMgr *self, - ModestWindow *window); +gboolean modest_window_mgr_register_window (ModestWindowMgr *self, + ModestWindow *window, + ModestWindow *parent); /** * modest_window_mgr_unregister_window: @@ -87,7 +114,21 @@ void modest_window_mgr_register_window (ModestWindowMgr *self, void modest_window_mgr_unregister_window (ModestWindowMgr *self, ModestWindow *window); +/** + * modest_window_mgr_register_banner: + * @self: a #ModestWindowMgr + * + * Increase the count of pending banners in the window manager + */ +void modest_window_mgr_register_banner (ModestWindowMgr *self); +/** + * modest_window_mgr_unregister_banner: + * @self: a #ModestWindowMgr + * + * Decrease the count of pending banners in the window manager + */ +void modest_window_mgr_unregister_banner (ModestWindowMgr *self); /** * modest_window_mgr_set_fullscreen_mode: @@ -131,7 +172,7 @@ void modest_window_mgr_show_toolbars (ModestWindowMgr *self, /** * modest_window_mgr_get_main_window: * @self: a #ModestWindowMgr - * @create: if TRUE, create the main window if it was not yet existing + * @show: if TRUE, create the main window and show it if it was not existing. * * get the main window, and depending on @create, create one if it does not exist yet * @@ -139,7 +180,14 @@ void modest_window_mgr_show_toolbars (ModestWindowMgr *self, * did not yet exist **/ ModestWindow* modest_window_mgr_get_main_window (ModestWindowMgr *self, - gboolean create); + gboolean show); + +/** + * modest_window_mgr_set_main_window: + * @self: a #ModestWindowMgr + * @main_win: a #ModestMainWindow + */ +void modest_window_mgr_set_main_window (ModestWindowMgr *self, ModestWindow *main_win); /** @@ -171,10 +219,10 @@ GtkWindow* modest_window_mgr_get_modal (ModestWindowMgr *self); * * set the modal dialog; set it to NULL after destroying the dialog * - * Returns: the modal dialog just set **/ void modest_window_mgr_set_modal (ModestWindowMgr *self, - GtkWindow *window); + GtkWindow *window, + GtkWindow *parent); /** * modest_window_mgr_prevent_hibernation_while_window_is_shown: @@ -233,14 +281,24 @@ modest_window_mgr_get_help_id (ModestWindowMgr *self, GtkWindow *win); gboolean modest_window_mgr_find_registered_header (ModestWindowMgr *self, TnyHeader *header, ModestWindow **win); +/** + * modest_window_mgr_get_window_list: + * @self: a #ModestWindowMgr + * + * get the list of windows registered in window mgr. + * + * Returns: a #GList, that caller should free + */ +GList *modest_window_mgr_get_window_list (ModestWindowMgr *self); /** * modest_window_mgr_close_all_windows * @self: a #ModestWindowMgr * - * Close all registered windows. + * Close all registered windows. If failed (for example because + * one confirmation dialog rejected the operation), return %FALSE **/ -void modest_window_mgr_close_all_windows (ModestWindowMgr *self); +gboolean modest_window_mgr_close_all_windows (ModestWindowMgr *self); /** * modest_window_mgr_register_header @@ -294,11 +352,33 @@ void modest_window_mgr_save_state_for_all_windows (ModestWindowMgr *self); * modest_window_mgr_num_windows: * @self: a #ModestWindowMgr * - * Gets the number of already registered windows + * Gets the number of already registered windows, and pending banners * - * Returns: the number of already registered windows + * Returns: the number of already registered windows, and pending banners **/ gint modest_window_mgr_num_windows (ModestWindowMgr *self); + +/** + * modest_window_mgr_get_msg_view_window: + * @self: a #ModestWindowMgr + * + * obtain a cached #ModestMsgViewWindow if available, or construct a new + * one. + * + * Returns: a #ModestMsgViewWindow + */ +GtkWidget * modest_window_mgr_get_msg_view_window (ModestWindowMgr *self); + +/** + * modest_window_mgr_get_msg_edit_window: + * @self: a #ModestWindowMgr + * + * obtain a cached #ModestMsgEditWindow if available, or construct a new + * one. + * + * Returns: a #ModestMsgEditWindow + */ +GtkWidget * modest_window_mgr_get_msg_edit_window (ModestWindowMgr *self); G_END_DECLS