10 void( entity pEntity, Menu_History_PopFunction pPopFunction ) Menu_History_Push =
12 local entity lHistory;
14 Menu_KeyHook = Util_NullFunction;
18 lHistory.type = "MMANAGER_HISTORY";
19 lHistory._prev = Menu_History;
20 lHistory._child = Menu_ActiveItem;
21 lHistory._parent = Menu_ActiveWindow;
22 lHistory._next = pEntity; // "used for"
23 lHistory._destroy = pPopFunction;
25 Menu_History = lHistory;
33 void() Menu_History_Pop =
37 if( Menu_History == null_entity )
40 Menu_KeyHook = Util_NullFunction;
42 Menu_ActiveItem = Menu_History._child;
43 Menu_ActiveWindow = Menu_History._parent;
46 // FIXME: use Menu_DestroyItem
47 Raise_Destroy( lTemp );
48 Menu_History = Menu_History._prev;
57 bool( entity pEntity ) Menu_History_Verify =
59 if( Menu_History == null_entity )
62 if( Menu_History._next == pEntity )
72 void() Menu_History_Clear =
76 lEntity = null_entity;
77 while( ( lEntity = findstring( lEntity, type, "MMANAGER_HISTORY" ) ) != null_entity)
80 Menu_History = null_entity;