## IAnjutaMessageManager IAnjutaMessageManager — The plugin that managers all message views |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-message-manager.h>

    #define             IANJUTA_TYPE_MESSAGE_MANAGER_ERROR
    #define             IANJUTA_MESSAGE_MANAGER_ERROR
                        IAnjutaMessageManager;
                        IAnjutaMessageManagerIface;
    enum                IAnjutaMessageManagerError;
    GQuark              ianjuta_message_manager_error_quark (void);
    GType               ianjuta_message_manager_get_type    (void);
    IAnjutaMessageView* ianjuta_message_manager_add_view    (IAnjutaMessageManager *obj,
                                                             const gchar *name,
                                                             const gchar *icon,
                                                             GError **err);
    GList*              ianjuta_message_manager_get_all_views
                                                            (IAnjutaMessageManager *obj,
                                                             GError **err);
    IAnjutaMessageView* ianjuta_message_manager_get_current_view
                                                            (IAnjutaMessageManager *obj,
                                                             GError **err);
    IAnjutaMessageView* ianjuta_message_manager_get_view_by_name
                                                            (IAnjutaMessageManager *obj,
                                                             const gchar *name,
                                                             GError **err);
    void                ianjuta_message_manager_remove_view (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             GError **err);
    void                ianjuta_message_manager_set_current_view
                                                            (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             GError **err);
    void                ianjuta_message_manager_set_view_title
                                                            (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             const gchar *title,
                                                             GError **err);

## Object Hierarchy

      GInterface
       +----IAnjutaMessageManager

## Prerequisites

IAnjutaMessageManager requires GObject.

## Description

## Details

### IANJUTA_TYPE_MESSAGE_MANAGER_ERROR

    #define IANJUTA_TYPE_MESSAGE_MANAGER_ERROR (ianjuta_message_manager_error_get_type())

### IANJUTA_MESSAGE_MANAGER_ERROR

    #define IANJUTA_MESSAGE_MANAGER_ERROR ianjuta_message_manager_error_quark()

### IAnjutaMessageManager

    typedef struct _IAnjutaMessageManager IAnjutaMessageManager;

### IAnjutaMessageManagerIface

    typedef struct {
    	GTypeInterface g_iface;

    	IAnjutaMessageView* (*add_view) (IAnjutaMessageManager *obj, const gchar *name,  const gchar *icon, GError **err);
    	GList* (*get_all_views) (IAnjutaMessageManager *obj, GError **err);
    	IAnjutaMessageView* (*get_current_view) (IAnjutaMessageManager *obj, GError **err);
    	IAnjutaMessageView* (*get_view_by_name) (IAnjutaMessageManager *obj, const gchar *name, GError **err);
    	void (*remove_view) (IAnjutaMessageManager *obj, IAnjutaMessageView *view, GError **err);
    	void (*set_current_view) (IAnjutaMessageManager *obj, IAnjutaMessageView *view, GError **err);
    	void (*set_view_icon) (IAnjutaMessageManager *obj, IAnjutaMessageView *view,  GdkPixbufAnimation *icon, GError **err);
    	void (*set_view_icon_from_stock) (IAnjutaMessageManager *obj, IAnjutaMessageView *view,  const gchar *icon, GError **err);
    	void (*set_view_title) (IAnjutaMessageManager *obj, IAnjutaMessageView *view,  const gchar *title, GError **err);
    } IAnjutaMessageManagerIface;

### enum IAnjutaMessageManagerError

    typedef enum {
    	IANJUTA_MESSAGE_MANAGER_DOESNT_EXIST
    } IAnjutaMessageManagerError;

### ianjuta_message_manager_error_quark ()

    GQuark              ianjuta_message_manager_error_quark (void);

Returns : |

### ianjuta_message_manager_get_type ()

    GType               ianjuta_message_manager_get_type    (void);

Returns : |

### ianjuta_message_manager_add_view ()

    IAnjutaMessageView* ianjuta_message_manager_add_view    (IAnjutaMessageManager *obj,
                                                             const gchar *name,
                                                             const gchar *icon,
                                                             GError **err);

Adds a new view to the message-manager

`obj` : | Self
`name` : | Name/Title of the new view
`icon` : | Path to an icon or ""
`err` : | Error propagation and reporting
Returns : | The new message-view

### ianjuta_message_manager_get_all_views ()

    GList*              ianjuta_message_manager_get_all_views
                                                            (IAnjutaMessageManager *obj,
                                                             GError **err);

Get all message-views

`obj` : | Self
`err` : | Error propagation and reporting
Returns : | A GList* of all views. You must not manipulate the list.

### ianjuta_message_manager_get_current_view ()

    IAnjutaMessageView* ianjuta_message_manager_get_current_view
                                                            (IAnjutaMessageManager *obj,
                                                             GError **err);

Get the view with is currently on top of the notebook or NULL if the message-manager is empty.

`obj` : | Self
`err` : | Error propagation and reporting
Returns : | Current view; IAnjutaMessageView object. NULL, if there is no views.

### ianjuta_message_manager_get_view_by_name ()

    IAnjutaMessageView* ianjuta_message_manager_get_view_by_name
                                                            (IAnjutaMessageManager *obj,
                                                             const gchar *name,
                                                             GError **err);

Get the view with the given name or NULL if it does not exist.

`obj` : | Self
`name` : | Name/Title of the view
`err` : | Error propagation and reporting
Returns : | The message-view or NULL

### ianjuta_message_manager_remove_view ()

    void                ianjuta_message_manager_remove_view (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             GError **err);

Remove view from the message-manager. The view will become invalid.

`obj` : | Self
`view` : | The view to remove
`err` : | Error propagation and reporting

### ianjuta_message_manager_set_current_view ()

    void                ianjuta_message_manager_set_current_view
                                                            (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             GError **err);

Set view to be on top of the notebook.

`obj` : | Self
`view` : | A message view
`err` : | Error propagation and reporting

### ianjuta_message_manager_set_view_title ()

    void                ianjuta_message_manager_set_view_title
                                                            (IAnjutaMessageManager *obj,
                                                             IAnjutaMessageView *view,
                                                             const gchar *title,
                                                             GError **err);

Sets the title of view.

`obj` : | Self
`view` : | A message view
`title` : | Sets the title of view.
`err` : | Error propagation and reporting