In file include/csws/csbutton.h:

## class csButton : public csComponent

> The Button class implements different types of push buttons

## Inheritance:

### Public Fields

bool Pressed
  Current button state

### Public Methods

csButton(csComponent *iParent, int iCommandCode, int iButtonStyle = CSBS_DEFAULTVALUE, csButtonFrameStyle iFrameStyle = csbfsOblique)
  Create button object
virtual void Draw()
  Draw the button
void FreeBitmaps()
  Delete image bitmaps if iDelete was true on SetBitmap
void GetBitmap(csSprite2D **iNormal, csSprite2D **iPressed)
  Query button bitmaps
int GetCommandCode()
  Query this button's command code
virtual bool HandleEvent(csEvent &Event)
  Handle external events
virtual bool PostHandleEvent(csEvent &Event)
  Pre-handle keyboard events
void SetBitmap(csSprite2D *iNormal, csSprite2D *iPressed, bool iDelete = true)
  Set button bitmaps in normal and pressed states

  If iDelete is true, bitmaps will be automatically deleted when they will not be needed anymore (i

virtual void SetPressed(bool state)
  Set button pressed state
virtual void SetState(int mask, bool enable)
  Override SetState method to redraw button if it is default
virtual void SetText(char *iText)
  Set button text
virtual void SuggestSize(int &w, int &h)
  Return the recommended minimal size of button
virtual ~csButton()
  Destroy button object

### Protected Fields

int ButtonStyle
  Button style

### Protected Methods

void DeselectNeighbours()
  Deselect all button's neightbours in his group
bool HandleKeyPress(csEvent &Event)
  Handle a key down event (called for HandleEvent and PreHandleEvent)
virtual void Press()
  Emulate a button press (generate command)

### 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(int xmin, int ymin, int xmax, int ymax, bool IncludeChildren = false)
void Invalidate(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 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 iPaletteID)
void SetPalette(int *iPalette, int iPaletteSize)
void SetPos(int x, int y)
bool SetRect(csRect &rect)
virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)
void SetSize(int w, int h)
void SetSizingCursor(int dragtype)
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

> The Button class implements different types of push buttons. Buttons can contain a text string and/or a bitmap.

`int ButtonStyle`
  Button style

`bool Pressed`
  Current button state

`csButton(csComponent *iParent, int iCommandCode, int iButtonStyle = CSBS_DEFAULTVALUE, csButtonFrameStyle iFrameStyle = csbfsOblique)`
  Create button object

`virtual ~csButton()`
  Destroy button object

`virtual void SetText(char *iText)`
  Set button text

`void SetBitmap(csSprite2D *iNormal, csSprite2D *iPressed, bool iDelete = true)`
  Set button bitmaps in normal and pressed states

  If iDelete is true, bitmaps will be automatically deleted when they will not be needed anymore (i.e. button disposal or another SetBitmap)

`void GetBitmap(csSprite2D **iNormal, csSprite2D **iPressed)`
  Query button bitmaps

`void FreeBitmaps()`
  Delete image bitmaps if iDelete was true on SetBitmap

`virtual void Draw()`
  Draw the button

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

`virtual bool PostHandleEvent(csEvent &Event)`
  Pre-handle keyboard events

`virtual void SetState(int mask, bool enable)`
  Override SetState method to redraw button if it is default

`virtual void SuggestSize(int &w, int &h)`
  Return the recommended minimal size of button

`int GetCommandCode()`
  Query this button's command code

`virtual void SetPressed(bool state)`
  Set button pressed state

`virtual void Press()`
  Emulate a button press (generate command)

`bool HandleKeyPress(csEvent &Event)`
  Handle a key down event (called for HandleEvent and PreHandleEvent)

`void DeselectNeighbours()`
  Deselect all button's neightbours in his group

Direct child classes:
  csRadioButton
  csCheckBox

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