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.