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
#define             IANJUTA_DOCUMENT_MANAGER_ERROR
#define             IANJUTA_DOCUMENT_MANAGER_CURRENT_DOCUMENT
                    IAnjutaDocumentManager;
                    IAnjutaDocumentManagerIface;
enum                IAnjutaDocumentManagerError;
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);
void                ianjuta_document_manager_add_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GError **err);
IAnjutaDocument*    ianjuta_document_manager_find_document_with_file
                                                        (IAnjutaDocumentManager *obj,
                                                         GFile *file,
                                                         GError **err);
IAnjutaDocument*    ianjuta_document_manager_get_current_document
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);
GList*              ianjuta_document_manager_get_doc_widgets
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);
GFile*              ianjuta_document_manager_get_file   (IAnjutaDocumentManager *obj,
                                                         const gchar *filename,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_goto_file_line
                                                        (IAnjutaDocumentManager *obj,
                                                         GFile *file,
                                                         gint lineno,
                                                         GError **err);
IAnjutaEditor*      ianjuta_document_manager_goto_file_line_mark
                                                        (IAnjutaDocumentManager *obj,
                                                         GFile *file,
                                                         gint lineno,
                                                         gboolean mark,
                                                         GError **err);
gboolean            ianjuta_document_manager_remove_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         gboolean save_before,
                                                         GError **err);
void                ianjuta_document_manager_set_current_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GError **err);
void                ianjuta_document_manager_set_message_area
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GtkWidget *message_area,
                                                         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())


IANJUTA_DOCUMENT_MANAGER_ERROR

#define IANJUTA_DOCUMENT_MANAGER_ERROR ianjuta_document_manager_error_quark()


IANJUTA_DOCUMENT_MANAGER_CURRENT_DOCUMENT

#define	IANJUTA_DOCUMENT_MANAGER_CURRENT_DOCUMENT	"document_manager_current_document"

Anjuta shell value set by document manager to the current document


IAnjutaDocumentManager

typedef struct _IAnjutaDocumentManager IAnjutaDocumentManager;


IAnjutaDocumentManagerIface

typedef struct {
	GTypeInterface g_iface;
	

	void (*add_bookmark) (IAnjutaDocumentManager *obj, GFile* file,  gint line, GError **err);
	IAnjutaEditor* (*add_buffer) (IAnjutaDocumentManager *obj, const gchar *name,  const gchar* content, GError **err);
	void (*add_document) (IAnjutaDocumentManager *obj, IAnjutaDocument* document, GError **err);
	IAnjutaDocument* (*find_document_with_file) (IAnjutaDocumentManager *obj, GFile* file, GError **err);
	IAnjutaDocument* (*get_current_document) (IAnjutaDocumentManager *obj, GError **err);
	GList* (*get_doc_widgets) (IAnjutaDocumentManager *obj, GError **err);
	GFile* (*get_file) (IAnjutaDocumentManager *obj, const gchar *filename, GError **err);
	IAnjutaEditor* (*goto_file_line) (IAnjutaDocumentManager *obj, GFile* file,  gint lineno, GError **err);
	IAnjutaEditor* (*goto_file_line_mark) (IAnjutaDocumentManager *obj, GFile* file,  gint lineno,  gboolean mark, GError **err);
	gboolean (*remove_document) (IAnjutaDocumentManager *obj, IAnjutaDocument *document,  gboolean save_before, GError **err);
	void (*set_current_document) (IAnjutaDocumentManager *obj, IAnjutaDocument *document, GError **err);
	void (*set_message_area) (IAnjutaDocumentManager *obj, IAnjutaDocument *document,  GtkWidget *message_area, GError **err);
} IAnjutaDocumentManagerIface;


enum IAnjutaDocumentManagerError

typedef enum {
	IANJUTA_DOCUMENT_MANAGER_DOESNT_EXIST
} IAnjutaDocumentManagerError;


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_add_document ()

void                ianjuta_document_manager_add_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GError **err);

Adds a document to the document manager. This will open a new Notebook tab and show the document there

obj :

Self

document :

the document to add

err :

Error propagation and reporting.

ianjuta_document_manager_find_document_with_file ()

IAnjutaDocument*    ianjuta_document_manager_find_document_with_file
                                                        (IAnjutaDocumentManager *obj,
                                                         GFile *file,
                                                         GError **err);

Finds the document that has the file loaded. Only the editor that matches the file will be searched.

obj :

Self

file :

The file to find.

err :

Error propagation and reporting.

Returns :

the document that corresponds to given file. NULL if there is no editor loaded with this file.

ianjuta_document_manager_get_current_document ()

IAnjutaDocument*    ianjuta_document_manager_get_current_document
                                                        (IAnjutaDocumentManager *obj,
                                                         GError **err);

Gets the current document.

obj :

Self

err :

Error propagation and reporting.

Returns :

the currently active document. NULL if none is there.

ianjuta_document_manager_get_doc_widgets ()

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

Gets a list of widgets for open documents. Each widget is a GTK_WIDGET(InjutaDocument*)

obj :

Self

err :

Error propagation and reporting.

Returns :

a list of widgets for all open documents The returned list (but not the data in the list) must be freed after use.

ianjuta_document_manager_get_file ()

GFile*              ianjuta_document_manager_get_file   (IAnjutaDocumentManager *obj,
                                                         const gchar *filename,
                                                         GError **err);

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

obj :

Self

filename :

short filename

err :

Error propagation and reporting.

Returns :

the GFile for the given short filename

ianjuta_document_manager_goto_file_line ()

IAnjutaEditor*      ianjuta_document_manager_goto_file_line
                                                        (IAnjutaDocumentManager *obj,
                                                         GFile *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 :

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,
                                                         GFile *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 :

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_document ()

gboolean            ianjuta_document_manager_remove_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         gboolean save_before,
                                                         GError **err);

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

obj :

Self

document :

Document to close.

save_before :

If true, saves the document before closing.

err :

Error propagation and reporting.

Returns :

TRUE if the document was removed, else FALSE.

ianjuta_document_manager_set_current_document ()

void                ianjuta_document_manager_set_current_document
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GError **err);

Sets the given document as current document.

obj :

Self

document :

the document to set as current.

err :

Error propagation and reporting.

ianjuta_document_manager_set_message_area ()

void                ianjuta_document_manager_set_message_area
                                                        (IAnjutaDocumentManager *obj,
                                                         IAnjutaDocument *document,
                                                         GtkWidget *message_area,
                                                         GError **err);

Sets the message area for the given document.

obj :

Self

document :

the document we change the message area.

message_area :

the widget to use as the message area.

err :

Error propagation and reporting.