![]() |
![]() |
![]() |
GtkSourceCompletion Reference Manual | ![]() |
---|---|---|---|---|
GtkSourceCompletionGtkSourceCompletion — This object adds a generic popup and mechanism to add completion providers to GtkSourceView |
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);
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.
GtkSourceCompletion* gtk_source_completion_new (GtkTextView *view);
Creates a new GtkSourceCompletion asociated to a GtkSourceView
view : |
a GtkSourceView. |
Returns : | value: A new GtkSourceCompletion |
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 |
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. |
void gtk_source_completion_unregister_provider (GtkSourceCompletion *completion, GtkSourceCompletionProvider *provider);
This function unregister the provider.
completion : |
the GtkSourceCompletion |
provider : |
The GtkSourceCompletionProvider. |
GtkTextView* gtk_source_completion_get_view (GtkSourceCompletion *completion);
completion : |
the GtkSourceCompletion |
Returns : | The internal GtkTextView of this completion. |
gboolean gtk_source_completion_is_visible (GtkSourceCompletion *completion);
completion : |
The GtkSourceCompletion |
Returns : | TRUE if the completion popup is visible. |
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 |
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. |
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 |
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 |
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 |
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 |
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 |
void gtk_source_completion_finish_completion (GtkSourceCompletion *completion);
This function finish the completion if it is active (visible).
completion : |
The GtkSourceCompletion |
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 |
gchar* gtk_source_completion_item_get_name (GtkSourceCompletionItem *item);
item : |
The GtkSourceCompletionItem |
Returns : | The item name |
gchar* gtk_source_completion_item_get_user_data (GtkSourceCompletionItem *item);
item : |
The GtkSourceCompletionItem |
Returns : | the user data of this item |