GtkSourceCompletion

GtkSourceCompletion — This object adds a generic popup and mechanism to add completion providers to GtkSourceView

Synopsis



                    GtkSourceCompletionPrivate;
                    GtkSourceCompletionItem;
                    GtkSourceCompletion;
GtkSourceCompletion* gtk_source_completion_new          (GtkTextView *view);
void                gtk_source_completion_trigger_event (GtkSourceCompletion *completion,
                                                         const gchar *event_name,
                                                         gpointer event_data);
void                gtk_source_completion_register_provider
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionProvider *provider);
void                gtk_source_completion_unregister_provider
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionProvider *provider);
GtkTextView*        gtk_source_completion_get_view      (GtkSourceCompletion *completion);
gboolean            gtk_source_completion_is_visible    (GtkSourceCompletion *completion);
GtkSourceCompletion* gtk_source_completion_get_from_view
                                                        (GtkTextView *view);
GtkSourceCompletionProvider* gtk_source_completion_get_provider
                                                        (GtkSourceCompletion *completion,
                                                         const gchar *provider_name);
void                gtk_source_completion_register_trigger
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionTrigger *trigger);
void                gtk_source_completion_unregister_trigger
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionTrigger *trigger);
GtkSourceCompletionTrigger* gtk_source_completion_get_trigger
                                                        (GtkSourceCompletion *completion,
                                                         const gchar *trigger_name);
void                gtk_source_completion_activate      (GtkSourceCompletion *completion);
void                gtk_source_completion_deactivate    (GtkSourceCompletion *completion);
void                gtk_source_completion_finish_completion
                                                        (GtkSourceCompletion *completion);
GtkSourceCompletionItem* gtk_source_completion_item_new (int id,
                                                         const gchar *name,
                                                         const GdkPixbuf *icon,
                                                         int priority,
                                                         gpointer user_data);
gchar*              gtk_source_completion_item_get_name (GtkSourceCompletionItem *item);
gchar*              gtk_source_completion_item_get_user_data
                                                        (GtkSourceCompletionItem *item);

Object Hierarchy

  GObject
   +----GtkSourceCompletion

Description

You must create a new GtkSourceCompletion and assing it the GtkSourceView. With the GtkSourceCompletion you have the core of the completion support. Now you need connect an event (see events) and register one or more providers. The events will say to GtkSourceCompletion when it must call the providers to get the data to be shown in the completion popup.

Details

GtkSourceCompletionPrivate

typedef struct _GtkSourceCompletionPrivate GtkSourceCompletionPrivate;


GtkSourceCompletionItem

typedef struct _GtkSourceCompletionItem GtkSourceCompletionItem;


GtkSourceCompletion

typedef struct _GtkSourceCompletion GtkSourceCompletion;


gtk_source_completion_new ()

GtkSourceCompletion* gtk_source_completion_new          (GtkTextView *view);

Creates a new GtkSourceCompletion asociated to a GtkSourceView

view : a GtkSourceView.
Returns : value: A new GtkSourceCompletion

gtk_source_completion_trigger_event ()

void                gtk_source_completion_trigger_event (GtkSourceCompletion *completion,
                                                         const gchar *event_name,
                                                         gpointer event_data);

Calling this function, the completion call to all providers to get data and, if they return data, it shows the completion to the user.

completion : the GtkSourceCompletion
event_name :
event_data : This object will be passed to the providers to give them some special information of the event

gtk_source_completion_register_provider ()

void                gtk_source_completion_register_provider
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionProvider *provider);

This function register the provider into the completion and reference it. When an event is raised, completion call to the provider to get the data. When the user select an item, it call the provider to tell it this action and the provider do that it want (normally inserts some text)

completion : the GtkSourceCompletion
provider : The GtkSourceCompletionProvider.

gtk_source_completion_unregister_provider ()

void                gtk_source_completion_unregister_provider
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionProvider *provider);

This function unregister the provider.

completion : the GtkSourceCompletion
provider : The GtkSourceCompletionProvider.

gtk_source_completion_get_view ()

GtkTextView*        gtk_source_completion_get_view      (GtkSourceCompletion *completion);

completion : the GtkSourceCompletion
Returns : The internal GtkTextView of this completion.

gtk_source_completion_is_visible ()

gboolean            gtk_source_completion_is_visible    (GtkSourceCompletion *completion);

completion : The GtkSourceCompletion
Returns : TRUE if the completion popup is visible.

gtk_source_completion_get_from_view ()

GtkSourceCompletion* gtk_source_completion_get_from_view
                                                        (GtkTextView *view);

view : the GtkSourceView
Returns : NULL if the GtkTextView haven't got an associated GtkSourceCompletion or the GtkSourceCompletion of the GtkTextView

gtk_source_completion_get_provider ()

GtkSourceCompletionProvider* gtk_source_completion_get_provider
                                                        (GtkSourceCompletion *completion,
                                                         const gchar *provider_name);

completion : The GtkSourceCompletion
provider_name : Provider's name that you are looking for.
Returns : The provider if the completion has this provider registered or NULL if not.

gtk_source_completion_register_trigger ()

void                gtk_source_completion_register_trigger
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionTrigger *trigger);

This function register a completion trigger. If the completion is actived then this method activate the trigger. This function reference the trigger object

completion : The GtkSourceCompletion
trigger : The trigger to register

gtk_source_completion_unregister_trigger ()

void                gtk_source_completion_unregister_trigger
                                                        (GtkSourceCompletion *completion,
                                                         GtkSourceCompletionTrigger *trigger);

This function unregister a completion trigger. If the completion is actived then this method deactivate the trigger. This function reference the trigger object

completion : The GtkSourceCompletion
trigger : The trigger to unregister

gtk_source_completion_get_trigger ()

GtkSourceCompletionTrigger* gtk_source_completion_get_trigger
                                                        (GtkSourceCompletion *completion,
                                                         const gchar *trigger_name);

This function return the trigger with this name.

completion : The GtkSourceCompletion
trigger_name : The trigger name to get
Returns : The trigger or NULL if not exists

gtk_source_completion_activate ()

void                gtk_source_completion_activate      (GtkSourceCompletion *completion);

This function activate the completion mechanism. The completion connects all signals and activate all registered triggers.

completion : The GtkSourceCompletion

gtk_source_completion_deactivate ()

void                gtk_source_completion_deactivate    (GtkSourceCompletion *completion);

This function deactivate the completion mechanism. The completion disconnect all signals and deactivate all registered triggers.

completion : The GtkSourceCompletion

gtk_source_completion_finish_completion ()

void                gtk_source_completion_finish_completion
                                                        (GtkSourceCompletion *completion);

This function finish the completion if it is active (visible).

completion : The GtkSourceCompletion

gtk_source_completion_item_new ()

GtkSourceCompletionItem* gtk_source_completion_item_new (int id,
                                                         const gchar *name,
                                                         const GdkPixbuf *icon,
                                                         int priority,
                                                         gpointer user_data);

id : An id for identify this item
name : Item name that will be shown in the completion popup
icon : Item icon that will be shown in the completion popup
priority : The item priority. Items with high priority will be shown first in the completion popup
user_data : User data used by the providers
Returns : The new GtkSourceCompletionItem

gtk_source_completion_item_get_name ()

gchar*              gtk_source_completion_item_get_name (GtkSourceCompletionItem *item);

item : The GtkSourceCompletionItem
Returns : The item name

gtk_source_completion_item_get_user_data ()

gchar*              gtk_source_completion_item_get_user_data
                                                        (GtkSourceCompletionItem *item);

item : The GtkSourceCompletionItem
Returns : the user data of this item