## IAnjutaEditorAssist IAnjutaEditorAssist — Text editor assist interface |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

    #include <libanjuta/interfaces/ianjuta-editor-assist>

    #define             IANJUTA_EDITOR_ASSIST_ERROR
    struct              IAnjutaEditorAssistIface;
    struct              IAnjutaEditorAssistProposal;
    void                ianjuta_editor_assist_add           (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);
    GQuark              ianjuta_editor_assist_error_quark   (void);
    void                ianjuta_editor_assist_invoke        (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);
    void                ianjuta_editor_assist_proposals     (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GList *proposals,
                                                             const gchar *pre_word,
                                                             gboolean finished,
                                                             GError **err);
    void                ianjuta_editor_assist_remove        (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);

## Description

## Details

### IANJUTA_EDITOR_ASSIST_ERROR

    #define IANJUTA_EDITOR_ASSIST_ERROR ianjuta_editor_assist_error_quark()

### struct IAnjutaEditorAssistIface

    struct IAnjutaEditorAssistIface {
    	IAnjutaEditorIface g_iface;

    	/* Signal */
    	void (*cancelled) (IAnjutaEditorAssist *obj);

    	void (*add) (IAnjutaEditorAssist *obj, IAnjutaProvider* provider, GError **err);
    	void (*invoke) (IAnjutaEditorAssist *obj, IAnjutaProvider* provider, GError **err);
    	void (*proposals) (IAnjutaEditorAssist *obj, IAnjutaProvider* provider,  GList* proposals,  const gchar* pre_word,  gboolean finished, GError **err);
    	void (*remove) (IAnjutaEditorAssist *obj, IAnjutaProvider* provider, GError **err);
    };

### struct IAnjutaEditorAssistProposal

    struct IAnjutaEditorAssistProposal {
    	gchar* label;
    	gchar* markup;
    	gchar* info;
    	gchar* text;
    	GdkPixbuf* icon;
    	gpointer data;
    };

### ianjuta_editor_assist_add ()

    void                ianjuta_editor_assist_add           (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);

### ianjuta_editor_assist_error_quark ()

    GQuark              ianjuta_editor_assist_error_quark   (void);

### ianjuta_editor_assist_invoke ()

    void                ianjuta_editor_assist_invoke        (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);

### ianjuta_editor_assist_proposals ()

    void                ianjuta_editor_assist_proposals     (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GList *proposals,
                                                             const gchar *pre_word,
                                                             gboolean finished,
                                                             GError **err);

Add the list of proposals for the current population. You can add proposals async as long as the last call sets finished to TRUE. That is usually called by the IAnjutaProvider after it was triggered by `ianjuta_provider_populate()`

`obj` : | self
`provider` : | a IAnjutaProvider
`proposals` : | a list of IAnjutaProposals. [element-type IAnjutaEditorAssistProposal]
`pre_word` : | the word before the cursor
`finished` : | whether is was the last call in an async operation
`err` : | Error handling

### ianjuta_editor_assist_remove ()

    void                ianjuta_editor_assist_remove        (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GError **err);