20 #ifndef PAWS_MENU_HEADER    21 #define PAWS_MENU_HEADER    23 #include <csutil/parray.h>    24 #include <iutil/document.h>   106 #define MENU_DESTROY_ACTION_NAME "MenuWantsDestroy"   146     virtual void SetParentMenu(
pawsIMenu* parentMenu) = 0;
   151     virtual void OnParentMenuDestroyed(
pawsMenuClose reason) = 0;
   161     virtual void OnSiblingOpened() = 0;
   174     virtual void SetNotify(
pawsWidget* notifyTarget) = 0;
   200     virtual bool OnButtonPressed(
int button, 
int keyModifier, 
pawsWidget* widget);
   201     virtual bool OnMouseDown(
int button, 
int modifiers, 
int x, 
int y);
   202     virtual bool Setup(iDocumentNode* node);
   203     virtual bool PostSetup();
   207     virtual void SetParentMenu(
pawsIMenu* parentMenu);
   210     virtual void OnSiblingOpened();
   212     virtual void SetNotify(
pawsWidget* notifyTarget);
   240     void SetPositionsOfItems();
   250     void SendDestroyAction();
   262     int GetContentWidth();
   263     int GetContentHeight();
   273     void SetSubmenuPos(
pawsMenu* submenu, 
int recommY);
   279     csPtr<iDocumentNode> FindSubmenuNode(iDocumentNode* node, 
const csString &
name);
   284     void SetButtonPositions();
   368     virtual bool Load(iDocumentNode* node);
   369     virtual bool Setup(iDocumentNode* node);
   373     virtual void Invoke();
   383     void EnableCheckbox(
bool enable);
   384     void EnableImage(
bool enable);
   386     void SetImage(
const csString &newImage);
   387     void SetLabel(
const csString &newLabel);
   392     void SetCheckboxImages(
const csString &on, 
const csString &off);
   397     void SetCheckboxState(
bool checked);
   403     void SetSizes(
int labelWidth, 
int spacing, 
int border);
   415     virtual void LoadAction(iDocumentNode* node);
 
CREATE_PAWS_FACTORY(pawsMenu)
 
pawsMenuAlign
Possible vertical alignments of menu items: 
 
pawsMenuClose
Possible reasons of closing of menu. 
 
Action to close the menu.