Package OpenCAGE.GUI.Menus.Sub_Menus

Class Sub_Menu

extends OpenCAGE.GUI.Menus.Abstract_Menus.Abstract_Menu


private Ada.Strings.Unbounded.Unbounded_String Title 

private OpenCAGE.GUI.Menus.Menus_Lists.List Children 

List of children, i.e. menus.


public Add_Child( OpenCAGE.GUI.Menus.Menu Menu);

Attaches a menu at the end of the list of children.

public Remove_Child( OpenCAGE.GUI.Menus.Menu Menu);

Removes a menu from self.

public Add_To_Gtk_Menu( Gtk.Menu.Gtk_Menu Gtk_Menu, OpenCAGE.GUI.Con_Men_Handlers.Con_Men_Handler Handler);

Adds its conent and the content of its children to the given gtk menu. [This description is adopted from 'OpenCAGE.GUI.Menus.Menu'.]

public Intersect( OpenCAGE.GUI.Menus.Menu Menu);

Intersects itself with the given menu, so that only menu items remain which are part of both menus. [This description is adopted from 'OpenCAGE.GUI.Menus.Menu'.]

public OpenCAGE.GUI.Menus.Menu Clone( OpenCAGE.GUI.Menus.Menu Parent);

Creates a deep copy of this object [This description is adopted from 'OpenCAGE.GUI.Menus.Menu'.]

public Copy( OpenCAGE.GUI.Menus.Sub_Menus.Sub_Menu Menu, OpenCAGE.GUI.Menus.Menu Parent);

copies everything from this object into the given menu

public OpenCAGE.GUI.Menus.Sub_Menus.Sub_Menu Read( OpenCAGE.General.XML.Node_Ptr Node, OpenCAGE.GUI.Menus.Menu Parent);

starts reading a sub menu from the given node

public Read_Children( OpenCAGE.General.XML.Node_Ptr Node);

reads all children from the given node

public Add_Children_To_Gtk_Menu( Gtk.Menu.Gtk_Menu Gtk_Menu, OpenCAGE.GUI.Con_Men_Handlers.Con_Men_Handler Handler);

public Intersect_Children( OpenCAGE.GUI.Menus.Menu Menu);