12 #ifndef ROOT_TGTextEdit
13 #define ROOT_TGTextEdit
32 class TGTextEdit :
public TGTextView {
35 TGTextEdit(
const TGTextEdit&);
36 TGTextEdit& operator=(
const TGTextEdit&);
39 enum EInsertMode { kInsert, kReplace };
41 kM_FILE_NEW, kM_FILE_OPEN, kM_FILE_CLOSE, kM_FILE_SAVE, kM_FILE_SAVEAS,
42 kM_FILE_PRINT, kM_EDIT_CUT, kM_EDIT_COPY, kM_EDIT_PASTE, kM_EDIT_SELECTALL,
43 kM_SEARCH_FIND, kM_SEARCH_FINDAGAIN, kM_SEARCH_GOTO
47 GContext_t fCursor0GC;
48 GContext_t fCursor1GC;
50 TViewTimer *fCurBlink;
52 TGSearchType *fSearch;
53 TGLongPosition fCurrent;
54 EInsertMode fInsertMode;
56 TGTextEditHist *fHistory;
57 Bool_t fEnableCursorWithoutFocus;
60 static TGGC *fgCursor0GC;
61 static TGGC *fgCursor1GC;
65 virtual void SetMenuState();
66 virtual void CursorOn();
67 virtual void CursorOff();
68 virtual void DrawCursor(Int_t mode);
69 virtual void AdjustPos();
70 virtual void Copy(TObject &)
const { MayNotUse(
"Copy(TObject &)"); }
72 static const TGGC &GetCursor0GC();
73 static const TGGC &GetCursor1GC();
76 TGTextEdit(
const TGWindow *parent = 0, UInt_t w = 1, UInt_t h = 1, Int_t
id = -1,
77 UInt_t sboptions = 0, Pixel_t back = GetWhitePixel());
78 TGTextEdit(
const TGWindow *parent, UInt_t w, UInt_t h, TGText *text,
79 Int_t
id = -1, UInt_t sboptions = 0, Pixel_t back = GetWhitePixel());
80 TGTextEdit(
const TGWindow *parent, UInt_t w, UInt_t h,
const char *
string,
81 Int_t
id = -1, UInt_t sboptions = 0, Pixel_t back = GetWhitePixel());
83 virtual ~TGTextEdit();
85 virtual Bool_t SaveFile(
const char *fname, Bool_t saveas = kFALSE);
86 virtual void Clear(Option_t * =
"");
87 virtual Bool_t Copy();
89 virtual Bool_t Paste();
90 virtual void InsChar(
char character);
91 virtual void DelChar();
92 virtual void BreakLine();
93 virtual void PrevChar();
94 virtual void NextChar();
95 virtual void LineUp();
96 virtual void LineDown();
97 virtual void ScreenUp();
98 virtual void ScreenDown();
101 virtual void Print(Option_t * =
"")
const;
102 virtual void Delete(Option_t * =
"");
103 virtual Bool_t Search(
const char *
string, Bool_t direction = kTRUE, Bool_t caseSensitive = kFALSE);
104 virtual void Search(Bool_t close);
105 virtual Bool_t Replace(TGLongPosition pos,
const char *oldText,
const char *newText,
106 Bool_t direction, Bool_t caseSensitive);
107 virtual Bool_t Goto(Long_t line, Long_t column = 0);
108 virtual void SetInsertMode(EInsertMode mode = kInsert);
109 EInsertMode GetInsertMode()
const {
return fInsertMode; }
110 TGPopupMenu *GetMenu()
const {
return fMenu; }
111 virtual void EnableMenu(Bool_t on = kTRUE) { fEnableMenu = on; }
112 virtual Bool_t IsMenuEnabled()
const {
return fEnableMenu; }
113 TList *GetHistory()
const {
return (TList *)fHistory; }
114 virtual void EnableCursorWithoutFocus(Bool_t on = kTRUE) { fEnableCursorWithoutFocus = on; }
115 virtual Bool_t IsCursorEnabledithoutFocus()
const {
return fEnableCursorWithoutFocus; }
117 virtual void DrawRegion(Int_t x, Int_t y, UInt_t width, UInt_t height);
118 virtual void ScrollCanvas(Int_t newTop, Int_t direction);
119 virtual void SetFocus() { RequestFocus(); }
121 virtual void SetCurrent(TGLongPosition new_coord);
122 TGLongPosition GetCurrentPos()
const {
return fCurrent; }
123 virtual Long_t ReturnLongestLineWidth();
125 virtual Bool_t HandleTimer(TTimer *t);
126 virtual Bool_t HandleSelection (Event_t *event);
127 virtual Bool_t HandleButton(Event_t *event);
128 virtual Bool_t HandleKey(Event_t *event);
129 virtual Bool_t HandleMotion(Event_t *event);
130 virtual Bool_t HandleCrossing(Event_t *event);
131 virtual Bool_t HandleFocusChange(Event_t *event);
132 virtual Bool_t HandleDoubleClick(Event_t *event);
133 virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
135 virtual void FindAgain() { Emit(
"FindAgain()"); }
136 virtual void Closed() { Emit(
"Closed()"); }
137 virtual void Opened() { Emit(
"Opened()"); }
138 virtual void Saved() { Emit(
"Saved()"); }
139 virtual void SavedAs() { Emit(
"SavedAs()"); }
141 virtual void SavePrimitive(std::ostream &out, Option_t * =
"");
143 ClassDef(TGTextEdit,0)