In file include/csws/csiline.h:

## class csInputLine : public csComponent

> The Input Line class implements a rectangular are where user can enter any text

## Inheritance:

### Public Methods

csInputLine(csComponent *iParent, int iMaxLen = CSIL_DEFAULTLENGTH, csInputLineFrameStyle iFrameStyle = csifsThickRect)
  Create input line object
void DeleteSelection()
  Delete selection
virtual void Draw()
  Draw the input line
virtual bool HandleEvent(csEvent &Event)
  Handle external events
virtual bool IsValidChar(char iChar)
  Check whenever a character is valid for inserting into string
virtual bool IsValidPos(int NewPos)
  Check whenever new cursor position is valid
virtual bool IsValidString(char *iText)
  Check if string after modification is valid
void SetCursorPos(int NewPos, bool ExtendSel)
  Set new cursor position and extend selection if extendsel == true
void SetSelection(int iStart, int iEnd)
  Select text from character iStart to character iEnd
virtual void SetState(int mask, bool enable)
  Override SetState method to redraw input line when it is switched
virtual void SetText(char *iText)
  Set text field

### Protected Methods

int GetCharX(int iNum)
  Query character X position within component

### Private Fields

int cursorpos
  Cursor character
csRect cursorrect
  Cursor coordinates
bool cursorvis
  true if cursor is visible
int firstchar
  Number of first visible text character
csInputLineFrameStyle FrameStyle
  Input line frame style
bool insert
  true if in insert mode
int maxlen
  Maximal text line length
int selstart
  Text selection
int textx
  Top-Left corner of text

### 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 char* GetText()
virtual void GetText(char *oText, int iTextSize)
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(bool IncludeChildren = false)
void Invalidate(int xmin, int ymin, int xmax, int ymax, bool IncludeChildren = false)
void Invalidate(csRect &area, 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(int xmin, int ymin, int xmax, int ymax)
void SetClipRect()
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)
virtual bool SetRect(int xmin, int ymin, int xmax, int ymax)
bool SetRect(csRect &rect)
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)
void Sprite2D(csSprite2D *s2d, int x, int y, int w, int h)
virtual void SuggestSize(int &w, int &h)
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 Input Line class implements a rectangular are where user can enter any text. The class has a method called IsValidChar() which can be overriden to implement specific needs, for example if you would like to implement a input line which accepts only numbers you can just override the method IsValidChar() and analyze entered characters. There is also a more general method called IsValidString() which checks the just-modified string for correctness. If method decides that string is incorrect, the changes are undone.

`csInputLineFrameStyle FrameStyle`
  Input line frame style

`int maxlen`
  Maximal text line length

`int firstchar`
  Number of first visible text character

`int cursorpos`
  Cursor character

`csRect cursorrect`
  Cursor coordinates

`bool cursorvis`
  true if cursor is visible

`int selstart`
  Text selection

`bool insert`
  true if in insert mode

`int textx`
  Top-Left corner of text

`csInputLine(csComponent *iParent, int iMaxLen = CSIL_DEFAULTLENGTH, csInputLineFrameStyle iFrameStyle = csifsThickRect)`
  Create input line object

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

`virtual void Draw()`
  Draw the input line

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

`virtual void SetState(int mask, bool enable)`
  Override SetState method to redraw input line when it is switched

`void SetSelection(int iStart, int iEnd)`
  Select text from character iStart to character iEnd

`void SetCursorPos(int NewPos, bool ExtendSel)`
  Set new cursor position and extend selection if extendsel == true

`virtual bool IsValidPos(int NewPos)`
  Check whenever new cursor position is valid

`virtual bool IsValidChar(char iChar)`
  Check whenever a character is valid for inserting into string

`virtual bool IsValidString(char *iText)`
  Check if string after modification is valid

`void DeleteSelection()`
  Delete selection

`int GetCharX(int iNum)`
  Query character X position within component

Direct child classes:
  csSpinBox

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