Top |
You must implement this interface to provide proposals to GtkSourceCompletion
The provider may be displayed in the completion window as a header row, showing
its name and optionally an icon.
The icon may be specified as a GdkPixbuf, as an icon name or as a GIcon by
implementing the corresponding get function. At most one of those get functions
should return a value different from NULL
, if they all return NULL
no icon
will be used.
gchar *
gtk_source_completion_provider_get_name
(GtkSourceCompletionProvider *provider
);
Get the name of the provider. This should be a translatable name for
display to the user. For example: _("Document word completion provider"). The
returned string must be freed with g_free()
.
GdkPixbuf *
gtk_source_completion_provider_get_icon
(GtkSourceCompletionProvider *provider
);
Get the GdkPixbuf for the icon of the provider
.
The icon to be used for the provider,
or NULL
if the provider does not have a special icon.
[nullable][transfer none]
const gchar *
gtk_source_completion_provider_get_icon_name
(GtkSourceCompletionProvider *provider
);
Gets the icon name of provider
.
The icon name to be used for the provider,
or NULL
if the provider does not have a special icon.
[nullable][transfer none]
Since: 3.18
GIcon *
gtk_source_completion_provider_get_gicon
(GtkSourceCompletionProvider *provider
);
Gets the GIcon for the icon of provider
.
The icon to be used for the provider,
or NULL
if the provider does not have a special icon.
[nullable][transfer none]
Since: 3.18
void gtk_source_completion_provider_populate (GtkSourceCompletionProvider *provider
,GtkSourceCompletionContext *context
);
Populate context
with proposals from provider
added with the
gtk_source_completion_context_add_proposals()
function.
GtkSourceCompletionActivation
gtk_source_completion_provider_get_activation
(GtkSourceCompletionProvider *provider
);
Get with what kind of activation the provider should be activated.
gboolean gtk_source_completion_provider_match (GtkSourceCompletionProvider *provider
,GtkSourceCompletionContext *context
);
Get whether the provider match the context of completion detailed in
context
.
GtkWidget * gtk_source_completion_provider_get_info_widget (GtkSourceCompletionProvider *provider
,GtkSourceCompletionProposal *proposal
);
Get a customized info widget to show extra information of a proposal.
This allows for customized widgets on a proposal basis, although in general
providers will have the same custom widget for all their proposals and
proposal
can be ignored. The implementation of this function is optional.
If this function is not implemented, the default widget is a GtkLabel. The
return value of gtk_source_completion_proposal_get_info()
is used as the
content of the GtkLabel.
If implemented, gtk_source_completion_provider_update_info()
must also be implemented.
a custom GtkWidget to show extra
information about proposal
, or NULL
if the provider does not have a special
info widget.
[nullable][transfer none]
void gtk_source_completion_provider_update_info (GtkSourceCompletionProvider *provider
,GtkSourceCompletionProposal *proposal
,GtkSourceCompletionInfo *info
);
Update extra information shown in info
for proposal
.
This function must be implemented when
gtk_source_completion_provider_get_info_widget()
is implemented.
gboolean gtk_source_completion_provider_get_start_iter (GtkSourceCompletionProvider *provider
,GtkSourceCompletionContext *context
,GtkSourceCompletionProposal *proposal
,GtkTextIter *iter
);
Get the GtkTextIter at which the completion for proposal
starts. When
implemented, this information is used to position the completion window
accordingly when a proposal is selected in the completion window. The
proposal
text inside the completion window is aligned on iter
.
If this function is not implemented, the word boundary is taken to position
the completion window. See gtk_source_completion_provider_activate_proposal()
for an explanation on the word boundaries.
When the proposal
is activated, the default handler uses iter
as the start
of the word to replace. See
gtk_source_completion_provider_activate_proposal()
for more information.
gboolean gtk_source_completion_provider_activate_proposal (GtkSourceCompletionProvider *provider
,GtkSourceCompletionProposal *proposal
,GtkTextIter *iter
);
Activate proposal
at iter
. When this functions returns FALSE
, the default
activation of proposal
will take place which replaces the word at iter
with the text of proposal
(see gtk_source_completion_proposal_get_text()
).
Here is how the default activation selects the boundaries of the word to
replace. The end of the word is iter
. For the start of the word, it depends
on whether a start iter is defined for proposal
(see
gtk_source_completion_provider_get_start_iter()
). If a start iter is defined,
the start of the word is the start iter. Else, the word (as long as possible)
will contain only alphanumerical and the "_" characters.
gint
gtk_source_completion_provider_get_interactive_delay
(GtkSourceCompletionProvider *provider
);
Get the delay in milliseconds before starting interactive completion for this provider. A value of -1 indicates to use the default value as set by the “auto-complete-delay” property.
gint
gtk_source_completion_provider_get_priority
(GtkSourceCompletionProvider *provider
);
Get the provider priority. The priority determines the order in which proposals appear in the completion popup. Higher priorities are sorted before lower priorities. The default priority is 0.
typedef struct _GtkSourceCompletionProvider GtkSourceCompletionProvider;
struct GtkSourceCompletionProviderIface { GTypeInterface g_iface; gchar *(*get_name) (GtkSourceCompletionProvider *provider); GdkPixbuf *(*get_icon) (GtkSourceCompletionProvider *provider); const gchar *(*get_icon_name) (GtkSourceCompletionProvider *provider); GIcon *(*get_gicon) (GtkSourceCompletionProvider *provider); void (*populate) (GtkSourceCompletionProvider *provider, GtkSourceCompletionContext *context); gboolean (*match) (GtkSourceCompletionProvider *provider, GtkSourceCompletionContext *context); GtkSourceCompletionActivation (*get_activation) (GtkSourceCompletionProvider *provider); GtkWidget *(*get_info_widget) (GtkSourceCompletionProvider *provider, GtkSourceCompletionProposal *proposal); void (*update_info) (GtkSourceCompletionProvider *provider, GtkSourceCompletionProposal *proposal, GtkSourceCompletionInfo *info); gboolean (*get_start_iter) (GtkSourceCompletionProvider *provider, GtkSourceCompletionContext *context, GtkSourceCompletionProposal *proposal, GtkTextIter *iter); gboolean (*activate_proposal) (GtkSourceCompletionProvider *provider, GtkSourceCompletionProposal *proposal, GtkTextIter *iter); gint (*get_interactive_delay) (GtkSourceCompletionProvider *provider); gint (*get_priority) (GtkSourceCompletionProvider *provider); };
The virtual function table for GtkSourceCompletionProvider.
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |
||
The virtual function pointer for |