Laxkit
0.0.7.1
|
A generic single line text edit. More...
Public Member Functions | |
LineEdit (anXWindow *parnt, const char *nname, const char *ntitle, unsigned int nstyle, int xx, int yy, int ww, int hh, int brder, anXWindow *prev, unsigned long nowner=0, const char *nsend=NULL, const char *newtext=NULL, unsigned int ntstyle=0) | |
Constructor. newtext should be Utf8 text. | |
virtual | ~LineEdit () |
Empty destructor. | |
virtual const char * | whattype () |
virtual int | init () |
virtual int | Event (const EventData *e, const char *mes) |
virtual int | FocusOn (const FocusChangeData *e) |
virtual int | FocusOff (const FocusChangeData *e) |
virtual void | ControlActivation (int on) |
virtual int | CharInput (unsigned int ch, const char *buffer, int len, unsigned int state, const LaxKeyboard *d) |
virtual int | LBDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
virtual int | LBUp (int x, int y, unsigned int, const LaxMouse *d) |
virtual int | RBDown (int x, int y, unsigned int, int count, const LaxMouse *d) |
virtual int | RBUp (int x, int y, unsigned int, const LaxMouse *d) |
virtual int | WheelUp (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | WheelDown (int x, int y, unsigned int state, int count, const Laxkit::LaxMouse *d) |
virtual int | Idle (int tid=0) |
For autoscroll: TODO!! | |
virtual int | MouseMove (int x, int y, unsigned int state, const LaxMouse *d) |
virtual int | Resize (int nw, int nh) |
virtual int | LBDblClick (int x, int y, int cntl, const LaxMouse *d) |
Double clicking selects a whole word, or whole chunk of whitespace. | |
virtual void | Valid (int v) |
Change whether the text is valid or not. | |
virtual void | Valid (int v, unsigned long col) |
Change whether the text is valid or not, and install a new background color for invalid. | |
virtual int | Modified (int m=1) |
virtual long | GetLong (int *error_ret) |
Return a long value of the text or 0 if error. | |
virtual double | GetDouble (int *error_ret) |
Return double value of the text, or 0 if error. | |
virtual int | Replace (char *newstr, char *what, int all) |
Replace occurence(s) of what with newstr. | |
virtual int | SetText (int newtext) |
Set the text according to the given integer. | |
virtual int | SetText (double newtext) |
Set the text according to the given floating point number. | |
virtual int | SetText (const char *newtext) |
virtual long | SetCurLine (long nline) |
virtual long | SetCurpos (long newcurpos) |
virtual int | SetSelection (long newss, long newse) |
virtual int | inschar (unsigned int ch, char a=1) |
virtual int | delchar (int bksp) |
virtual int | insstring (const char *blah, int after=0) |
virtual int | delsel () |
virtual int | replacesel (char ch) |
virtual int | replacesel (const char *newt=NULL, int after=0) |
virtual int | makeinwindow () |
Changes curlineoffset, cx to be in window. | |
virtual long | findpos (int pix) |
Find char position at pix from left, independent of curlineoffset. | |
virtual void | findcaret () |
Set cx,cy, the caret coordinates. cy is at font baseline. | |
virtual int | Setpixwide () |
Set curlineoffset to reflect justification. | |
virtual int | SetupMetrics () |
virtual void | DrawText (int a=-1) |
virtual LaxFiles::Attribute * | dump_out_atts (LaxFiles::Attribute *att, int what, Laxkit::anObject *savecontext) |
virtual void | dump_in_atts (LaxFiles::Attribute *att, int flag, Laxkit::anObject *loadcontext) |
Public Member Functions inherited from Laxkit::TextXEditBaseUtf8 | |
TextXEditBaseUtf8 (anXWindow *parnt, const char *nname, const char *ntitle, unsigned long nstyle, int xx, int yy, int ww, int hh, int brder, anXWindow *prev, unsigned long nowner, const char *nsend, const char *newtext=NULL, unsigned long ntstyle=0, int ncntlchar=0) | |
virtual | ~TextXEditBaseUtf8 () |
virtual void | Refresh () |
virtual int | MBUp (int x, int y, unsigned int state, const LaxMouse *d) |
Initiate a middle button paste via selectionPaste(1,0). | |
virtual int | MoveResize (int nx, int ny, int nw, int nh) |
virtual int | charwidth (int ch, int r=0) |
Returns real char width with r==1, else returns the custom hexified if r==0. | |
virtual int | Cut () |
Copy() then delsel(). | |
virtual int | Copy () |
Calls anXApp::CopytoBuffer() with the current selection. | |
virtual int | Paste () |
Utilizes anXApp::GetBuffer(). | |
virtual void | Colors (int hl) |
Set curtextcolor and curbkcolor according to whether highlighting is on or not. | |
virtual void | Black (int x, int y, int w, int h) |
Fill x,y,w,h with curbkcolor. | |
virtual int | DrawTabLine () |
Draw a marker at top of text area that shows where and what type of tabs exist for the line. | |
virtual void | DrawCaret (int flag=0, int on=1) |
Update the caret and if necessary the change in the selection. | |
virtual int | DrawLineOfText (int x, int y, long pos, long len, char &check, long eof=-1) |
Draw a single line of text. | |
virtual int | TextOut (int x, int y, char *str, long len, long eof) |
Print out len bytes of str, which is a pointer to somewhere inside thetext. | |
virtual int | ExtentAndStr (char *str, long len, char *&blah, long &p) |
Find a printable string, and its pixel extent. | |
virtual int | GetExtent (long pos, long end, int lsofar=0, long eof=-1) |
Find the extent of the string in range [pos,end). Must be no newlines within the range. | |
virtual long | GetPos (long pos, int pix, int lsofar=0, long eof=-1) |
Returns maximum pos less than or equal to an arbitrary window pixel position. | |
virtual int | UseThisFont (LaxFont *newfont) |
Public Member Functions inherited from Laxkit::anXWindow | |
anXWindow (anXWindow *parnt, const char *nname, const char *ntitle, unsigned long nstyle, int xx, int yy, int ww, int hh, int brder, anXWindow *prev, unsigned long nowner, const char *nsend) | |
Constructor. | |
virtual | ~anXWindow () |
anXWindow destructor. Its X window should have been XDestroy'd before here. | |
virtual const char * | WindowTitle (int which=0) |
Return basically the name of the window. | |
virtual void | WindowTitle (const char *newtitle) |
Change the title of the window. This text would usually be displayed in the bar provided by a window manager. | |
virtual const char * | tooltip (int mouseid=0) |
By default, return win_tooltip. | |
virtual const char * | tooltip (const char *newtooltip) |
Replace the current tooltip, return the current tooltip (after replacing). | |
virtual anXWindow * | findChildWindowByTitle (const char *title) |
Find the first immediate child window that has win_title==title. | |
virtual anXWindow * | findChildWindowByName (const char *name) |
Find the first immediate child window that has win_name==name. | |
virtual int | Grayed () |
Return whether this window is grayed. | |
virtual int | Grayed (int g) |
Set the gray state of this window. Returns Grayed(void). | |
virtual int | preinit () |
virtual int | close () |
Called by anXApp from anXApp::destroywindow() when a window is to be destroyed. | |
virtual Displayer * | MakeCurrent () |
virtual int | Needtodraw () |
Default is to return needtodraw. | |
virtual void | Needtodraw (int nntd) |
If 0, then the window does not need refreshing. Otherwise it does. | |
virtual int | deletenow () |
Return whether the window is allowed to be deleted. | |
virtual int | setWinStyle (unsigned int stylebit, int newvalue) |
Control various window related basic styling of win_style. | |
virtual int | getWinStyle (unsigned int stylebit) |
Currently, simply return win_style&stylebit. | |
virtual void | installColors (WindowColors *newcolors) |
Dec_count old and inc_count new. | |
virtual ShortcutHandler * | GetShortcuts () |
Return a ShortcutHandler that contains stacks of bound shortcuts and possible window actions. | |
virtual int | PerformAction (int action_number) |
virtual int | ExposeChange (ScreenEventData *e) |
Default behavior on Expose events is to call Needtodraw(1). | |
virtual int | DeviceChange (const DeviceEventData *e) |
virtual int | KeyUp (unsigned int ch, unsigned int state, const LaxKeyboard *kb) |
Called when a key is released. | |
virtual int | ButtonDown (int button, int x, int y, unsigned int state, int count, const LaxMouse *m) |
virtual int | ButtonUp (int button, int x, int y, unsigned int state, const LaxMouse *m) |
virtual int | MBDown (int x, int y, unsigned int state, int count, const LaxMouse *d) |
Default is just to return 1. | |
virtual void | contentChanged () |
Windows may call this when their contents change. | |
virtual void | selectionChanged () |
Windows may call this when their selections change. | |
virtual anXWindow * | GetController () |
Return the window most relevant for tab control loops. | |
virtual int | SelectNextControl (const LaxDevice *d) |
Transfer focus to nextcontrol. | |
virtual int | SelectPrevControl (const LaxDevice *d) |
Transfer the focus to prevcontrol. | |
virtual int | AddPrevControl (anXWindow *prev) |
virtual int | AddNextControl (anXWindow *next) |
virtual int | ConnectControl (anXWindow *towhat, int after=1) |
Connect towhat to this. Used for tab loops. | |
virtual int | CloseControlLoop () |
Close a tab loop. | |
virtual void | SetOwner (anXWindow *nowner, const char *mes=NULL, unsigned int send_mask=0) |
Set the new owner and control message. | |
virtual void | SetOwner (unsigned long nowner_id, const char *mes=NULL, unsigned int send_mask=0) |
virtual void | dump_out (FILE *f, int indent, int what, anObject *context) |
Simple dumping function. | |
Public Member Functions inherited from Laxkit::Tagged | |
virtual int | HasTag (const char *tag, int casematters) |
Return whether the tag exists. | |
virtual int | NumberOfTags () |
Return the number of tags, strangely enough. | |
virtual const char * | GetTag (int i) |
Return const pointer to the tag text for tag number i, where i==0 is the first tag. | |
virtual char * | GetAllTags () |
Return a new char[] with a space separated list of all the tags. | |
virtual int | InsertTags (const char *tags, int casematters) |
Insert tags from a string such as 'tag1 tag2 tag3 "tag with spaces" tag4'. | |
virtual int | InsertTag (const char *tag, int casematters) |
Insert tag if it doesn't exist already. | |
virtual int | RemoveTag (const char *tag) |
The tag must be an exact match. | |
virtual int | RemoveTag (int i) |
Remove tag number i. i must be in range [0..NumberOfTags()-1]. | |
virtual void | FlushTags () |
Public Member Functions inherited from LaxFiles::DumpUtility | |
virtual void | dump_in (FILE *f, int indent, int what, Laxkit::anObject *loadcontext, Attribute **att) |
Read in a file segment as an Attribute, and pass parsing duties to dump_in_atts. | |
virtual | ~DumpUtility () |
Empty virtual destructor. | |
Public Member Functions inherited from Laxkit::aDrawable | |
aDrawable (Drawable d=0) | |
virtual int | DrawableType () |
virtual int | ValidDrawable () |
Public Member Functions inherited from Laxkit::TextEditBaseUtf8 | |
TextEditBaseUtf8 (const char *newtext=NULL, unsigned long nstyle=0, unsigned int ncntlchar=0) | |
Constructor. | |
virtual | ~TextEditBaseUtf8 () |
delete[] thetext and cutbuffer. | |
virtual int | charwidth (unsigned int usc, int actual=0) |
virtual int | GetTabChar (int atpix) |
For CHAR_TABS, returns the character to center on, or 0 if no such tab there. | |
virtual int | GetNextTab (int atpix) |
Redefine for custom tabstops, default is even spacing with tabwidth pixels. | |
virtual int | GetNextTab (int atpix, int &tabtype) |
Redefine for custom tabstops, default is even spacing with tabwidth pixels. | |
virtual int | replacesel (unsigned int ucs) |
Replace the selection with character ch. | |
virtual int | onlf (long pos=-1) |
Return whether pos is on a delimiter. 0==no, 1==first delimiter, 2==second delimeter. | |
virtual int | findword (long pos, long &start, long &end) |
Find the start and end of a word that includes position pos. | |
virtual int | isword (long pos=-1) |
Return if character at pos is alphanumeric character. | |
virtual long | findlinestart (long pos=-1) |
Return first place after the first newline before pos. | |
virtual int | readonly (long pos=-1) |
Returns if the text is readonly at the given position. | |
virtual const char * | GetCText () |
Return a const pointer to thetext. | |
virtual char * | GetText () |
Return a new char[] copy of thetext. | |
virtual char * | GetSelText () |
Return a new char[] copy of the selected text. | |
virtual char * | CutSelText () |
Cut out the selected text, and return a copy to a new char[] containing the text. | |
virtual long | GetSelection (long &sels, long &sele) |
Get information about the selection positions. | |
virtual long | Getnumlines () |
Return the number of newlines in the whole buffer. | |
virtual long | Getnlines (long s=-1, long e=-1) |
Return the number of newlines in range [s,e]. | |
virtual long | Getcharswide () |
Returns most characters wide in all of lines of thetext. | |
virtual int | Getpixwide (long linenum) |
Return pix wide of line from p to newline. | |
virtual int | Undo () |
virtual int | Redo () |
virtual long | WhichLine (long pos) |
Return how many newlines before pos. | |
virtual long | GetCurLine () |
virtual long | GetCurpos () |
virtual int | SetDelimiter (char n1, char n2=0) |
Set the newline delimiter to "n1n2". n2==0 means use single character newline. | |
virtual int | Find (const char *str, int fromcurs=1) |
Find str in thetext, start search at fromcurs, wrap around. | |
virtual int | Replace (const char *newstr, const char *, int which) |
virtual int | Replace (const char *newstr, int start, int end) |
Replace a range of text with a new string. |
Public Attributes | |
const char * | qualifier |
Can be used during thetext validation. | |
char * | blanktext |
int | padx |
int | pady |
int | mostpixwide |
Protected Member Functions | |
virtual int | send (int i) |
Sends a SimpleMessage event to win_owner. | |
virtual void | settextrect () |
Set textrect. | |
Protected Member Functions inherited from Laxkit::TextXEditBaseUtf8 | |
virtual void | docaret (int w=1) |
Inverts the caret area. DrawCaret is responsible for maintaining con. | |
virtual int | selectionDropped (unsigned char *data, unsigned long len, Atom actual_type, Atom which) |
virtual char * | getSelectionData (int *len, Atom property, Atom targettype, Atom selection) |
Return the selected text, or NULL if no selection. | |
Protected Member Functions inherited from Laxkit::anXWindow | |
virtual int | deletekid (anXWindow *w) |
Purges child anXWindows from window's child stack. | |
virtual void | SwapBuffers () |
Swap buffers. This should be called from Refresh() if VIEWPORT_BACK_BUFFER is set in win_style. | |
virtual void | SetupBackBuffer () |
Initialize the backbuffer. | |
Protected Member Functions inherited from Laxkit::TextEditBaseUtf8 | |
virtual int | extendtext () |
Extend the memory allocated for thetext. | |
virtual long | nextpos (long l) |
Return the next utf8 character position after l. | |
virtual long | prevpos (long l) |
Return the utf8 character position befor l. | |
virtual void | makevalidpos (long &l) |
Make l point only to 1st byte of a utf8 char or 2-char delimiter. | |
virtual int | Undo (UndoData *data) |
virtual int | Redo (UndoData *data) |
virtual int | AddUndo (int type, const char *str, long len, long start, long end) |
Protected Attributes | |
ButtonDownInfo | buttondown |
Protected Attributes inherited from Laxkit::TextXEditBaseUtf8 | |
int | cx |
The x position of the current position, measured from the top left corner of the window. | |
int | cy |
The baseline y position of the current line, measured from the top left corner of the window. | |
int | oldx |
The old value of cx for a caret that might need to be blanked out. | |
int | oldy |
The old value of cy for a caret that might need to be blanked out. | |
int | curlineoffset |
The pixel horizontal offset the text is shifted. | |
char | firsttime |
char | con |
Nonzero if the caret is supposed to be on, and is drawn on, on the screen. | |
long | dpos |
The beginning position in thetext that needs to be redrawn. | |
long | nlines |
The number of lines starting from the line of dpos that must be redrawn. | |
long | oldsellen |
The previous selection length to help narrow down what on screen must be redrawn. | |
long | oldcp |
The previous curpos to help narrow down what on screen must be redrawn. | |
int | textascent |
int | textheight |
int | textdescent |
unsigned long | curtextcolor |
unsigned long | textbgcolor |
unsigned long | curbkcolor |
unsigned long | bkwrongcolor |
unsigned long | wscolor |
LaxFont * | thefont |
int | valid |
An extra modifier to control what colors are used. | |
DoubleRectangle | textrect |
The rectangle inside of which text can be drawn. | |
Protected Attributes inherited from Laxkit::anXWindow | |
char * | win_tooltip |
Convenience variable to hold the window's tooltip, if any. | |
int | needtodraw |
RefPtrStack< anXWindow > | _kids |
Stack of children of the window. | |
Protected Attributes inherited from Laxkit::Tagged | |
PtrStack< char > | list_of_tags |
Protected Attributes inherited from Laxkit::TextEditBaseUtf8 | |
long | curline |
long | curpos |
long | selstart |
long | sellen |
int | cntlmovedist |
int | tabwidth |
char * | thetext |
char * | cutbuffer |
long | textlen |
long | maxtextmem |
char | newline |
char | newline2 |
char | cntlchar |
char | modified |
long | maxtextlen |
long | mintextlen |
long | maxcharswide |
long | mincharswide |
long | maxlines |
long | minlines |
unsigned long | textstyle |
int | undomode |
UndoManager | undomanager |
A generic single line text edit.
If there happen to be multiple keyboards focused on the edit, they all change the same point and the same selection. Nor are multiple mice allowed different selection areas.
Can use l/r/c/char tabs at arbitrary spacing, and l/r/c justification. The right and center justified styles replace the tabs with spaces when the text is displayed (not in the actual text).
LINEEDIT_POPUP==LINEEDIT_DESTROY_ON_FOCUS_OFF|DESTROY_ON_SEND|LINEEDIT_GRAB_ON_MAP for things like menuselector edit in place, or strinputslider
***undo??? or be able to do 'esc' to revert to what edit was before focus?
*** RBDown should shift screen
*** maybe put in margins+pad
you know, this could be abstracted so the underlying text functions of TextEditBase and TextXEditBase could be an object rather than a parent class.. would make swapping out the back end easier, so wouldn't have to rewrite the interface from scratch each time.. thinking of using pango, also what about interface tools that use text? have to rewrite the whole character input mechanism again?!?
Laxkit::LineEdit::LineEdit | ( | anXWindow * | parnt, |
const char * | nname, | ||
const char * | ntitle, | ||
unsigned int | nstyle, | ||
int | xx, | ||
int | yy, | ||
int | ww, | ||
int | hh, | ||
int | brder, | ||
anXWindow * | prev, | ||
unsigned long | nowner = 0 , |
||
const char * | nsend = NULL , |
||
const char * | newtext = NULL , |
||
unsigned int | ntstyle = 0 |
||
) |
Constructor. newtext should be Utf8 text.
ntstyle | See TextEditBaseUtf8 for what goes in this. |
References Laxkit::TextXEditBaseUtf8::con, Laxkit::TextXEditBaseUtf8::curlineoffset, Laxkit::TextXEditBaseUtf8::cx, Laxkit::TextXEditBaseUtf8::cy, Laxkit::TextXEditBaseUtf8::dpos, Laxkit::anXWindow::installColors(), Laxkit::TextXEditBaseUtf8::oldsellen, qualifier, Laxkit::rgbcolor(), Laxkit::TextXEditBaseUtf8::valid, and Laxkit::anXWindow::win_pointer_shape.
|
virtual |
^b ***for debugging, allows setting breakpoint accessible by ^b ^j toggle justification between left, center, and right ^t toggle textstyle&TEXT_TABS_STOPS ^. increase tabwidth ^, decrease tabwidth ^a select all ^x cut ^X cut +del cut ^v paste ^V paste +ins paste ^c copy ^C copy ^ins copy ^w toggle showing of whitespace ^tab next control ^+tab prev control del delete current character bksp delete previous character ^left back a word or group of whitespace ^right forward a word or group of whitespace
Reimplemented from Laxkit::anXWindow.
References Laxkit::TextXEditBaseUtf8::Black(), Laxkit::TextXEditBaseUtf8::Copy(), Laxkit::TextXEditBaseUtf8::cy, Laxkit::anXApp::destroywindow(), findcaret(), Laxkit::TextEditBaseUtf8::isword(), makeinwindow(), Laxkit::TextEditBaseUtf8::nextpos(), Laxkit::TextEditBaseUtf8::prevpos(), Laxkit::TextEditBaseUtf8::readonly(), Laxkit::anXWindow::SelectNextControl(), Laxkit::anXWindow::SelectPrevControl(), send(), Setpixwide(), and Laxkit::anXWindow::WindowTitle().
|
virtual |
Set cx,cy, the caret coordinates. cy is at font baseline.
This is called after setting curpos, before makeinwindow. Assumes curlineoffset is already set right.
References Laxkit::TextXEditBaseUtf8::curlineoffset, Laxkit::TextXEditBaseUtf8::cx, Laxkit::TextXEditBaseUtf8::cy, and Laxkit::TextXEditBaseUtf8::GetExtent().
Referenced by CharInput(), LBDblClick(), LBDown(), and MouseMove().
|
virtual |
Sends a message when focus off if LINEEDIT_SEND_FOCUS_OFF. Also deselect any selected text
Reimplemented from Laxkit::TextXEditBaseUtf8.
References send(), and Laxkit::anXWindow::win_active.
|
virtual |
Sends a message when focus on if LINEEDIT_SEND_FOCUS_ON. Also select all text.
Reimplemented from Laxkit::TextXEditBaseUtf8.
References send(), and Laxkit::anXWindow::win_active.
|
virtual |
Return double value of the text, or 0 if error.
If error_ret is not NULL, then it is set to 0 if all of thetext represents an single double. Nonzero otherwise.
Referenced by Laxkit::LineInput::GetDouble().
|
virtual |
Return a long value of the text or 0 if error.
If error_ret is not NULL, then it is set to 0 if all of thetext represents an single (long) integer. Nonzero otherwise.
Referenced by Laxkit::LineInput::GetLong(), Laxkit::ImageDialog::reallyGeneratePreview(), and send().
|
virtual |
Reimplemented from Laxkit::anXWindow.
References Laxkit::TextXEditBaseUtf8::curlineoffset, Laxkit::ButtonDownInfo::down(), findcaret(), findpos(), and LBDblClick().
|
virtual |
Changes curlineoffset, cx to be in window.
Assumes cx,cy already set accurately
References Laxkit::TextXEditBaseUtf8::curlineoffset, Laxkit::TextXEditBaseUtf8::cx, and Laxkit::TextXEditBaseUtf8::textrect.
Referenced by CharInput(), and MouseMove().
If LINEEDIT_FILE, then check for existence of qualifier/thetext, or just thetext if it seems like an absolute path.
Update valid if LINEEDIT_INT or LINEEDIT_FLOAT.
This is called whenever text is changed.
Reimplemented from Laxkit::TextEditBaseUtf8.
References LaxFiles::file_exists(), Laxkit::TextEditBaseUtf8::GetCText(), qualifier, send(), and Laxkit::TextXEditBaseUtf8::valid.
Reimplemented from Laxkit::anXWindow.
References Laxkit::TextXEditBaseUtf8::curlineoffset, findcaret(), findpos(), Laxkit::ButtonDownInfo::isdown(), and makeinwindow().
Replace occurence(s) of what with newstr.
If all==0, then replace only next. If all==1, then replace all occurences of what in thetext. If all==-1, the replace all what only within the selection if any.
Sends a SimpleMessage event to win_owner.
Puts info1=i and info2=GetLong().
If i==0, then the text was modified. If i==1, then enter was pressed. If i==2, then the edit got the focus. If i==3, then the edit lost the focus.
References GetLong(), Laxkit::TextEditBaseUtf8::GetText(), Laxkit::anXApp::SendMessage(), Laxkit::anXWindow::win_owner, and Laxkit::anXWindow::win_sendthis.
Referenced by CharInput(), FocusOff(), FocusOn(), and Modified().
|
virtual |
Set curlineoffset to reflect justification.
Usually called right before a findcaret, and after a change in thetext Returns 1 if curlineoffset changed
References Laxkit::TextXEditBaseUtf8::curlineoffset, Laxkit::TextXEditBaseUtf8::cx, and Laxkit::TextXEditBaseUtf8::GetExtent().
Referenced by CharInput().
|
protectedvirtual |
Set textrect.
This is called after a resize event to section off textrect from window. The default is to use the whole window.
Reimplemented from Laxkit::TextXEditBaseUtf8.
References Laxkit::TextXEditBaseUtf8::textrect.
char * Laxkit::LineEdit::qualifier |
Can be used during thetext validation.
For LINEEDIT_FILE, this is an extra path to prepend to thetext before checking for file existence.
Referenced by LineEdit(), and Modified().