234class TBlinkTimer :
public TTimer {
245Bool_t TBlinkTimer::Notify()
247 fTextEntry->HandleTimer(0);
343 int tw, max_ascent, max_descent;
351 Resize(tw + 8, max_ascent + max_descent + 7);
410 Emit(
"ReturnPressed()");
418 Emit(
"ShiftTabPressed()");
429 Emit(
"TabPressed()");
448 Emit(
"CursorOutLeft()");
456 Emit(
"CursorOutRight()");
464 Emit(
"CursorOutUp()");
472 Emit(
"CursorOutDown()");
480 Emit(
"DoubleClicked()");
529 int tw, ix, up, down, len;
535 if (xcoord < 0)
return 0;
536 if (xcoord > tw)
return len;
541 while (up-down > 1) {
548 if (tw == xcoord)
break;
650 fMaxLen = maxlen < 0 ? 0 : maxlen;
714 Int_t pos = newPos < len ? newPos : len;
715 fEndIX = pos < 0 ? 0 : pos;
773 while (i >= 0 && isprint(
GetText()[i]) && !isspace(
GetText()[i])) i--;
775 Int_t newStartIX = i;
779 while(isspace(
GetText()[i])) i++;
798 for (
int i=0; i<t.
Length(); i++) {
799 if (t[i] <
' ') t[i] =
' ';
873 while (i > 0 && isspace(
GetText()[i-1])) --i;
874 while (i > 0 && !isspace(
GetText()[i-1])) --i;
1066 if (
gClient->GetStyle() < 2) {
1089 Int_t x,
y, max_ascent, max_descent,
h;
1104 h = max_ascent + max_descent;
1127 Int_t charWidth = ind < 0 || fCursorIX > len - 1 ? 4 :
1141 int xs,
ws, ixs, iws;
1151 dt.
Data() + ixs, iws);
1238 gVirtualX->LookupString(event, tmp,
sizeof(tmp), keysym);
1259 switch ((
EKeySym)keysym & ~0x20) {
1306 }
else if (
n && keysym <127 && keysym >=32 &&
1519 reply.
fTime =
event->fTime;
1520 reply.
fUser[0] =
event->fUser[0];
1521 reply.
fUser[1] =
event->fUser[1];
1522 reply.
fUser[2] =
event->fUser[2];
1523 reply.
fUser[3] =
event->fUser[3];
1539 buffer =
new char[len+1];
1563 gVirtualX->GetPasteBuffer(wid, property, data, nchar, del);
1653 if (textWidth > 0 && textWidth > w) {
1720 newText.
Remove(pos, len);
1852 parFont.
Form(
"%s::GetDefaultFontStruct()",IsA()->
GetName());
1855 parGC.
Form(
"%s::GetDefaultGC()()",IsA()->
GetName());
1861 parFont.
Form(
"ufont->GetFontStruct()");
1867 parGC.
Form(
"uGC->GetGC()");
1873 out <<
" TGTextEntry *";
1882 out <<
");" << std::endl;
1884 out <<
"," <<
fWidgetId <<
");" << std::endl;
1887 out <<
"," <<
fWidgetId <<
"," << parGC.
Data() <<
");" << std::endl;
1891 <<
");" << std::endl;
1901 if (option && strstr(option,
"keep_names"))
1902 out <<
" " <<
GetName() <<
"->SetName(\"" <<
GetName() <<
"\");" << std::endl;
1906 out <<
" " <<
GetName() <<
"->SetAlignment(";
1909 out <<
"kTextLeft);" << std::endl;
1912 out <<
"kTextRight);" << std::endl;
1915 out <<
"kTextCenterX);" << std::endl;
1917 out <<
" " <<
GetName() <<
"->SetText(" << quote <<
GetText() << quote
1918 <<
");" << std::endl;
1921 <<
"->GetDefaultHeight());" << std::endl;
1924 out <<
" " <<
GetName() <<
"->SetDefaultSize(";
1932 out <<
GetName() <<
"->SetToolTipText(" << quote
1933 << tiptext << quote <<
");" << std::endl;
const Mask_t kWABitGravity
const Mask_t kButtonMotionMask
const Mask_t kFocusChangeMask
const Mask_t kButtonPressMask
Handle_t FontH_t
Font handle (as opposed to Font_t which is an index)
const Mask_t kWAWinGravity
const Mask_t kAnyModifier
const Mask_t kKeyPressMask
const Mask_t kKeyShiftMask
const Mask_t kKeyControlMask
const Mask_t kLeaveWindowMask
const Mask_t kStructureNotifyMask
Handle_t GContext_t
Graphics context handle.
const Mask_t kButtonReleaseMask
const Mask_t kEnterWindowMask
Handle_t FontStruct_t
Pointer to font structure.
ULong_t Pixel_t
Pixel value.
Handle_t Window_t
Window handle.
const Atom_t kCutBuffer
in /usr/include/X11/Xatom.h
TGTextEntry * gBlinkingEntry
R__EXTERN TSystem * gSystem
The color creation and management class.
ULong_t GetPixel() const
Return pixel value corresponding to this color.
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
void ProcessLine(TString cmd, Long_t msg, Long_t parm1, Long_t parm2)
Execute string "cmd" via the interpreter.
TGFont * GetFont(const char *font, Bool_t fixedDefault=kTRUE)
Get a font from the font pool.
const TGResourcePool * GetResourcePool() const
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
FontStruct_t GetFontStruct() const
virtual void SavePrimitive(std::ostream &out, Option_t *="")
Save the used font as a C++ statement(s) on output stream out.
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
static const TGGC & GetBlackGC()
Get black graphics context.
virtual Bool_t HandleConfigureNotify(Event_t *event)
This event is generated when the frame is resized.
static Pixel_t GetWhitePixel()
Get white pixel value.
virtual void DrawBorder()
Draw frame border.
static const TGGC & GetHilightGC()
Get highlight color graphics context.
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
virtual void SendMessage(const TGWindow *w, Long_t msg, Long_t parm1, Long_t parm2)
Send message (i.e.
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
virtual UInt_t GetOptions() const
TString GetOptionString() const
Returns a frame option string - used in SavePrimitive().
static const TGGC & GetShadowGC()
Get shadow color graphics context.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
static Pixel_t fgWhitePixel
void SaveUserColor(std::ostream &out, Option_t *)
Save a user color in a C++ macro file - used in SavePrimitive().
static const TGGC & GetBckgndGC()
Get background color graphics context.
TGGC * FindGC(const TGGC *gc)
Find graphics context. Returns 0 in case gc is not found.
void SavePrimitive(std::ostream &out, Option_t *option="")
Save graphics context info as a C++ statement(s) on output stream out.
void SetFont(FontH_t v)
Set font.
void SetForeground(Pixel_t v)
Set foreground color.
Cursor_t GetTextCursor() const
Atom_t GetClipboard() const
TGGCPool * GetGCPool() const
const char * GetString() const
UInt_t GetBufferLength() const
void AddText(Int_t pos, const char *text)
const char * GetString() const
void RemoveText(Int_t pos, Int_t length)
UInt_t GetTextLength() const
virtual void SetState(Bool_t state)
Set state of widget. If kTRUE=enabled, kFALSE=disabled.
virtual void SetFocus()
Set focus to this text entry.
virtual Bool_t HandleKey(Event_t *event)
The key press event handler converts a key press to some line editor action.
void CursorLeft(Bool_t mark=kFALSE, Int_t steps=1)
Moves the cursor leftwards one or more characters.
void CursorRight(Bool_t mark=kFALSE, Int_t steps=1)
Moves the cursor rightwards one or more characters.
Bool_t HasMarkedText() const
virtual void SetEchoMode(EEchoMode mode=kNormal)
The echo modes available are:
virtual void SetDefaultSize(UInt_t w, UInt_t h)
Set the default / minimal size of the widget.
virtual void SetMaxLength(Int_t maxlen)
Set the maximum length of the text in the editor.
static FontStruct_t GetDefaultFontStruct()
Return default font structure in use.
virtual void RemoveText(Int_t start, Int_t end)
Removes text at the range, clears the selection and moves the cursor to the end of the line.
virtual Bool_t HandleSelectionRequest(Event_t *event)
Handle request to send current clipboard contents to requestor window.
TString GetDisplayText() const
Returns the text that's currently displayed.
virtual ~TGTextEntry()
Delete a text entry widget.
virtual Bool_t HandleConfigureNotify(Event_t *event)
Handles resize events for this widget.
void Deselect()
Deselects all text (i.e.
void CopyText() const
Copies the marked text to the clipboard, if there is any and GetEchoMode() is kNormal.
virtual Bool_t HandleCrossing(Event_t *event)
Handle mouse crossing event.
static TString * fgClipboardText
virtual void UpdateOffset()
Updates start text offset according GetAlignment() mode, if cursor is out of frame => scroll the text...
TGTextBuffer * GetBuffer() const
const char * GetText() const
virtual void TabPressed()
This signal is emitted when the <TAB> key is pressed.
void CursorWordBackward(Bool_t mark=kFALSE)
Moves the cursor one word to the left.
virtual void SetCursorPosition(Int_t pos)
Set the cursor position to newPos.
void Backspace()
Deletes the character on the left side of the text cursor and moves the cursor one position to the le...
TString GetMarkedText() const
Returns the text marked by the user (e.g.
virtual Bool_t HandleFocusChange(Event_t *event)
Handle focus change event in text entry widget.
void Del()
Deletes the character on the right side of the text cursor.
static const TGFont * fgDefaultFont
virtual Bool_t HandleTimer(TTimer *t)
Handle cursor blink timer.
void NewMark(Int_t pos)
New character mark at position pos.
Bool_t IsFrameDrawn() const
virtual Bool_t HandleMotion(Event_t *event)
Handle mouse motion event in the text entry widget.
static const TGGC & GetDefaultSelectedBackgroundGC()
Return graphics context for highlighted frame background.
TGTextEntry(const TGTextEntry &)=delete
virtual void AppendText(const char *text)
Appends text to the end of text entry, clears the selection and moves the cursor to the end of the li...
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a text entry widget as a C++ statement(s) on output stream out.
virtual void SelectAll()
Selects all text (i.e.
virtual void CursorOutRight()
This signal is emitted when cursor is going out of right side.
virtual Bool_t HandleSelectionClear(Event_t *event)
Handle selection clear event.
void Paste()
Inserts text at the cursor position, deleting any previous marked text.
virtual void SetFrameDrawn(Bool_t flag=kTRUE)
Sets the text entry to draw itself inside a two-pixel frame if enable is kTRUE, and to draw itself wi...
virtual void SetAlignment(ETextJustification mode=kTextLeft)
Sets the alignment of the text entry.
virtual void ScrollByChar()
Shift position of cursor by one character.
Int_t GetCharacterIndex(Int_t xcoord)
Returns the index of the character to whose left edge xcoord is closest.
EInsertMode GetInsertMode() const
virtual void ShiftTabPressed()
This signal is emitted when SHIFT and TAB keys are pressed.
virtual void ReturnPressed()
This signal is emitted when the return or enter key is pressed.
static const TGGC * fgDefaultSelectedGC
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
EEchoMode GetEchoMode() const
ETextJustification fAlignment
virtual void SetTextColor(Pixel_t color, Bool_t local=kTRUE)
Changes text color.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
virtual void CursorOutLeft()
This signal is emitted when cursor is going out of left side.
virtual TGDimension GetDefaultSize() const
Return the default / minimal size of the widget.
void Clear(Option_t *option="")
Clears up the text entry.
void Cut()
Copies the marked text to the clipboard and deletes it, if there is any.
static const TGGC * fgDefaultGC
void End(Bool_t mark=kFALSE)
Moves the text cursor to the right end of the line.
virtual void InsertText(const char *text, Int_t pos)
Inserts text at position pos, clears the selection and moves the cursor to the end of the line.
virtual void CursorOutDown()
This signal is emitted when cursor is going out of bottom side.
virtual void SetFont(TGFont *font, Bool_t local=kTRUE)
Changes text font specified by pointer to TGFont object.
virtual Bool_t IsCursorOutOfFrame()
Returns kTRUE if cursor is out of frame.
virtual void SetInsertMode(EInsertMode mode=kInsert)
Sets the mode how characters are entered to the text entry.
void CursorWordForward(Bool_t mark=kFALSE)
Moves the cursor one word to the right.
virtual void Insert(const char *)
Removes any currently selected text, inserts newText, sets it as the new contents of the text entry.
virtual void Init()
Do default initialization.
virtual Bool_t HandleSelection(Event_t *event)
Handle text selection event.
void MarkWord(Int_t pos)
Marks the word nearest to cursor position.
virtual void TextChanged(const char *text=nullptr)
This signal is emitted every time the text has changed.
void Home(Bool_t mark=kFALSE)
Moves the text cursor to the left end of the line.
virtual Bool_t HandleDoubleClick(Event_t *event)
Handle mouse double click event in the text entry widget.
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event in text entry widget.
virtual void DoubleClicked()
This signal is emitted when widget is double clicked.
virtual void PastePrimary(Window_t wid, Atom_t property, Bool_t del)
Paste text from selection (either primary or cut buffer) into text entry widget.
static const TGGC & GetDefaultSelectedGC()
Return selection graphics context.
virtual void CursorOutUp()
This signal is emitted when cursor is going out of upper side.
static const TGGC & GetDefaultGC()
Return default graphics context.
Int_t GetMaxLength() const
virtual void DoRedraw()
Draw the text entry widget.
virtual void DrawBorder()
Draw the border of the text entry widget.
void Remove()
Deletes all characters on the right side of the cursor.
static const TGGC * fgDefaultSelectedBackgroundGC
virtual void SetWindowName(const char *name=0)
Set window name.
virtual const char * GetName() const
Return unique name, used in SavePrimitive methods.
virtual void RequestFocus()
request focus
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
@ kNotDeleted
object has not been deleted
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
TString & Insert(Ssiz_t pos, const char *s)
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
TString & Prepend(const char *cs)
TString & Remove(Ssiz_t pos)
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
virtual void AddTimer(TTimer *t)
Add timer to list of system timers.
Handles synchronous and a-synchronous timer events.
virtual Bool_t Notify()
Notify when timer times out.
Short_t Max(Short_t a, Short_t b)
Short_t Min(Short_t a, Short_t b)
EGEventType fType
of event (see EGEventType)
UInt_t fState
key or button mask
Long_t fUser[5]
5 longs can be used by client message events NOTE: only [0], [1] and [2] may be used.
Time_t fTime
time event event occurred in ms
UInt_t fCode
key or button code
Attributes that can be used when creating or changing a window.
Mask_t fMask
bit mask specifying which fields are valid
Int_t fWinGravity
one of the window gravity values
Int_t fBitGravity
one of bit gravity values