<HTML ><HEAD ><TITLE >BonoboUIEngine</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.64 "><LINK REL="HOME" TITLE="Bonobo API Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="Bonobo UI" HREF="bonobo-ui.html"><LINK REL="PREVIOUS" TITLE="bonobo-ui-node" HREF="bonobo-bonobo-ui-node.html"><LINK REL="NEXT" TITLE="BonoboUISync" HREF="bonobo-bonobo-ui-sync.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Bonobo API Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="bonobo-bonobo-ui-node.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="bonobo-ui.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="bonobo-bonobo-ui-sync.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="BONOBO-BONOBO-UI-ENGINE" >BonoboUIEngine</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN15272" ></A ><H2 >Name</H2 >BonoboUIEngine -- The guts of the UI handler</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN15275" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > struct <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINE-STRUCT" >BonoboUIEngine</A >; typedef <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINECLASS" >BonoboUIEngineClass</A >; enum <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A >; <GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-CONSTRUCT" >bonobo_ui_engine_construct</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); <GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NEW" >bonobo_ui_engine_new</A > (void); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-CONFIG-SET-PATH" >bonobo_ui_engine_config_set_path</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path); const char* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-CONFIG-GET-PATH" >bonobo_ui_engine_config_get_path</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-ADD-SYNC" >bonobo_ui_engine_add_sync</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > *sync); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-REMOVE-SYNC" >bonobo_ui_engine_remove_sync</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > *sync); <GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-SYNCS" >bonobo_ui_engine_get_syncs</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-UPDATE" >bonobo_ui_engine_update</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-UPDATE-NODE" >bonobo_ui_engine_update_node</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-QUEUE-UPDATE" >bonobo_ui_engine_queue_update</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *cmd_node); <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-BUILD-CONTROL" >bonobo_ui_engine_build_control</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-WIDGET-GET-NODE" >bonobo_ui_engine_widget_get_node</A > (<GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-WIDGET-SET-NODE" >bonobo_ui_engine_widget_set_node</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-PRUNE-WIDGET-INFO" >bonobo_ui_engine_prune_widget_info</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > save_custom); <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-PATH" >bonobo_ui_engine_get_path</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-DIRTY-TREE" >bonobo_ui_engine_dirty_tree</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-CLEAN-TREE" >bonobo_ui_engine_clean_tree</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-DUMP" >bonobo_ui_engine_dump</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="FILE-CAPS" >FILE</GTKDOCLINK > *out, const char *msg); <GTKDOCLINK HREF="CORBA-OBJECT" >CORBA_Object</GTKDOCLINK > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NODE-GET-OBJECT" >bonobo_ui_engine_node_get_object</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NODE-IS-DIRTY" >bonobo_ui_engine_node_is_dirty</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NODE-GET-WIDGET" >bonobo_ui_engine_node_get_widget</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); const char* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NODE-GET-ID" >bonobo_ui_engine_node_get_id</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-CMD-NODE" >bonobo_ui_engine_get_cmd_node</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *from_node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-NODE-SET-DIRTY" >bonobo_ui_engine_node_set_dirty</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > dirty); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-STAMP-CUSTOM" >bonobo_ui_engine_stamp_custom</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-STAMP-ROOT" >bonobo_ui_engine_stamp_root</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-ADD-HINT" >bonobo_ui_engine_add_hint</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *str); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-REMOVE-HINT" >bonobo_ui_engine_remove_hint</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-EMIT-VERB-ON" >bonobo_ui_engine_emit_verb_on</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-EMIT-EVENT-ON" >bonobo_ui_engine_emit_event_on</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, const char *state); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-EMIT-VERB-ON-W" >bonobo_ui_engine_emit_verb_on_w</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-EMIT-EVENT-ON-W" >bonobo_ui_engine_emit_event_on_w</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, const char *state); char* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-ATTR" >bonobo_ui_engine_get_attr</A > (<A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *cmd_node, const char *attr); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-WIDGET-ATTACH-NODE" >bonobo_ui_engine_widget_attach_node</A > (<GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-DEREGISTER-DEAD-COMPONENTS" >bonobo_ui_engine_deregister_dead_components</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-DEREGISTER-COMPONENT-BY-REF" >bonobo_ui_engine_deregister_component_by_ref</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > ref); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-DEREGISTER-COMPONENT" >bonobo_ui_engine_deregister_component</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-REGISTER-COMPONENT" >bonobo_ui_engine_register_component</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > component); <GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-COMPONENT-NAMES" >bonobo_ui_engine_get_component_names</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-GET-COMPONENT" >bonobo_ui_engine_get_component</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name); <GTKDOCLINK HREF="CORBA-CHAR" >CORBA_char</GTKDOCLINK >* <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-XML-GET" >bonobo_ui_engine_xml_get</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > node_only); <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-XML-NODE-EXISTS" >bonobo_ui_engine_xml_node_exists</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path); <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-XML-MERGE-TREE" >bonobo_ui_engine_xml_merge_tree</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *tree, const char *component); <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-XML-RM" >bonobo_ui_engine_xml_rm</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, const char *by_component); <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-OBJECT-SET" >bonobo_ui_engine_object_set</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > object, <GTKDOCLINK HREF="CORBA-ENVIRONMENT" >CORBA_Environment</GTKDOCLINK > *ev); <A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-OBJECT-GET" >bonobo_ui_engine_object_get</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > *object, <GTKDOCLINK HREF="CORBA-ENVIRONMENT" >CORBA_Environment</GTKDOCLINK > *ev); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-SET-UI-CONTAINER" >bonobo_ui_engine_set_ui_container</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-object.html#BONOBOOBJECT" >BonoboObject</A > *ui_container); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-FREEZE" >bonobo_ui_engine_freeze</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); void <A HREF="bonobo-bonobo-ui-engine.html#BONOBO-UI-ENGINE-THAW" >bonobo_ui_engine_thaw</A > (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine); </PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15435" ></A ><H2 >Object Hierarchy</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > <GTKDOCLINK HREF="GTKOBJECT" >GtkObject</GTKDOCLINK > +----BonoboUIEngine</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15439" ></A ><H2 >Signal Prototypes</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > "<A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINE-ADD-HINT" >add-hint</A >" void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *arg1, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data); "<A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINE-REMOVE-HINT" >remove-hint</A >" void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data); "<A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINE-EMIT-VERB-ON" >emit-verb-on</A >" void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > arg1, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data); "<A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIENGINE-EMIT-EVENT-ON" >emit-event-on</A >" void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > arg1, <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *arg2, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data);</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15458" ></A ><H2 >Description</H2 ><P >The Bonobo UI code as exposed through the <GTKDOCLINK HREF="BONOBOWINDOW" >BonoboWindow</GTKDOCLINK >, <GTKDOCLINK HREF="BONOBOUICOMPONENT" >BonoboUIComponent</GTKDOCLINK > and <A HREF="bonobo-bonobo-ui-container.html#BONOBOUICONTAINER" >BonoboUIContainer</A > API's use the BonoboUIEngine. The Engine effectively maintains a <GTKDOCLINK HREF="BONOBOUIXML" >BonoboUIXml</GTKDOCLINK > tree internaly, and a list of <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > synchronizers that, when the tree changes are used to re-sync the associated widgets with the XML model.</P ><P >The Engine can be tweaked by getting its pointer from an associated BonoboWindow eg. this can be useful for setting the configuration path. To allow a BonoboWindow to be configurable you need to do: <DIV CLASS="EXAMPLE" ><A NAME="AEN15467" ></A ><P ><B >Example 1. How to make your UI user configurable</B ></P ><TABLE BORDER="0" BGCOLOR="#D8F8D8" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >bonobo_ui_engine_config_set_path ( bonobo_window_get_ui_engine (win), "/my-application-name/UIConfig/kvps"); </PRE ></TD ></TR ></TABLE ></DIV > where "UIConfig/kvps" is some convenient path into your gnome_config file.</P ><P >Key value pairs (kvps) are stored in this, mangled into a comma delimited string and these are used to clobber the XML on merges, eg. <DIV CLASS="EXAMPLE" ><A NAME="AEN15471" ></A ><P ><B >Example 2. User configuration format</B ></P ><TABLE BORDER="0" BGCOLOR="#D8F8D8" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >[UIConfig] kvps=/Toolbar:look:both </PRE ></TD ></TR ></TABLE ></DIV > inside your ~/.gnome/my-application-name file, will ensure that whenever the item with path '/Toolbar' is modified the 'look="both"' attribute will be stamped onto it, effecively forcing a certain look.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15474" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN15476" ></A ><H3 ><A NAME="BONOBOUIENGINE-STRUCT" ></A >struct BonoboUIEngine</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >struct BonoboUIEngine;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15481" ></A ><H3 ><A NAME="BONOBOUIENGINECLASS" ></A >BonoboUIEngineClass</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef struct { GtkObjectClass parent_class; /* Signals */ void (*add_hint) (BonoboUIEngine *engine, const char *str); void (*remove_hint) (BonoboUIEngine *engine); void (*emit_verb_on) (BonoboUIEngine *engine, BonoboUINode *node); void (*emit_event_on) (BonoboUIEngine *engine, BonoboUINode *node, const char *state); } BonoboUIEngineClass;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15486" ></A ><H3 ><A NAME="BONOBOUIERROR" ></A >enum BonoboUIError</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >typedef enum { BONOBO_UI_ERROR_OK = 0, BONOBO_UI_ERROR_BAD_PARAM, BONOBO_UI_ERROR_INVALID_PATH, BONOBO_UI_ERROR_INVALID_XML } BonoboUIError;</PRE ></TD ></TR ></TABLE ><P ></P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15491" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-CONSTRUCT" ></A >bonobo_ui_engine_construct ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK >* bonobo_ui_engine_construct (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >Construct a new bonobo_ui_engine</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15500"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine.</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15505"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the constructed engine.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15510" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NEW" ></A >bonobo_ui_engine_new ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK >* bonobo_ui_engine_new (void);</PRE ></TD ></TR ></TABLE ><P >Create a new <GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > structure</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15519"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the new UI Engine.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15524" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-CONFIG-SET-PATH" ></A >bonobo_ui_engine_config_set_path ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_config_set_path (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15531"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P ></P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15536"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15541" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-CONFIG-GET-PATH" ></A >bonobo_ui_engine_config_get_path ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >const char* bonobo_ui_engine_config_get_path (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15548"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P ></P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15553"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > </P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15558" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-ADD-SYNC" ></A >bonobo_ui_engine_add_sync ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_add_sync (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > *sync);</PRE ></TD ></TR ></TABLE ><P >Add a <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > synchronizer to the engine</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15568"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the enginer</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15573"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >sync</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the synchronizer</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15578" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-REMOVE-SYNC" ></A >bonobo_ui_engine_remove_sync ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_remove_sync (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > *sync);</PRE ></TD ></TR ></TABLE ><P >Remove a specified <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > synchronizer from the engine</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15588"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15593"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >sync</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the sync</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15598" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-SYNCS" ></A >bonobo_ui_engine_get_syncs ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GSLIST" >GSList</GTKDOCLINK >* bonobo_ui_engine_get_syncs (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >Retrieve a list of available synchronizers.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15607"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15612"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > a GSList of <GTKDOCLINK HREF="BONOBOUISYNC" >BonoboUISync</GTKDOCLINK > s</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15618" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-UPDATE" ></A >bonobo_ui_engine_update ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_update (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >This function is called to update the entire UI model synchronizing any changes in it with the widget tree where neccessary</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15626"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15631" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-UPDATE-NODE" ></A >bonobo_ui_engine_update_node ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_update_node (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >This function is used to write recursive synchronizers and is intended only for internal / privilaged use.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15640"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15645"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node to start updating.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15650" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-QUEUE-UPDATE" ></A >bonobo_ui_engine_queue_update ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_queue_update (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *cmd_node);</PRE ></TD ></TR ></TABLE ><P >This function is used to queue a state update on <TT CLASS="PARAMETER" ><I >widget</I ></TT >, essentialy transfering any state from the XML model into the widget view. This is queued to avoid re-enterancy problems.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15662"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15667"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget to update later</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15672"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15677"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >cmd_node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the associated command's node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15682" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-BUILD-CONTROL" ></A >bonobo_ui_engine_build_control ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* bonobo_ui_engine_build_control (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >A helper function for synchronizers, this creates a control if possible from the node's associated object, stamps the node as containing a control and sets its widget.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15692"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15697"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the control node.</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15702"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > a Control's GtkWidget.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15707" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-WIDGET-GET-NODE" ></A >bonobo_ui_engine_widget_get_node ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* bonobo_ui_engine_widget_get_node (<GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget);</PRE ></TD ></TR ></TABLE ><P >accesses a widget's associated node.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15716"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15721"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > associated with this widget</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15727" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-WIDGET-SET-NODE" ></A >bonobo_ui_engine_widget_set_node ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_widget_set_node (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Used internaly to associate a widget with a node, some synchronisers need to be able to execute code on widget creation.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15737"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15742"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15747"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15752" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-PRUNE-WIDGET-INFO" ></A >bonobo_ui_engine_prune_widget_info ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_prune_widget_info (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > save_custom);</PRE ></TD ></TR ></TABLE ><P >This function destroys any widgets associated with <TT CLASS="PARAMETER" ><I >node</I ></TT > and all its children, if <TT CLASS="PARAMETER" ><I >save_custom</I ></TT >, any widget that is a custom widget ( such as a control ) will be preserved. All widgets flagged ROOT are preserved always.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15764"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15769"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15774"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >save_custom</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > whether to save custom widgets</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15779" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-PATH" ></A >bonobo_ui_engine_get_path ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* bonobo_ui_engine_get_path (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path);</PRE ></TD ></TR ></TABLE ><P >This routine gets a node from the internal XML tree pointed at by <TT CLASS="PARAMETER" ><I >path</I ></TT ></P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15789"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine.</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15794"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15799"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15804" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-DIRTY-TREE" ></A >bonobo_ui_engine_dirty_tree ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_dirty_tree (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Mark all the node's children as being dirty and needing a re-synch with their widget views.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15813"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15818"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15823" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-CLEAN-TREE" ></A >bonobo_ui_engine_clean_tree ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_clean_tree (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >This cleans the tree, marking the node and its children as not needing a re-synch with their widget views.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15832"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15837"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15842" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-DUMP" ></A >bonobo_ui_engine_dump ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_dump (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="FILE-CAPS" >FILE</GTKDOCLINK > *out, const char *msg);</PRE ></TD ></TR ></TABLE ><P >This is a debugging function mostly for internal and testing use, it dumps the XML tree, including the assoicated, and overridden nodes in a wierd hackish format to the <TT CLASS="PARAMETER" ><I >out</I ></TT > stream with the helpful <TT CLASS="PARAMETER" ><I >msg</I ></TT > prepended.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15853"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15858"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >out</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the FILE stream to dump to</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15863"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >msg</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > user visible message</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15868" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NODE-GET-OBJECT" ></A >bonobo_ui_engine_node_get_object ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="CORBA-OBJECT" >CORBA_Object</GTKDOCLINK > bonobo_ui_engine_node_get_object (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15878"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15883"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15888"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the CORBA_Object associated with a <TT CLASS="PARAMETER" ><I >node</I ></TT ></P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15894" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NODE-IS-DIRTY" ></A >bonobo_ui_engine_node_is_dirty ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > bonobo_ui_engine_node_is_dirty (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >accesses the node's dirty flag.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15904"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15909"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15914"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > whether the <TT CLASS="PARAMETER" ><I >node</I ></TT > is marked dirty</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15920" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NODE-GET-WIDGET" ></A >bonobo_ui_engine_node_get_widget ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* bonobo_ui_engine_node_get_widget (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Gets the widget associated with <TT CLASS="PARAMETER" ><I >node</I ></TT ></P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15931"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15936"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15941"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15946" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NODE-GET-ID" ></A >bonobo_ui_engine_node_get_id ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >const char* bonobo_ui_engine_node_get_id (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Each component has an associated textual id or name - see bonobo_ui_engine_register_component</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15955"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15960"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15965"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the component id associated with the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15970" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-CMD-NODE" ></A >bonobo_ui_engine_get_cmd_node ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A >* bonobo_ui_engine_get_cmd_node (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *from_node);</PRE ></TD ></TR ></TABLE ><P >This function seeks the command node associated with <TT CLASS="PARAMETER" ><I >from_node</I ></TT > in <TT CLASS="PARAMETER" ><I >engine</I ></TT > 's internal tree.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15982"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15987"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >from_node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN15992"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the command node or NULL</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15997" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-NODE-SET-DIRTY" ></A >bonobo_ui_engine_node_set_dirty ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_node_set_dirty (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > dirty);</PRE ></TD ></TR ></TABLE ><P >Set <TT CLASS="PARAMETER" ><I >node</I ></TT > s dirty bit to <TT CLASS="PARAMETER" ><I >dirty</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16009"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16014"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16019"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >dirty</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > whether the node should be dirty.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16024" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-STAMP-CUSTOM" ></A >bonobo_ui_engine_stamp_custom ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_stamp_custom (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Marks a node as containing a custom widget.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16033"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16038"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16043" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-STAMP-ROOT" ></A >bonobo_ui_engine_stamp_root ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_stamp_root (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget);</PRE ></TD ></TR ></TABLE ><P >This stamps <TT CLASS="PARAMETER" ><I >node</I ></TT > with <TT CLASS="PARAMETER" ><I >widget</I ></TT > which is marked as being a ROOT node, so the engine will never destroy it.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16055"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16060"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16065"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the root widget</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16070" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-ADD-HINT" ></A >bonobo_ui_engine_add_hint ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_add_hint (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *str);</PRE ></TD ></TR ></TABLE ><P >This fires the 'add_hint' signal.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16078"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16083"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >str</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the hint string</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16088" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-REMOVE-HINT" ></A >bonobo_ui_engine_remove_hint ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_remove_hint (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >This fires the 'remove_hint' signal</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16096"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16101" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-EMIT-VERB-ON" ></A >bonobo_ui_engine_emit_verb_on ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_emit_verb_on (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >This fires the 'emit_verb' signal</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16110"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16115"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16120" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-EMIT-EVENT-ON" ></A >bonobo_ui_engine_emit_event_on ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_emit_event_on (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, const char *state);</PRE ></TD ></TR ></TABLE ><P >This fires the 'emit_event_on' signal</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16129"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16134"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16139"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >state</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the new state of the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16144" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-EMIT-VERB-ON-W" ></A >bonobo_ui_engine_emit_verb_on_w ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_emit_verb_on_w (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget);</PRE ></TD ></TR ></TABLE ><P >This function looks up the node from <TT CLASS="PARAMETER" ><I >widget</I ></TT > and emits the 'emit_verb_on' signal on that node.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16154"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16159"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16164" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-EMIT-EVENT-ON-W" ></A >bonobo_ui_engine_emit_event_on_w ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_emit_event_on_w (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, const char *state);</PRE ></TD ></TR ></TABLE ><P >This function looks up the node from <TT CLASS="PARAMETER" ><I >widget</I ></TT > and emits the 'emit_event_on' signal on that node passint <TT CLASS="PARAMETER" ><I >state</I ></TT > as the new state.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16175"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16180"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16185"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >state</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the new state</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16190" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-ATTR" ></A >bonobo_ui_engine_get_attr ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >char* bonobo_ui_engine_get_attr (<A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *cmd_node, const char *attr);</PRE ></TD ></TR ></TABLE ><P >This function is used to get node attributes in many UI synchronizers, it first attempts to get the attribute from <TT CLASS="PARAMETER" ><I >node</I ></TT >, and if this fails falls back to <TT CLASS="PARAMETER" ><I >cmd_node</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16201"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16206"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >cmd_node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the command's node</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16211"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >attr</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the attribute name</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16216"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the attr or NULL if it doesn't exist.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16221" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-WIDGET-ATTACH-NODE" ></A >bonobo_ui_engine_widget_attach_node ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_widget_attach_node (<GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > *widget, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *node);</PRE ></TD ></TR ></TABLE ><P >Associate <TT CLASS="PARAMETER" ><I >node</I ></TT > with <TT CLASS="PARAMETER" ><I >widget</I ></TT ></P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16232"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >widget</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the widget</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16237"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the node</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16242" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-DEREGISTER-DEAD-COMPONENTS" ></A >bonobo_ui_engine_deregister_dead_components ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_deregister_dead_components (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >Detect any components that have died and deregister them - unmerging their UI elements.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16250"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16255" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-DEREGISTER-COMPONENT-BY-REF" ></A >bonobo_ui_engine_deregister_component_by_ref ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_deregister_component_by_ref (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > ref);</PRE ></TD ></TR ></TABLE ><P >Deregisters component with reference <TT CLASS="PARAMETER" ><I >ref</I ></TT > from <TT CLASS="PARAMETER" ><I >engine</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16266"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16271"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >ref</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the ref.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16276" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-DEREGISTER-COMPONENT" ></A >bonobo_ui_engine_deregister_component ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_deregister_component (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name);</PRE ></TD ></TR ></TABLE ><P >Deregisters component of <TT CLASS="PARAMETER" ><I >name</I ></TT > from <TT CLASS="PARAMETER" ><I >engine</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16286"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16291"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the component name</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16296" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-REGISTER-COMPONENT" ></A >bonobo_ui_engine_register_component ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_register_component (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > component);</PRE ></TD ></TR ></TABLE ><P >Registers <TT CLASS="PARAMETER" ><I >component</I ></TT > with <TT CLASS="PARAMETER" ><I >engine</I ></TT > by <TT CLASS="PARAMETER" ><I >name</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16308"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16313"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > a name to associate a component with</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16318"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >component</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the component</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16323" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-COMPONENT-NAMES" ></A >bonobo_ui_engine_get_component_names ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GLIST" >GList</GTKDOCLINK >* bonobo_ui_engine_get_component_names (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >accesses the node's component names.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16332"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16337"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the names of all registered components</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16342" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-GET-COMPONENT" ></A >bonobo_ui_engine_get_component ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > bonobo_ui_engine_get_component (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *name);</PRE ></TD ></TR ></TABLE ><P >accesses the components associated with the engine.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16351"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16356"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >name</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the name of the component to fetch</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16361"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the component with name <TT CLASS="PARAMETER" ><I >name</I ></TT ></P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16367" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-XML-GET" ></A >bonobo_ui_engine_xml_get ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="CORBA-CHAR" >CORBA_char</GTKDOCLINK >* bonobo_ui_engine_xml_get (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > node_only);</PRE ></TD ></TR ></TABLE ><P >This function fetches the node at <TT CLASS="PARAMETER" ><I >path</I ></TT > in the internal structure, and if <TT CLASS="PARAMETER" ><I >node_only</I ></TT > dumps the node to an XML string, otherwise it dumps it and its children.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16379"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16384"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16389"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >node_only</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > just the node, or children too.</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16394"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the XML string - use bonobo_ui_node_free_string to free</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16399" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-XML-NODE-EXISTS" ></A >bonobo_ui_engine_xml_node_exists ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > bonobo_ui_engine_xml_node_exists (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path);</PRE ></TD ></TR ></TABLE ><P ></P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16408"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16413"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16418"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > true if the node at <TT CLASS="PARAMETER" ><I >path</I ></TT > exists</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16424" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-XML-MERGE-TREE" ></A >bonobo_ui_engine_xml_merge_tree ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > bonobo_ui_engine_xml_merge_tree (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <A HREF="bonobo-bonobo-ui-node.html#BONOBOUINODE" >BonoboUINode</A > *tree, const char *component);</PRE ></TD ></TR ></TABLE ><P >This function merges the XML <TT CLASS="PARAMETER" ><I >tree</I ></TT > into the internal tree representation as children of the node at <TT CLASS="PARAMETER" ><I >path</I ></TT > in <TT CLASS="PARAMETER" ><I >engine</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16437"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16442"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16447"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >tree</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the nodes</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16452"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >component</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the component ID associated with these nodes.</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16457"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > flag on error</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16462" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-XML-RM" ></A >bonobo_ui_engine_xml_rm ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > bonobo_ui_engine_xml_rm (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, const char *by_component);</PRE ></TD ></TR ></TABLE ><P >Remove a chunk of the xml tree pointed at by <TT CLASS="PARAMETER" ><I >path</I ></TT > in <TT CLASS="PARAMETER" ><I >engine</I ></TT >, if <TT CLASS="PARAMETER" ><I >by_component</I ></TT > then only remove items associated with that component - possibly revealing other overridden items.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16474"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16479"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16484"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >by_component</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > whether to remove elements from only a specific component</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16489"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > flag on error</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16494" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-OBJECT-SET" ></A >bonobo_ui_engine_object_set ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > bonobo_ui_engine_object_set (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > object, <GTKDOCLINK HREF="CORBA-ENVIRONMENT" >CORBA_Environment</GTKDOCLINK > *ev);</PRE ></TD ></TR ></TABLE ><P >This associates a CORBA Object reference with a node in the tree, most often this is done to insert a Control's reference into a 'control' element.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16505"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16510"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16515"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >object</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > an object reference</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16520"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >ev</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > CORBA exception environment</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16525"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > flag if success</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16530" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-OBJECT-GET" ></A >bonobo_ui_engine_object_get ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><A HREF="bonobo-bonobo-ui-engine.html#BONOBOUIERROR" >BonoboUIError</A > bonobo_ui_engine_object_get (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, const char *path, <GTKDOCLINK HREF="BONOBO-UNKNOWN" >Bonobo_Unknown</GTKDOCLINK > *object, <GTKDOCLINK HREF="CORBA-ENVIRONMENT" >CORBA_Environment</GTKDOCLINK > *ev);</PRE ></TD ></TR ></TABLE ><P >This extracts a CORBA object reference associated with the node at <TT CLASS="PARAMETER" ><I >path</I ></TT > in <TT CLASS="PARAMETER" ><I >engine</I ></TT >, and returns it in the reference pointed to by <TT CLASS="PARAMETER" ><I >object</I ></TT >.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16544"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16549"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >path</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the path into the tree</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16554"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >object</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > an pointer to an object reference</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16559"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >ev</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > CORBA exception environment</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16564"><SPAN STYLE="white-space: nowrap" ><I CLASS="EMPHASIS" >Returns</I > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > flag if success</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16569" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-SET-UI-CONTAINER" ></A >bonobo_ui_engine_set_ui_container ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_set_ui_container (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine, <A HREF="bonobo-bonobo-object.html#BONOBOOBJECT" >BonoboObject</A > *ui_container);</PRE ></TD ></TR ></TABLE ><P >Associates a given UI Container with this BonoboUIEngine.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16578"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16583"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >ui_container</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > a UI Container bonobo object.</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16588" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-FREEZE" ></A >bonobo_ui_engine_freeze ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_freeze (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >This increments the freeze count on the tree, while this count > 0 no syncronization between the internal XML model and the widget views occurs. This means that many simple merges can be glupped together with little performance impact and overhead.</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16596"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ></TBODY ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16601" ></A ><H3 ><A NAME="BONOBO-UI-ENGINE-THAW" ></A >bonobo_ui_engine_thaw ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void bonobo_ui_engine_thaw (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *engine);</PRE ></TD ></TR ></TABLE ><P >This decrements the freeze count and if it is 0 causes the UI widgets to be re-synched with the XML model, see also bonobo_ui_engine_freeze</P ><P ></P ><P ></P ><TABLE CLASS="VARIABLELIST" BORDER="0" CELLSPACING="0" CELLPADDING="4" WIDTH="100%" BGCOLOR="#FFD0D0" ><TBODY ><TR ><TD ALIGN="RIGHT" VALIGN="TOP" WIDTH="20%" ><A NAME="AEN16609"><SPAN STYLE="white-space: nowrap" ><TT CLASS="PARAMETER" ><I >engine</I ></TT > :</SPAN ></TD ><TD ALIGN="LEFT" VALIGN="TOP" WIDTH="80%" ><P > the engine</P ></TD ></TR ></TBODY ></TABLE ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN16614" ></A ><H2 >Signals</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN16616" ></A ><H3 ><A NAME="BONOBOUIENGINE-ADD-HINT" ></A >The "add-hint" signal</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *arg1, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data);</PRE ></TD ></TR ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16623" ></A ><H3 ><A NAME="BONOBOUIENGINE-REMOVE-HINT" ></A >The "remove-hint" signal</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data);</PRE ></TD ></TR ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16629" ></A ><H3 ><A NAME="BONOBOUIENGINE-EMIT-VERB-ON" ></A >The "emit-verb-on" signal</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > arg1, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data);</PRE ></TD ></TR ></TABLE ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16636" ></A ><H3 ><A NAME="BONOBOUIENGINE-EMIT-EVENT-ON" ></A >The "emit-event-on" signal</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void user_function (<GTKDOCLINK HREF="BONOBOUIENGINE" >BonoboUIEngine</GTKDOCLINK > *bonobouiengine, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > arg1, <GTKDOCLINK HREF="GCHAR" >gchar</GTKDOCLINK > *arg2, <GTKDOCLINK HREF="GPOINTER" >gpointer</GTKDOCLINK > user_data);</PRE ></TD ></TR ></TABLE ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="bonobo-bonobo-ui-node.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="bonobo-ui.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="bonobo-bonobo-ui-sync.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >bonobo-ui-node</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >BonoboUISync</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >