Top |
Functions
void | (*EConfigFactoryFunc) () |
gboolean | (*EConfigCheckFunc) () |
void | (*EConfigItemsFunc) () |
GtkWidget | (*EConfigItemFactoryFunc) () |
EConfigFactory * | e_config_class_add_factory () |
EConfig * | e_config_construct () |
void | e_config_add_items () |
void | e_config_add_page_check () |
void | e_config_set_target () |
GtkWidget * | e_config_create_widget () |
void | e_config_target_changed () |
gboolean | e_config_page_check () |
void | e_config_abort () |
void | e_config_commit () |
gpointer | e_config_target_new () |
void | e_config_target_free () |
void | (*EConfigHookFunc) () |
void | (*EConfigHookItemFactoryFunc) () |
void | e_config_hook_class_add_target_map () |
Types and Values
enum | e_config_target_change_t |
enum | e_config_t |
struct | EConfigItem |
struct | EConfigTarget |
typedef | EConfigHookTargetMap |
typedef | EConfigHookTargetMask |
struct | EConfigHookItemFactoryData |
struct | EConfigHookPageCheckData |
struct | EConfigHookGroup |
struct | EConfigHookClass |
EConfigFactory |
Functions
EConfigCheckFunc ()
gboolean (*EConfigCheckFunc) (EConfig *config
,const gchar *pageid
,gpointer data
);
EConfigItemFactoryFunc ()
GtkWidget (*EConfigItemFactoryFunc) (EConfig *config
,EConfigItem *item
,GtkWidget *parent
,GtkWidget *old
,gint position
,gpointer data
);
e_config_class_add_factory ()
EConfigFactory * e_config_class_add_factory (EConfigClass *klass
,const gchar *id
,EConfigFactoryFunc func
,gpointer user_data
);
Add a config factory which will be called to add_items()
any
extra items's if wants to, to the current Config window.
TODO: Make the id a pattern?
e_config_construct ()
EConfig * e_config_construct (EConfig *config
,const gchar *id
);
Used by implementing classes to initialise base parameters.
e_config_add_items ()
void e_config_add_items (EConfig *config
,GSList *items
,EConfigItemsFunc freefunc
,gpointer data
);
Add new EConfigItems to the configuration window. Nothing will be done with them until the widget is built.
TODO: perhaps commit and abort should just be signals.
e_config_add_page_check ()
void e_config_add_page_check (EConfig *config
,const gchar *pageid
,EConfigCheckFunc func
,gpointer data
);
Add a page-checking function callback. It will be called to validate the
data in the given page or pages. If pageid
is NULL then it will be called
to validate every page, or the whole configuration window.
In the latter case, the pageid in the callback will be either the specific page being checked, or NULL when the whole config window is being checked.
The page check function is used to validate input before allowing the assistant to continue or the notebook to close.
e_config_set_target ()
void e_config_set_target (EConfig *config
,EConfigTarget *target
);
Sets the target object for the config window. Generally the target
is set only once, and will supply its own "changed" signal which
can be used to drive the modal. This is a virtual method so that
the implementing class can connect to the changed signal and
initiate a e_config_target_changed()
call where appropriate.
e_config_create_widget ()
GtkWidget *
e_config_create_widget (EConfig *config
);
Create the GtkNotebook described by config
.
This object will be self-driving, but will not close itself once complete.
Unless reffed otherwise, the management object config
will be
finalized when the widget is.
e_config_target_changed ()
void e_config_target_changed (EConfig *config
,e_config_target_change_t how
);
Indicate that the target has changed. This may be called by the
self-aware target itself, or by the driving code. If how
is
E_CONFIG_TARGET_CHANGED_REBUILD
, then the entire configuration
widget may be recreated based on the changed target.
This is used to sensitise Assistant next/back buttons and the Apply button for the Notebook mode.
e_config_page_check ()
gboolean e_config_page_check (EConfig *config
,const gchar *pageid
);
Check that a given page is complete. If pageid
is NULL, then check
the whole config. No check is made that the page actually exists.
e_config_abort ()
void
e_config_abort (EConfig *config
);
Signify that the stateful configuration changes must be discarded to all listeners. This is used by self-driven assistant or notebook, or may be used by code using the widget directly.
e_config_commit ()
void
e_config_commit (EConfig *config
);
Signify that the stateful configuration changes should be saved. This is used by the self-driven assistant or notebook, or may be used by code driving the widget directly.
e_config_target_new ()
gpointer e_config_target_new (EConfig *config
,gint type
,gsize size
);
Allocate a new config target suitable for this class. Implementing classes will define the actual content of the target.
e_config_target_free ()
void e_config_target_free (EConfig *config
,gpointer target
);
Free a target. The implementing class can override this method to free custom targets.
EConfigHookItemFactoryFunc ()
void (*EConfigHookItemFactoryFunc) (EPlugin *plugin
,EConfigHookItemFactoryData *data
);
e_config_hook_class_add_target_map ()
void e_config_hook_class_add_target_map (EConfigHookClass *hook_class
,const EConfigHookTargetMap *map
);
hook_class
: The dervied EConfigHook class.
map
: A map used to describe a single EConfigTarget type for this class.
Add a targe tmap to a concrete derived class of EConfig. The target map enumates the target types available for the implenting class.
Types and Values
struct EConfigItem
struct EConfigItem { enum _e_config_t type; gchar *path; /* absolute path, must sort * ascii-lexographically into the right spot */ gchar *label; EConfigItemFactoryFunc factory; gpointer user_data; };
struct EConfigTarget
struct EConfigTarget { struct _EConfig *config; GtkWidget *widget; /* used if you need a parent toplevel, if available */ guint32 type; /* implementation fields follow, depends on window type */ };
struct EConfigHookItemFactoryData
struct EConfigHookItemFactoryData { EConfig *config; EConfigItem *item; EConfigTarget *target; GtkWidget *parent; GtkWidget *old; gint position; };
struct EConfigHookPageCheckData
struct EConfigHookPageCheckData { EConfig *config; EConfigTarget *target; const gchar *pageid; };
struct EConfigHookGroup
struct EConfigHookGroup { struct _EConfigHook *hook; /* parent pointer */ gchar *id; /* target menu id for these config items */ gint target_type; /* target type of this group */ GSList *items; /* items to add to group */ gchar *check; /* validate handler, if set */ gchar *commit; /* commit handler, if set */ gchar *abort; /* abort handler, if set */ };
struct EConfigHookClass
struct EConfigHookClass { EPluginHookClass hook_class; /* EConfigHookTargetMap by .type */ GHashTable *target_map; /* the config class these configs's belong to */ EConfigClass *config_class; };
This is an abstract class defining the plugin hook point for configuration windows.
Members
Superclass. |
||
GHashTable * |
A table of EConfigHookTargetMap structures describing the possible target types supported by this class. |
|
The EConfig derived class that this hook implementation drives. |