![]() |
![]() |
![]() |
Evolution Shell Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Prerequisites | Known Implementations |
#include <e-util/e-extensible.h> EExtensible; void e_extensible_load_extensions (EExtensible *extensible); GList * e_extensible_list_extensions (EExtensible *extensible, GType extension_type);
EExtensible is implemented by EShellView, EShellSidebar, EShellSwitcher, EShellTaskbar, EShellSearchbar, EShell, EShellWindow and EShellContent.
EExtension objects can be tacked on to any GObject instance that implements the EExtensible interface. A GObject type can be made extensible in two steps:
1. Add the EExtensible interface when registering the GType. There are no methods to implement.
#include <e-util/e-extensible.h> G_DEFINE_TYPE_WITH_CODE ( ECustomWidget, e_custom_widget, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL))
2. Load extensions for the class at some point during GObject initialization. Generally this should be done toward the end of the initialization code, so extensions get a fully initialized object to work with.
static void e_custom_widget_init (ECustomWidget *widget) { Initialization code goes here... e_extensible_load_extensions (E_EXTENSIBLE (widget)); }
void e_extensible_load_extensions (EExtensible *extensible);
Creates an instance of all instantiable subtypes of EExtension which
target the class of extensible
. The lifetimes of these newly created
EExtension objects are bound to extensible
such that they are finalized
when extensible
is finalized.
|
an EExtensible |
GList * e_extensible_list_extensions (EExtensible *extensible, GType extension_type);
Returns a list of EExtension objects bound to extensible
whose
types are ancestors of extension_type
. For a complete list of
extension objects bound to extensible
, pass E_TYPE_EXTENSION
.
The list itself should be freed with g_list_free()
. The extension
objects are owned by extensible
and should not be unreferenced.
|
an EExtensible |
|
the type of extensions to list |
Returns : |
a list of extension objects derived from extension_type
|