IAnjutaEditorAssist

IAnjutaEditorAssist — Editor assistance framework

Stability Level

Unstable, unless otherwise indicated

Synopsis


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


#define             IANJUTA_EDITOR_ASSIST_ERROR
gchar*              (*IAnjutaEditorAssistContextParser) (IAnjutaEditor *editor,
                                                         gint position);
                    IAnjutaEditorAssist;
                    IAnjutaEditorAssistIface;
GQuark              ianjuta_editor_assist_error_quark   (void);
void                ianjuta_editor_assist_add_trigger   (IAnjutaEditorAssist *obj,
                                                         const gchar *trigger,
                                                         IAnjutaEditorAssistContextParser context_parser,
                                                         GError **err);
GList*              ianjuta_editor_assist_get_suggestions
                                                        (IAnjutaEditorAssist *obj,
                                                         const gchar *context,
                                                         GError **err);
void                ianjuta_editor_assist_react         (IAnjutaEditorAssist *obj,
                                                         gint selection,
                                                         const gchar *completion,
                                                         GError **err);
void                ianjuta_editor_assist_remove_trigger
                                                        (IAnjutaEditorAssist *obj,
                                                         const gchar *trigger,
                                                         GError **err);
void                ianjuta_editor_assist_suggest       (IAnjutaEditorAssist *obj,
                                                         GList *choices,
                                                         int char_alignment,
                                                         GError **err);
void                ianjuta_editor_assist_tip           (IAnjutaEditorAssist *obj,
                                                         GList *tips,
                                                         gint char_alignment,
                                                         GError **err);

Object Hierarchy


  GInterface
   +----IAnjutaEditorAssist

Prerequisites

IAnjutaEditorAssist requires IAnjutaEditor and GObject.

Signals


  "assist-begin"                                   : Run Last
  "assist-canceled"                                : Run Last
  "assist-chosen"                                  : Run Last
  "assist-end"                                     : Run Last
  "assist-update"                                  : Run Last

Description

Details

IANJUTA_EDITOR_ASSIST_ERROR

#define IANJUTA_EDITOR_ASSIST_ERROR ianjuta_editor_assist_error_quark()


IAnjutaEditorAssistContextParser ()

gchar*              (*IAnjutaEditorAssistContextParser) (IAnjutaEditor *editor,
                                                         gint position);

editor :
position :
Returns :

IAnjutaEditorAssist

typedef struct _IAnjutaEditorAssist IAnjutaEditorAssist;


IAnjutaEditorAssistIface

typedef struct {
	IAnjutaEditorIface g_iface;
	
	/* Signal */
	void (*assist_begin) (IAnjutaEditorAssist *obj, const gchar *context,  const gchar* trigger);
	/* Signal */
	void (*assist_canceled) (IAnjutaEditorAssist *obj);
	/* Signal */
	void (*assist_chosen) (IAnjutaEditorAssist *obj, gint selection);
	/* Signal */
	void (*assist_end) (IAnjutaEditorAssist *obj);
	/* Signal */
	void (*assist_update) (IAnjutaEditorAssist *obj, const gchar *context);

	void (*add_trigger) (IAnjutaEditorAssist *obj, const gchar *trigger,  IAnjutaEditorAssistContextParser context_parser, GError **err);
	GList* (*get_suggestions) (IAnjutaEditorAssist *obj, const gchar *context, GError **err);
	void (*react) (IAnjutaEditorAssist *obj, gint selection,  const gchar *completion, GError **err);
	void (*remove_trigger) (IAnjutaEditorAssist *obj, const gchar *trigger, GError **err);
	void (*suggest) (IAnjutaEditorAssist *obj, GList* choices,  int char_alignment, GError **err);
	void (*tip) (IAnjutaEditorAssist *obj, GList* tips,  gint char_alignment, GError **err);
} IAnjutaEditorAssistIface;


ianjuta_editor_assist_error_quark ()

GQuark              ianjuta_editor_assist_error_quark   (void);

Returns :

ianjuta_editor_assist_add_trigger ()

void                ianjuta_editor_assist_add_trigger   (IAnjutaEditorAssist *obj,
                                                         const gchar *trigger,
                                                         IAnjutaEditorAssistContextParser context_parser,
                                                         GError **err);

Add the given character sequence as a trigger for begining assist. context_parser is a callback to use to retrieve the context when the trigger happens.

By default there is always a trigger for aphanumeric characters with default context_parser picking up the word just before the carat.

obj : Self
trigger : trigger character sequence
context_parser : Callback used to parse the context.
err : Error propagation and reporting

ianjuta_editor_assist_get_suggestions ()

GList*              ianjuta_editor_assist_get_suggestions
                                                        (IAnjutaEditorAssist *obj,
                                                         const gchar *context,
                                                         GError **err);

Usually the editor might have some suggestions to make for a context. For example in a simple word completion context. If the editor has no suggestions to make, it returns NULL.

Returns: A list of suggestions for the given context or NULL if there is nothing to suggest.

obj : Self
context : The context for the suggestions.
err : Error propagation and reporting
Returns : A list of dynamically allocated strings. The whole list, including the the strings should be freed when done.

ianjuta_editor_assist_react ()

void                ianjuta_editor_assist_react         (IAnjutaEditorAssist *obj,
                                                         gint selection,
                                                         const gchar *completion,
                                                         GError **err);

When a user makes a choice, the editor is requested to react to it. Usually the editor inserts it at the current carat position and end or update current assist context.

obj : Self
selection : The user selection index.
completion : corresponding completion.
err : Error propagation and reporting

ianjuta_editor_assist_remove_trigger ()

void                ianjuta_editor_assist_remove_trigger
                                                        (IAnjutaEditorAssist *obj,
                                                         const gchar *trigger,
                                                         GError **err);

obj :
trigger :
err :

ianjuta_editor_assist_suggest ()

void                ianjuta_editor_assist_suggest       (IAnjutaEditorAssist *obj,
                                                         GList *choices,
                                                         int char_alignment,
                                                         GError **err);

Suggest a list of choices to the user. The suggestions are viewed at char_alignment which should be the beginning of the completed word. If choices is NULL, and assist_end signal will occur

obj : Self
choices : list of choices.
char_alignment : Character alignment.
err : Error propagation and reporting

ianjuta_editor_assist_tip ()

void                ianjuta_editor_assist_tip           (IAnjutaEditorAssist *obj,
                                                         GList *tips,
                                                         gint char_alignment,
                                                         GError **err);

Show tips showing more information on current context. No user feedback is required when tips are shown. char_alignment indicates the position before which is the known context and after which are the suggestions. Usually the editor would use this to align the choices displayed such that the carat is just at this position when the choices are displayed.

obj : Self
tips : list of alternative tips.
char_alignment : Character alignment.
err : Error propagation and reporting

Signal Details

The "assist-begin" signal

void                user_function                      (IAnjutaEditorAssist *ianjutaeditorassist,
                                                        gchar               *arg1,
                                                        gchar               *arg2,
                                                        gpointer             user_data)                : Run Last

ianjutaeditorassist : the object which received the signal.
arg1 :
arg2 :
user_data : user data set when the signal handler was connected.

The "assist-canceled" signal

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

ianjutaeditorassist : the object which received the signal.
user_data : user data set when the signal handler was connected.

The "assist-chosen" signal

void                user_function                      (IAnjutaEditorAssist *ianjutaeditorassist,
                                                        gint                 arg1,
                                                        gpointer             user_data)                : Run Last

ianjutaeditorassist : the object which received the signal.
arg1 :
user_data : user data set when the signal handler was connected.

The "assist-end" signal

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

ianjutaeditorassist : the object which received the signal.
user_data : user data set when the signal handler was connected.

The "assist-update" signal

void                user_function                      (IAnjutaEditorAssist *ianjutaeditorassist,
                                                        gchar               *arg1,
                                                        gpointer             user_data)                : Run Last

ianjutaeditorassist : the object which received the signal.
arg1 :
user_data : user data set when the signal handler was connected.