## IAnjutaEditorAssist IAnjutaEditorAssist — Text editor assist interface |

## Stability Level

Unstable, unless otherwise indicated

## Synopsis

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

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

## Object Hierarchy

      GInterface
       +----IAnjutaEditorAssist

## Prerequisites

IAnjutaEditorAssist requires IAnjutaEditor and GObject.

## Signals

      "cancelled"                                      : Run Last

## Description

## Details

### IANJUTA_EDITOR_ASSIST_ERROR

    #define IANJUTA_EDITOR_ASSIST_ERROR ianjuta_editor_assist_error_quark()

### IAnjutaEditorAssist

    typedef struct _IAnjutaEditorAssist IAnjutaEditorAssist;

### IAnjutaEditorAssistIface

    typedef struct {
    	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,  gboolean finished, GError **err);
    	void (*remove) (IAnjutaEditorAssist *obj, IAnjutaProvider* provider, GError **err);
    } IAnjutaEditorAssistIface;

### IAnjutaEditorAssistProposal

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

### ianjuta_editor_assist_error_quark ()

    GQuark              ianjuta_editor_assist_error_quark   (void);

Returns : |

### ianjuta_editor_assist_add ()

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

`obj` : |
`provider` : |
`err` : |

### ianjuta_editor_assist_invoke ()

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

`obj` : |
`provider` : |
`err` : |

### ianjuta_editor_assist_proposals ()

    void                ianjuta_editor_assist_proposals     (IAnjutaEditorAssist *obj,
                                                             IAnjutaProvider *provider,
                                                             GList *proposals,
                                                             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]
`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);

`obj` : |
`provider` : |
`err` : |

## Signal Details

### The `"cancelled"` signal

    void                user_function                      (IAnjutaEditorAssist *obj,
                                                            gpointer             user_data)      : Run Last

This signal is emitted when the autocompletion is cancelled due to various reasons. The provider should avoid to call `ianjuta_editor_assist_proposals()` after this signal.

`obj` : | Self
`user_data` : | user data set when the signal handler was connected.