<!-- ##### SECTION Title ##### -->
GogObject

<!-- ##### SECTION Short_Description ##### -->
Base class for all objects of graph model

<!-- ##### SECTION Long_Description ##### -->
<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### STRUCT GogObject ##### -->
<para>

</para>


<!-- ##### SIGNAL GogObject::changed ##### -->
<para>

</para>

@gogobject: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GogObject::child-added ##### -->
<para>

</para>

@gogobject: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GogObject::child-name-changed ##### -->
<para>

</para>

@gogobject: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GogObject::child-removed ##### -->
<para>

</para>

@gogobject: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GogObject::children-reordered ##### -->
<para>

</para>

@gogobject: the object which received the signal.

<!-- ##### SIGNAL GogObject::name-changed ##### -->
<para>

</para>

@gogobject: the object which received the signal.

<!-- ##### SIGNAL GogObject::update-editor ##### -->
<para>

</para>

@gogobject: the object which received the signal.

<!-- ##### ARG GogObject:alignment ##### -->
<para>

</para>

<!-- ##### ARG GogObject:anchor ##### -->
<para>

</para>

<!-- ##### ARG GogObject:compass ##### -->
<para>

</para>

<!-- ##### ARG GogObject:id ##### -->
<para>

</para>

<!-- ##### ARG GogObject:is-position-manual ##### -->
<para>

</para>

<!-- ##### ARG GogObject:position ##### -->
<para>

</para>

<!-- ##### MACRO GOG_PARAM_PERSISTENT ##### -->
<para>

</para>



<!-- ##### MACRO GOG_PARAM_FORCE_SAVE ##### -->
<para>

</para>



<!-- ##### USER_FUNCTION GogDataDuplicator ##### -->
<para>

</para>

@src: 
@dst: 


<!-- ##### ENUM GogObjectNamingConv ##### -->
<para>

</para>

@GOG_OBJECT_NAME_BY_ROLE: 
@GOG_OBJECT_NAME_BY_TYPE: 
@GOG_OBJECT_NAME_MANUALLY: 

<!-- ##### STRUCT GogObjectRole ##### -->
<para>

</para>

@id: 
@is_a_typename: 
@allowable_positions: 
@default_position: 
@naming_conv: 
@can_add: 
@can_remove: 
@allocate: 
@post_add: 
@pre_remove: 
@post_remove: 

<!-- ##### FUNCTION gog_object_dup ##### -->
<para>

</para>

@src: 
@new_parent: 
@datadup: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_parent ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_parent_typed ##### -->
<para>

</para>

@obj: 
@t: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_graph ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_theme ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_id ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_name ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_set_name ##### -->
<para>

</para>

@obj: 
@name: 
@err: 


<!-- ##### FUNCTION gog_object_get_children ##### -->
<para>

</para>

@obj: 
@filter: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_child_by_role ##### -->
<para>

</para>

@obj: 
@role: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_editor ##### -->
<para>

</para>

@obj: 
@dalloc: 
@cc: 
@Returns: 


<!-- ##### FUNCTION gog_object_new_view ##### -->
<para>

</para>

@obj: 
@parent: 
@Returns: 


<!-- ##### FUNCTION gog_object_is_deletable ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_possible_additions ##### -->
<para>

</para>

@parent: 
@Returns: 


<!-- ##### FUNCTION gog_object_add_by_role ##### -->
<para>

</para>

@parent: 
@role: 
@child: 
@Returns: 


<!-- ##### FUNCTION gog_object_add_by_name ##### -->
<para>

</para>

@parent: 
@role: 
@child: 
@Returns: 


<!-- ##### FUNCTION gog_object_can_reorder ##### -->
<para>

</para>

@obj: 
@inc_ok: 
@dec_ok: 


<!-- ##### FUNCTION gog_object_reorder ##### -->
<para>

</para>

@obj: 
@inc: 
@goto_max: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_position_flags ##### -->
<para>

</para>

@obj: 
@mask: 
@Returns: 


<!-- ##### FUNCTION gog_object_set_position_flags ##### -->
<para>

</para>

@obj: 
@flags: 
@mask: 
@Returns: 


<!-- ##### FUNCTION gog_object_get_manual_position ##### -->
<para>

</para>

@obj: 
@pos: 


<!-- ##### FUNCTION gog_object_set_manual_position ##### -->
<para>

</para>

@obj: 
@pos: 


<!-- ##### FUNCTION gog_object_get_manual_allocation ##### -->
<para>

</para>

@gobj: 
@parent_allocation: 
@requisition: 
@Returns: 


<!-- ##### FUNCTION gog_object_find_role_by_name ##### -->
<para>

</para>

@obj: 
@role: 
@Returns: 


<!-- ##### FUNCTION gog_object_update ##### -->
<para>

</para>

@obj: 


<!-- ##### FUNCTION gog_object_request_update ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_emit_changed ##### -->
<para>

</para>

@obj: 
@size: 


<!-- ##### FUNCTION gog_object_clear_parent ##### -->
<para>

</para>

@obj: 
@Returns: 


<!-- ##### FUNCTION gog_object_set_parent ##### -->
<para>

</para>

@child: 
@parent: 
@role: 
@id: 
@Returns: 


<!-- ##### FUNCTION gog_object_register_roles ##### -->
<para>

</para>

@klass: 
@roles: 
@n_roles: 


<!-- ##### FUNCTION gog_object_request_editor_update ##### -->
<para>

</para>

@obj: 


