44#include "RConfigure.h"
50 "Text files",
"*.txt",
220 start_src.
fX = start_src.
fY = 0;
398 if (untitled || saveas) {
500 buf2 =
new char[
len + 2];
504 while (buf2[i] !=
'\0') {
505 if (buf2[i] ==
'\t') {
507 while (buf2[j] == 16)
510 strcpy(buf2+i+1, buf2+j);
514 fwrite(buf2,
sizeof(
char), strlen(buf2)+1,
p);
523 msg.
Form(
"Printed: %s\nLines: %ld\nUsing: %s -P%s",
563 if (endPos.
fX == -1) {
607 th = th < 0 ? 0 : th;
608 ys = ys < 0 ? 0 : ys;
658 msg.
Form(
"Couldn't find \"%s\"",
string);
703 const char *newText,
Bool_t direction,
Bool_t caseSensitive)
706 if (!
fText->
Replace(textPos, oldText, newText, direction, caseSensitive)) {
845 if (count == -1 || count ==
'\t') {
970 start_src.
fY = start_src.
fX = 0;
974 if (end_src.
fX < 0) {
991 if (start_src.
fY == end_src.
fY) {
1068 char *word =
line->GetWord(pos.
fX);
1167 if (
line[i] ==
' ' ||
line[i] ==
'\t') {
1168 while (start >= 0) {
1169 if (
line[start] ==
' ' ||
line[start] ==
'\t') --start;
1174 if (
line[end] ==
' ' ||
line[end] ==
'\t') ++end;
1177 }
else if (isalnum(
line[i])) {
1178 while (start >= 0) {
1179 if (isalnum(
line[start])) --start;
1184 if (isalnum(
line[end])) ++end;
1188 while (start >= 0) {
1189 if (isalnum(
line[start]) ||
line[start] ==
' ' ||
line[start] ==
'\t') {
1197 if (isalnum(
line[end]) ||
line[end] ==
' ' ||
line[end] ==
'\t') {
1211 char *word =
new char[
len + 1];
1294 switch((
EKeySym)keysym & ~0x20) {
1389 if (
n && keysym >= 32 && keysym < 127 &&
1576 fCanvas, 400, 150, srch, &ret);
1579 this,
"Search(char *,Bool_t,Bool_t)");
1609 msg2.
Form(
"Save \"%s\"?",
1707 printf(
"No action implemented for menu id %zd\n", (
size_t)parm1);
1728 char *charstring = 0;
1731 if (character ==
'\t') {
1736 while (pos.
fX & 0x7) {
1760 charstring =
new char[2];
1761 charstring[1] =
'\0';
1762 charstring[0] = character;
1775 charstring, strlen(charstring));
1781 if (lineStart < currentLine->GetLineLength()) {
1782 const char *textToRender = currentLine->GetText(lineStart, currentLine->GetLineLength() - lineStart);
1790 delete [] textToRender;
1809 charstring, strlen(charstring));
1813 delete [] charstring;
2210 out <<
" TGTextEdit *";
2213 <<
");"<< std::endl;
2215 out <<
" " <<
GetName() <<
"->SetName(\"" <<
GetName() <<
"\");" << std::endl;
2218 out <<
" " <<
GetName() <<
"->SetReadOnly(kTRUE);" << std::endl;
2222 out <<
" " <<
GetName() <<
"->EnableMenu(kFALSE);" << std::endl;
2241 out <<
" " <<
GetName() <<
"->LoadFile(" << quote << fn.
Data() << quote <<
");" << std::endl;
Handle_t Window_t
Window handle.
const Mask_t kKeyShiftMask
const Mask_t kKeyControlMask
ULong_t Pixel_t
Pixel value.
static const char * gFiletypes[]
static char * gPrintCommand
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void data
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t cursor
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t del
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void on
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char mode
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t nchar
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
Option_t Option_t TPoint TPoint const char text
R__EXTERN void * gTQSender
char * StrDup(const char *str)
Duplicate the string str.
R__EXTERN TSystem * gSystem
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
TBreakLineCom(TGTextEdit *te)
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
TDelCharCom(TGTextEdit *te)
void SetEndPos(TGLongPosition end)
TDelTextCom(TGTextEdit *te, TGText *txt)
void SetBreakLine(Bool_t on)
TDelTextCom & operator=(const TDelTextCom &dtc)
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
TDelTextCom(const TDelTextCom &dtc)
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
Bool_t IsEditable() const
const TGResourcePool * GetResourcePool() const
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
This class creates a file selection dialog.
char * fFilename
selected file name
const char ** fFileTypes
file types used to filter selectable files
char * fIniDir
on input: initial directory, on output: new directory
Bool_t fOverwrite
if true overwrite the file with existing name on save
void SetIniDir(const char *inidir)
Set directory name.
virtual Bool_t ProcessMessage(Longptr_t, Longptr_t, Longptr_t)
static Time_t fgLastClick
virtual void SendMessage(const TGWindow *w, Longptr_t msg, Longptr_t parm1, Longptr_t parm2)
Send message (i.e.
virtual Pixel_t GetBackground() const
static Pixel_t fgWhitePixel
void MapRaised() override
map raised
Encapsulate a graphics context used in the low level graphics.
void SetFunction(EGraphicsFunction v)
Set graphics context drawing function.
TGClient * fClient
Connection to display server.
Handle_t fId
X11/Win32 Window identifier.
Cursor_t GetTextCursor() const
virtual TGSearchType * GetType() const
static TGSearchDialog *& SearchDialog()
Return global search dialog.
void SetPos(TGLongPosition pos)
TGTextEditCommand(TGTextEdit *te)
Bool_t Notify() override
'Notify' all objects in this collection.
~TGTextEditHist() override
A TGTextEdit is a specialization of TGTextView.
TGLongPosition fCurrent
current cursor position
TGTextEditHist * fHistory
undo manager
GContext_t fCursor1GC
graphics context for drawing cursor
TGTextEdit(const TGTextEdit &)=delete
virtual Bool_t Goto(Long_t line, Long_t column=0)
Goto the specified line.
static TGGC * fgCursor0GC
static const TGGC & GetCursor1GC()
Return default graphics context for text cursor.
virtual Bool_t Replace(TGLongPosition pos, const char *oldText, const char *newText, Bool_t direction, Bool_t caseSensitive)
Replace text starting at textPos.
virtual void DrawCursor(Int_t mode)
Draw cursor. If mode = 1 draw cursor, if mode = 2 erase cursor.
Bool_t HandleMotion(Event_t *event) override
Handle mouse motion event in text edit widget.
TList * GetHistory() const
virtual void AdjustPos()
Adjust current position.
virtual Bool_t SaveFile(const char *fname, Bool_t saveas=kFALSE)
Save file.
Bool_t HandleDoubleClick(Event_t *event) override
Handle double click event.
EInsertMode GetInsertMode() const
void Delete(Option_t *="") override
Delete selection.
void ScrollCanvas(Int_t newTop, Int_t direction) override
Scroll the canvas to new_top in the kVertical or kHorizontal direction.
void SavePrimitive(std::ostream &out, Option_t *="") override
Save a text edit widget as a C++ statement(s) on output stream out.
virtual void SetMenuState()
Enable/disable menu items in function of what is possible.
virtual Bool_t Cut()
Cut text.
Bool_t fEnableMenu
enable context menu with editor actions
TGLongPosition GetCurrentPos() const
void Clear(Option_t *="") override
Clear text edit widget.
virtual void DelChar()
Delete a character from the text edit widget.
Bool_t HandleFocusChange(Event_t *event) override
Handle focus change event in text edit widget.
GContext_t fCursor0GC
graphics context for erasing cursor
virtual void LineDown()
Move one line down.
virtual void ScreenDown()
Move one screen down.
Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
Process context menu messages.
Bool_t Copy() override
Copy text.
virtual void LineUp()
Make current position first line in window by scrolling up.
EInsertMode fInsertMode
OPTION={GetMethod="GetInsertMode";SetMethod="SetInsertMode";Items=(kInsert="&Insert",...
virtual void CursorOn()
Turn cursor on.
virtual void SetCurrent(TGLongPosition new_coord)
Make the specified position the current position.
virtual void NextChar()
Go to next character.
virtual void ScreenUp()
Move one screen up.
virtual void BreakLine()
Break a line.
void Print(Option_t *="") const override
Send current buffer to printer.
virtual void InsChar(char character)
Insert a character in the text edit widget.
virtual void SetInsertMode(EInsertMode mode=kInsert)
Sets the mode how characters are entered.
virtual void CursorOff()
If cursor if on, turn it off.
Int_t fCursorState
cursor state (1=drawn, 2=erased)
TGSearchType * fSearch
structure used by search dialog
Bool_t Search(const char *string, Bool_t direction=kTRUE, Bool_t caseSensitive=kFALSE) override
Search for string in the specified direction.
virtual void PrevChar()
Go to the previous character.
virtual Bool_t Paste()
Paste text into widget.
virtual Bool_t IsMenuEnabled() const
Bool_t HandleKey(Event_t *event) override
The key press event handler converts a key press to some line editor action.
void DrawRegion(Int_t x, Int_t y, UInt_t width, UInt_t height) override
Redraw the text edit widget.
TGPopupMenu * fMenu
popup menu with editor actions
~TGTextEdit() override
Cleanup text edit widget.
Bool_t HandleSelection(Event_t *event) override
Handle selection notify event.
Bool_t HandleButton(Event_t *event) override
Handle mouse button event in text edit widget.
Bool_t HandleTimer(TTimer *t) override
Handle timer cursor blink timer.
Long_t ReturnLongestLineWidth() override
Return width of longest line in widget.
Bool_t fEnableCursorWithoutFocus
enable cursor visibility when focus went out from text editor window (default is kTRUE)
virtual void Home()
Move to beginning of line.
Bool_t HandleCrossing(Event_t *event) override
Handle mouse crossing event.
static TGGC * fgCursor1GC
TViewTimer * fCurBlink
cursor blink timer
virtual void End()
Move to end of line.
void Init()
Initialize a text edit widget.
static const TGGC & GetCursor0GC()
Return selection graphics context for text cursor.
char * GetText(ULong_t pos, ULong_t length)
Get length characters from line starting at pos.
A TGTextView is a text viewer widget.
Int_t fMaxDescent
maximum descent in font
virtual void Update()
update the whole window of text view
TGGC fNormGC
graphics context for drawing text
Bool_t fReadOnly
text cannot be edited
TGText * fText
text buffer
virtual void UnMark()
Clear marked region.
virtual Long_t ToObjXCoord(Long_t xCoord, Long_t line)
Convert x screen coordinate to column in specified line.
virtual void SetHsbPosition(Long_t newPos)
Set position of horizontal scrollbar.
virtual Bool_t LoadFile(const char *fname, long startpos=0, long length=-1)
Load a file in the text view widget.
virtual void Mark(Long_t xPos, Long_t yPos)
Mark a text region from xPos to yPos.
void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h) override
Draw lines in exposed region.
virtual Long_t ToScrYCoord(Long_t yCoord)
Convert line number to screen coordinate.
virtual Long_t ReturnLongestLineWidth()
Return width of longest line.
Bool_t HandleCrossing(Event_t *event) override
Handle mouse crossing event.
TGText * fClipText
clipboard text buffer
static const TGGC & GetDefaultSelectedGC()
Return selection graphics context in use.
static const TGGC & GetDefaultGC()
Return default graphics context in use.
Bool_t HandleTimer(TTimer *t) override
Handle scroll timer.
Bool_t fIsMarked
true if text is marked/selected
Bool_t HandleMotion(Event_t *event) override
Handle mouse motion event in the text editor widget.
virtual void Clicked(const char *word)
TGGC fSelbackGC
graphics context for drawing marked background
TGGC fSelGC
graphics context for drawing marked text
virtual Bool_t SelectAll()
Select all text in the viewer.
virtual void SetVsbPosition(Long_t newPos)
Set position of vertical scrollbar.
TGLongPosition fMarkedEnd
end position of marked text
virtual Long_t ToScrXCoord(Long_t xCoord, Long_t line)
Convert column number in specified line to screen coordinate.
virtual void DataChanged()
Bool_t IsReadOnly() const
virtual Bool_t Copy()
Copy selected text to clipboard.
virtual void DoubleClicked(const char *word)
Bool_t HandleButton(Event_t *event) override
Handle mouse button event in text editor.
virtual void SetSBRange(Int_t direction)
Set the range for the kVertical or kHorizontal scrollbar.
TGLongPosition fMarkedStart
start position of marked text
virtual Long_t ToObjYCoord(Long_t yCoord)
Convert y screen coordinate to line number.
void Clear(Option_t *="") override
Clear text view widget.
A TGText is a multi line text buffer.
Bool_t InsChar(TGLongPosition pos, char c)
Insert character c at the specified position pos.
void ReTab(Long_t row)
Redo all tabs in a line. Needed after a new tab is inserted.
Bool_t DelText(TGLongPosition start, TGLongPosition end)
Delete text between start and end positions.
Bool_t Search(TGLongPosition *foundPos, TGLongPosition start, const char *searchString, Bool_t direction, Bool_t caseSensitive)
Search for string searchString starting at the specified position going in forward (direction = true)...
Bool_t DelLine(ULong_t pos)
Delete specified row. Returns false if row does not exist.
Bool_t Save(const char *fn)
Save text buffer to file fn.
Bool_t Replace(TGLongPosition start, const char *oldText, const char *newText, Bool_t direction, Bool_t caseSensitive)
Replace oldText by newText. Returns false if nothing replaced.
Bool_t DelChar(TGLongPosition pos)
Delete character at specified position pos.
Bool_t BreakLine(TGLongPosition pos)
Break line at position pos. Returns false if pos is not valid.
Bool_t InsText(TGLongPosition pos, const char *buf)
Insert single line at specified position.
char * GetLine(TGLongPosition pos, ULong_t length)
Return string at position pos.
char GetChar(TGLongPosition pos)
Get character a position pos. If character not valid return -1.
Bool_t LoadBuffer(const char *txtbuf)
Load a 0 terminated buffer. Lines will be split at ' '.
void Clear()
Clear text buffer.
TGTextLine * GetCurrentLine() const
const char * GetFileName() const
Long_t GetLineLength(Long_t row)
Get length of specified line. Returns -1 if row does not exist.
TString AsString()
Returns content as ROOT string.
Atom_t fClipboard
clipboard property
TGHScrollBar * fHsb
horizontal scrollbar
TGVScrollBar * fVsb
vertical scrollbar
TGLongPosition fVisible
position of visible region
Int_t fScrolling
scrolling direction
TGLongPosition fScrollVal
scroll value
TGViewFrame * fCanvas
frame containing the text
virtual void UpdateRegion(Int_t x, Int_t y, UInt_t w, UInt_t h)
update a part of view
virtual void ScrollCanvas(Int_t newTop, Int_t direction)
Scroll the canvas to new_top in the kVertical or kHorizontal direction.
TGRectangle fExposedRegion
exposed area
ROOT GUI Window base class.
const TGWindow * fParent
Parent window.
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
const char * GetName() const override
Return unique name, used in SavePrimitive methods.
TInsCharCom(TGTextEdit *te, char ch)
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
Bool_t Notify() override
This method must be overridden to handle object notification (the base implementation is no-op).
void SetEndPos(TGLongPosition end)
TInsTextCom(TGTextEdit *te)
void Add(TObject *obj) override
TObject * Last() const override
Return the last object in the list. Returns 0 when list is empty.
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
void RemoveLast() override
Remove the last object of the list.
Mother of all ROOT objects.
virtual Bool_t Notify()
This method must be overridden to handle object notification (the base implementation is no-op).
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
virtual Bool_t ExpandPathName(TString &path)
Expand a pathname getting rid of special shell characters like ~.
virtual FILE * OpenPipe(const char *command, const char *mode)
Open a pipe.
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
virtual void AddTimer(TTimer *t)
Add timer to list of system timers.
virtual int ClosePipe(FILE *pipe)
Close the pipe.
Handles synchronous and a-synchronous timer events.
void Reset()
Reset the timer.
EGEventType fType
of event (see EGEventType)
Int_t fY
pointer x, y coordinates in event window
Window_t fWindow
window reported event is relative to
UInt_t fState
key or button mask
Int_t fYRoot
coordinates relative to root
Time_t fTime
time event event occurred in ms
UInt_t fCode
key or button code
Longptr_t fUser[5]
5 longs can be used by client message events NOTE: only [0], [1] and [2] may be used.