In file include/csws/csdialog.h:

## class csDialog : public csComponent

> The Dialog class is a single-colored canvas which contains a number of child controls

## Inheritance:

### Public Methods

csDialog(csComponent *iParent, csDialogFrameStyle iFrameStyle = csdfsNone)
  Create dialog object
virtual void Draw()
  Draw the button
virtual void FixSize(int &newW, int &newH)
  Fix dialog size when resizing
void GetBorderSize(int &w, int &h)
  Return border width and height
virtual bool HandleEvent(csEvent &Event)
  Handle input events
void SetAutoGrid(int iDeltaX, int iDeltaY, bool iSnapSize)
  Enable/disable(dx<0||dy<0) automatic control placement in a grid fashion
virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)
  Do auto-placement work if enabled
virtual void SuggestSize(int &w, int &h)
  Return the recommended minimal size of dialog

### Protected Fields

int BorderWidth
  Border width and height

### Protected Methods

static bool do_topleft(csComponent *comp, void *param)
  Used by SuggestSize

### Private Fields

csComponent* first
  First component
csDialogFrameStyle FrameStyle
  Dialog frame style
int GridX
  Automatical grid placement parameters
bool SnapSizeToGrid
  Automatically snap dialog size to grid?

### 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)
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 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 iPaletteID)
void SetPalette(int *iPalette, int iPaletteSize)
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)
virtual void SetText(char *iText)
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 Dialog class is a single-colored canvas which contains a number of child controls. The dialog can perform a number of operations on its childs such as switching between them using Tab/ShiftTab key, activating the default button when Enter is pressed etc.

> Other uses for csDialog class are for floating toolbars. They can be even resizeable; to create a floating toolbar you should create a stand-alone dialog object, setting his DragStyle to CS_DRAG_MOVEABLE and, possibly, CS_DRAG_SIZEABLE. In this case dialog will act as a standalone window; it would be good if you specify its frame style to csdfsAround: in this case it will look like a usual window but without titlebar.

`csDialogFrameStyle FrameStyle`
  Dialog frame style

`int GridX`
  Automatical grid placement parameters

`bool SnapSizeToGrid`
  Automatically snap dialog size to grid?

`csComponent* first`
  First component

`int BorderWidth`
  Border width and height

`csDialog(csComponent *iParent, csDialogFrameStyle iFrameStyle = csdfsNone)`
  Create dialog object

`virtual void Draw()`
  Draw the button

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

`void SetAutoGrid(int iDeltaX, int iDeltaY, bool iSnapSize)`
  Enable/disable(dx<0||dy<0) automatic control placement in a grid fashion. DeltaX and DeltaY is the horizontal and vertical distance between controls; SnapSize tells dialog object whenever dialog size should snap when it is resized to the maximal x/y coordinates of all controls.

`virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)`
  Do auto-placement work if enabled

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

`void GetBorderSize(int &w, int &h)`
  Return border width and height

`virtual void FixSize(int &newW, int &newH)`
  Fix dialog size when resizing

`static bool do_topleft(csComponent *comp, void *param)`
  Used by SuggestSize

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