Top | ![]() |
![]() |
![]() |
![]() |
void | (*BonoboUISyncStateFn) () |
GtkWidget * | (*BonoboUISyncBuildFn) () |
BonoboUISync * | bonobo_ui_sync_construct () |
gboolean | bonobo_ui_sync_is_recursive () |
gboolean | bonobo_ui_sync_has_widgets () |
void | bonobo_ui_sync_remove_root () |
void | bonobo_ui_sync_update_root () |
void | bonobo_ui_sync_state () |
void | bonobo_ui_sync_state_placeholder () |
GtkWidget * | bonobo_ui_sync_build () |
GtkWidget * | bonobo_ui_sync_build_placeholder () |
gboolean | bonobo_ui_sync_ignore_widget () |
GList * | bonobo_ui_sync_get_widgets () |
void | bonobo_ui_sync_stamp_root () |
gboolean | bonobo_ui_sync_can_handle () |
GtkWidget * | bonobo_ui_sync_get_attached () |
void | bonobo_ui_sync_state_update () |
gboolean | bonobo_ui_sync_do_show_hide () |
GtkWidget * | bonobo_ui_sync_wrap_widget () |
GType | bonobo_ui_sync_keys_get_type () |
GType | bonobo_ui_sync_menu_get_type () |
GType | bonobo_ui_sync_status_get_type () |
GType | bonobo_ui_sync_toolbar_get_type () |
void (*BonoboUISyncStateFn) (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,GtkWidget *widget
,GtkWidget *parent
);
GtkWidget * (*BonoboUISyncBuildFn) (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,int *pos
,GtkWidget *parent
);
BonoboUISync * bonobo_ui_sync_construct (BonoboUISync *sync
,BonoboUIEngine *engine
,gboolean is_recursive
,gboolean has_widgets
);
Used to construct a new synchronizer object
void bonobo_ui_sync_remove_root (BonoboUISync *sync
,BonoboUINode *root
);
This is called when a 'root' or toplevel node is removed that this synchronizer deals with. eg. in the toolbar case, this might trigger hiding an associated dock item.
void bonobo_ui_sync_update_root (BonoboUISync *sync
,BonoboUINode *root
);
This flags the fact that a toplevel node has changed and is used primarily by non-recursive handlers, such as the keybinding sync method.
void bonobo_ui_sync_state (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,GtkWidget *widget
,GtkWidget *parent
);
This method is used to synchronize the state of a node
with that of a widget
, by ensuring the pertainant
attributes are reflected in the widget view.
void bonobo_ui_sync_state_placeholder (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,GtkWidget *widget
,GtkWidget *parent
);
This synchronizes the state of a placeholder, there is a default implementation for this method.
GtkWidget * bonobo_ui_sync_build (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,int *pos
,GtkWidget *parent
);
This function causes a child widget to be build that matches
node
's attributes. This should then be inserted by into
parent
's associated widget at position pos
in the container.
GtkWidget * bonobo_ui_sync_build_placeholder (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,int *pos
,GtkWidget *parent
);
As for bonobo_ui_sync_build but for placeholders
gboolean bonobo_ui_sync_ignore_widget (BonoboUISync *sync
,GtkWidget *widget
);
GList * bonobo_ui_sync_get_widgets (BonoboUISync *sync
,BonoboUINode *node
);
This method is used to obtain a sensibly ordered list
of child widgets of the container associated with node
.
Essentialy this does something like gtk_container_children
but preserving the visible order of the widgets in the list.
void
bonobo_ui_sync_stamp_root (BonoboUISync *sync
);
This asks the synchronizer to stamp all its associated root widget containers into the XML tree.
gboolean bonobo_ui_sync_can_handle (BonoboUISync *sync
,BonoboUINode *node
);
This is used to determine which, of multiple synchronizers can be used to deal with a specific node type. Each synchronizer deals with different types of node.
GtkWidget * bonobo_ui_sync_get_attached (BonoboUISync *sync
,GtkWidget *widget
,BonoboUINode *node
);
This is used to get an 'attached' widget - some widgets have associated widgets that are coupled in strange ways - eg. GtkMenuItem <-> GtkMenuShell It is neccessary to store the GtkContainer item of these couples in the XML tree, since then we can do things more genericaly and cleanly.
void bonobo_ui_sync_state_update (BonoboUISync *sync
,GtkWidget *widget
,const char *new_state
);
This is used to synchronize state with a stateful widget, eg. when a "state" attribute is set, this is not reflected in the normal 'state-sync' process, but occurs later with a set of state_updates to avoid re-enterancy problems.
gboolean bonobo_ui_sync_do_show_hide (BonoboUISync *sync
,BonoboUINode *node
,BonoboUINode *cmd_node
,GtkWidget *widget
);
This is a helper function that applies the hidden attribute
from either the node
or fallback to the cmd_node
to the
widget
.
GtkWidget * bonobo_ui_sync_wrap_widget (BonoboUISync *sync
,GtkWidget *custom_widget
);
typedef struct { GObjectClass parent_class; BonoboUISyncStateFn sync_state; BonoboUISyncStateFn sync_state_placeholder; BonoboUISyncBuildFn build; BonoboUISyncBuildFn build_placeholder; void (*update_root) (BonoboUISync *sync, BonoboUINode *root); void (*remove_root) (BonoboUISync *sync, BonoboUINode *root); GList *(*get_widgets) (BonoboUISync *sync, BonoboUINode *node); void (*state_update) (BonoboUISync *sync, GtkWidget *widget, const char *new_state); gboolean (*ignore_widget) (BonoboUISync *sync, GtkWidget *widget); gboolean (*can_handle) (BonoboUISync *sync, BonoboUINode *node); void (*stamp_root) (BonoboUISync *sync); GtkWidget *(*get_attached) (BonoboUISync *sync, GtkWidget *widget, BonoboUINode *node); GtkWidget *(*wrap_widget) (BonoboUISync *sync, GtkWidget *custom_widget); } BonoboUISyncClass;