IAnjutaDocumentManager

IAnjutaDocumentManager — Interface for plugin that manages all the editors

Stability Level

Unstable, unless otherwise indicated

Synopsis


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


#define             IANJUTA_TYPE_DOCUMENT_MANAGER_ERROR
enum                IAnjutaDocumentManagerError;
#define             IANJUTA_DOCUMENT_MANAGER_ERROR
                    IAnjutaDocumentManager;
                    IAnjutaDocumentManagerIface;
GQuark              ianjuta_document_manager_error_quark
                                                        (void);
GType               ianjuta_document_manager_get_type   (void);
IAnjutaEditor*      ianjuta_document_manager_add_buffer (IAnjutaDocumentManager *obj,
                                                         const gchar *name,
                                                         const gchar *content,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_find_editor_with_path
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file_path,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_get_current_editor
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);
GList*              ianjuta_document_manager_get_editors
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);
const gchar*        ianjuta_document_manager_get_full_filename
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_goto_file_line
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         gint lineno,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_goto_file_line_mark
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         gint lineno,
                                                         gboolean mark,
                                                         GError **err);
gboolean            ianjuta_document_manager_remove_buffer
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaEditor *editor,
                                                         gboolean save_before,
                                                         GError **err);
void                ianjuta_document_manager_set_current_editor
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaEditor *editor,
                                                         GError **err);

Object Hierarchy


  GInterface
   +----IAnjutaDocumentManager

Prerequisites

IAnjutaDocumentManager requires GObject.

Description

Details

IANJUTA_TYPE_DOCUMENT_MANAGER_ERROR

#define IANJUTA_TYPE_DOCUMENT_MANAGER_ERROR (ianjuta_document_manager_error_get_type())


enum IAnjutaDocumentManagerError

typedef enum {
	IANJUTA_DOCUMENT_MANAGER_DOESNT_EXIST
} IAnjutaDocumentManagerError;


IANJUTA_DOCUMENT_MANAGER_ERROR

#define IANJUTA_DOCUMENT_MANAGER_ERROR ianjuta_document_manager_error_quark()


IAnjutaDocumentManager

typedef struct _IAnjutaDocumentManager IAnjutaDocumentManager;


IAnjutaDocumentManagerIface

typedef struct {
	GTypeInterface g_iface;
	

	IAnjutaEditor* (*add_buffer) (IAnjutaDocumentManager *obj, const gchar *name,  const gchar* content, GError **err);
	IAnjutaEditor* (*find_editor_with_path) (IAnjutaDocumentManager *obj, const gchar *file_path, GError **err);
	IAnjutaEditor* (*get_current_editor) (IAnjutaDocumentManager *obj, GError **err);
	GList* (*get_editors) (IAnjutaDocumentManager *obj, GError **err);
	const gchar* (*get_full_filename) (IAnjutaDocumentManager *obj, const gchar *file, GError **err);
	IAnjutaEditor* (*goto_file_line) (IAnjutaDocumentManager *obj, const gchar *file,  gint lineno, GError **err);
	IAnjutaEditor* (*goto_file_line_mark) (IAnjutaDocumentManager *obj, const gchar *file,  gint lineno,  gboolean mark, GError **err);
	gboolean (*remove_buffer) (IAnjutaDocumentManager *obj, IAnjutaEditor *editor,  gboolean save_before, GError **err);
	void (*set_current_editor) (IAnjutaDocumentManager *obj, IAnjutaEditor *editor, GError **err);
} IAnjutaDocumentManagerIface;


ianjuta_document_manager_error_quark ()

GQuark              ianjuta_document_manager_error_quark
                                                        (void);

Returns :

ianjuta_document_manager_get_type ()

GType               ianjuta_document_manager_get_type   (void);

Returns :

ianjuta_document_manager_add_buffer ()

IAnjutaEditor*      ianjuta_document_manager_add_buffer (IAnjutaDocumentManager *obj,
                                                         const gchar *name,
                                                         const gchar *content,
                                                         GError **err);

Creates a new editor buffer of the given name and sets the given content as its initial content.

obj : Self
name : Name of the editor buffer.
content : Initial content of the buffer.
err : Error propagation and reporting.
Returns : the IAnjutaEditor instance that has been added.

ianjuta_document_manager_find_editor_with_path ()

IAnjutaEditor*      ianjuta_document_manager_find_editor_with_path
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file_path,
                                                         GError **err);

Finds the editor that has the file with path file_path loaded. Only the editor that matches the file path will be searched.

obj : Self
file_path : the file path.
err : Error propagation and reporting.
Returns : the editor that corresponds to given file path. NULL if there is no editor loaded with this file path.

ianjuta_document_manager_get_current_editor ()

IAnjutaEditor*      ianjuta_document_manager_get_current_editor
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);

Gets the current editor.

obj : Self
err : Error propagation and reporting.
Returns : the currently active editor. NULL if none is there.

ianjuta_document_manager_get_editors ()

GList*              ianjuta_document_manager_get_editors
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);

Gets the current list of editors.

obj : Self
err : Error propagation and reporting.
Returns : the list of current available editors. The returned list must be freed after use (not the editor objects in the list).

ianjuta_document_manager_get_full_filename ()

const gchar*        ianjuta_document_manager_get_full_filename
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         GError **err);

Given the short filename, finds the full path of the file, if the editor that has it loaded is found. If there is no editor that has this file opened, returns NULL.

obj : Self
file : short filename
err : Error propagation and reporting.
Returns : the full path of the file, if an editor is found for it.

ianjuta_document_manager_goto_file_line ()

IAnjutaEditor*      ianjuta_document_manager_goto_file_line
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         gint lineno,
                                                         GError **err);

Loads the given file if not loaded yet, set its editor as current editor and moves cursor to the given line in the editor.

obj : Self
file : the file to go to.
lineno : the line number in the file to go to.
err : Error propagation and reporting.
Returns : the editor where the mark has been put. NULL if none.

ianjuta_document_manager_goto_file_line_mark ()

IAnjutaEditor*      ianjuta_document_manager_goto_file_line_mark
                                                        (IAnjutaDocumentManager *obj,
                                                         const gchar *file,
                                                         gint lineno,
                                                         gboolean mark,
                                                         GError **err);

Loads the given file if not loaded yet, set its editor as current editor and moves cursor to the given line in the editor. Optionally also marks the line with line marker if mark is given TRUE.

obj : Self
file : the file to go to.
lineno : the line number in the file to go to.
mark : TRUE if the line should be marked with a marker.
err : Error propagation and reporting
Returns : the editor where the mark has been put. NULL if none.

ianjuta_document_manager_remove_buffer ()

gboolean            ianjuta_document_manager_remove_buffer
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaEditor *editor,
                                                         gboolean save_before,
                                                         GError **err);

Closes and removes the given editor buffer. If save_before is TRUE, also saves the editor before closing.

obj : Self
editor : Editor buffer to close.
save_before : If true, saves the editor before closing.
err : Error propagation and reporting.
Returns : TRUE if the editor was removed, else FALSE.

ianjuta_document_manager_set_current_editor ()

void                ianjuta_document_manager_set_current_editor
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaEditor *editor,
                                                         GError **err);

Sets the given editor as current editor.

obj : Self
editor : the editor to set as current.
err : Error propagation and reporting.