In file include/csws/csmenu.h:

## class csMenuItem : public csComponent

> This class encapsulates a menu item

## Inheritance:

### Public Methods

csMenuItem(csComponent *iParent, int iStyle = CSMIS_DEFAULTVALUE)
  Menu item constructor: construct a separator item
csMenuItem(csComponent *iParent, char *iText, csMenu *iSubMenu, int iStyle = CSMIS_DEFAULTVALUE)
  Menu item constructor: construct a submenu
csMenuItem(csComponent *iParent, char *iText, int iCommandCode = cscmdNothing, int iStyle = CSMIS_DEFAULTVALUE)
  Menu item constructor: text item with optional style
virtual void Draw()
  Draw the menu item
virtual bool HandleEvent(csEvent &Event)
  Handle input events
virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)
  Move child menus when moved
virtual void SetText(char *iText)
  Set menu item text
virtual void SuggestSize(int &w, int &h)
  Report the minimal size of menu item
virtual ~csMenuItem()
  Destroy menu item object

### Protected Fields

static csSprite2D* sprchecked
  Menu item 'checked' image
static csSprite2D* sprsubmenu
  "Open submenu" arrow image

### Protected Methods

void Init()
  Common part of constructors
virtual void Press()
  Activate this menu item

### Private Fields

bool Checked
  Is the menu item checked?
int CommandCode
  Menu item command code
char* info
  Menu item info (if not NULL) (placed to the right of menu item text)
int Style
  Menu item styles
csMenu* SubMenu
  Sumbenu object
int underline_pos
  Character number that should be underlined (-1 == none)

### Inherited from csComponent:

### Public Fields

csApp* app
csRect bound
csVector clipchildren
csComponent* focused
unsigned int id
csComponent* next
csComponent* parent
csComponent* top

### Public Methods

void Box(int xmin, int ymin, int xmax, int ymax, int colindx)
void Center(bool iHoriz = true, bool iVert = true)
virtual void Close()
virtual void Delete(csComponent *comp)
void DeleteAll()
void DeleteClipChild(csComponent *clipchild)
void Drag(int x, int y, int DragMode)
void FindMaxFreeRect(csRect &area)
virtual void FixPosition(int &newX, int &newY)
virtual void FixSize(int &newW, int &newH)
csComponent* ForEach(bool (*func) (csComponent *child, void *param), void *param = NULL, bool Zorder = false)
csComponent* GetChild(int find_id)
csComponent* GetClipParent()
int GetColor(int Index)
csComponent* GetDefault()
int GetDragStyle()
csComponent* GetFocused()
int GetFont()
int GetState(int mask)
virtual void GetText(char *oText, int iTextSize)
virtual char* GetText()
csComponent* GetTop()
void GlobalToLocal(int &x, int &y)
bool HandleDragEvent(csEvent &Event, int BorderW, int BorderH)
virtual void Hide()
virtual void Insert(csComponent *comp)
void InsertClipChild(csComponent *clipchild)
void Invalidate(csRect &area, bool IncludeChildren = false)
void Invalidate(bool IncludeChildren = false)
void Invalidate(int xmin, int ymin, int xmax, int ymax, bool IncludeChildren = false)
void Line(float x1, float y1, float x2, float y2, int colindx)
void LocalToGlobal(int &x, int &y)
virtual bool Maximize()
virtual csComponent* NextChild(csComponent *start = NULL, bool disabled = false)
virtual csComponent* NextControl(csComponent *start = NULL)
virtual csComponent* NextGroup(csComponent *start = NULL)
void ObliqueRect3D(int xmin, int ymin, int xmax, int ymax, int cornersize, int darkindx, int lightindx)
void Pixel(int x, int y, int colindx)
virtual bool PostHandleEvent(csEvent &Event)
virtual bool PreHandleEvent(csEvent &Event)
virtual csComponent* PrevChild(csComponent *start = NULL, bool disabled = false)
virtual csComponent* PrevControl(csComponent *start = NULL)
virtual csComponent* PrevGroup(csComponent *start = NULL)
void Rect3D(int xmin, int ymin, int xmax, int ymax, int darkindx, int lightindx)
void Redraw()
virtual bool Restore()
bool Select()
void* SendCommand(int CommandCode, void *Info = NULL)
void SetApp(csApp *newapp)
void SetClipRect()
void SetClipRect(int xmin, int ymin, int xmax, int ymax)
void SetColor(int Index, int Color)
bool SetDragRect(int xmin, int ymin, int xmax, int ymax)
void SetDragStyle(int iDragStyle)
bool SetFocused(csComponent *comp)
void SetFont(int iFont, bool IncludeChildren = false)
void SetMouse(csMouseCursorID Cursor)
void SetPalette(int *iPalette, int iPaletteSize)
void SetPalette(int iPaletteID)
void SetPos(int x, int y)
void SetSize(int w, int h)
void SetSizingCursor(int dragtype)
virtual void SetState(int mask, bool enable)
virtual void SetSuggestedSize(int dw, int dh)
bool SetZorder(csComponent *comp, csComponent *below)
virtual void Show(bool focused = false)
void Sprite2D(csSprite2D *s2d, int x, int y, int w, int h)
void Sprite2D(csSprite2D *s2d, int x, int y)
void Text(int x, int y, int fgindx, int bgindx, char *s)
int TextHeight()
int TextWidth(char *text)

### Public

### Protected Fields

csRect clip
csComponent* clipparent
csRect dirty
static csRect dragBound
int DragStyle
static int dragX
int Font
bool Maximized
csRect OrgBound
bool originalpalette
int* palette
int state
char* text

### Protected Methods

void Clip(csObjVector &rect, csComponent *last)
void ClipAlienChildren(csObjVector &rect, csComponent *child)
void DrawUnderline(int iX, int iY, char *iText, int iUnderlinePos, int iColor)
static void PrepareLabel(char *iLabel, char * &oLabel, int &oUnderlinePos)
static int WordLeft(char *iText, int StartPos)
static int WordRight(char *iText, int StartPos)

### Inherited from csBase:

## Documentation

> This class encapsulates a menu item

`char* info`
  Menu item info (if not NULL) (placed to the right of menu item text)

`int underline_pos`
  Character number that should be underlined (-1 == none)

`int Style`
  Menu item styles

`bool Checked`
  Is the menu item checked?

`int CommandCode`
  Menu item command code

`csMenu* SubMenu`
  Sumbenu object

`csMenuItem(csComponent *iParent, char *iText, int iCommandCode = cscmdNothing, int iStyle = CSMIS_DEFAULTVALUE)`
  Menu item constructor: text item with optional style

`csMenuItem(csComponent *iParent, int iStyle = CSMIS_DEFAULTVALUE)`
  Menu item constructor: construct a separator item

`csMenuItem(csComponent *iParent, char *iText, csMenu *iSubMenu, int iStyle = CSMIS_DEFAULTVALUE)`
  Menu item constructor: construct a submenu

`virtual ~csMenuItem()`
  Destroy menu item object

`virtual void SuggestSize(int &w, int &h)`
  Report the minimal size of menu item

`virtual void SetText(char *iText)`
  Set menu item text

`virtual bool HandleEvent(csEvent &Event)`
  Handle input events

`virtual void Draw()`
  Draw the menu item

`virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)`
  Move child menus when moved

`static csSprite2D* sprchecked`
  Menu item 'checked' image

`static csSprite2D* sprsubmenu`
  "Open submenu" arrow image

`void Init()`
  Common part of constructors

`virtual void Press()`
  Activate this menu item

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de