Package OpenCAGE.GUI.Menus.Abstract_Menus

Class Abstract_Menu

extends OpenCAGE.GUI.Menus.Menu

Abstract implementation of the menu interface


private OpenCAGE.GUI.Menus.Menu Parent 

private Ada.Strings.Unbounded.Unbounded_String ID 

Used for unique identification of menus (key in hashtable of Sub_Menu). In Menu_Item it is the name of the Command_Factory to be called when chosen by the user. Don't change the value of this variable after adding it to a Top_Menu, it will not recognize this change. If you have to do this, you will have to implement a changed notification.

private Boolean Visible 

Tells whether the Menu appears on the screen or not. Not to mix up with sensitivity", which determines whether the menu is "grayed-out" or not!

private Boolean Sensitive 

Tells whether the Menu is grayed out or not.Not to mix up with "visible", which whether the menu appears on the screen at all.


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

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

public Copy( OpenCAGE.GUI.Menus.Abstract_Menus.Abstract_Menu Menu, OpenCAGE.GUI.Menus.Menu Parent);

copies everything from this object into the given 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 Set_Data_Source( FET.Data_Source Data);

public FET.Data_Source Get_Data_Source(void);