Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGTextEditor.h
Go to the documentation of this file.
1// @(#)root/gui:$Id$
2// Author: Bertrand Bellenot 20/06/06
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TGTextEditor
13#define ROOT_TGTextEditor
14
15
16#include "TGFrame.h"
17#include "TGTextEdit.h"
18
19class TGComboBox;
20class TGLabel;
21class TGLayoutHints;
22class TGMenuBar;
23class TGPopupMenu;
24class TGStatusBar;
25class TGText;
26class TGTextBuffer;
27class TGTextEntry;
28class TGToolBar;
29class TMacro;
30class TString;
31class TTimer;
32
33class TGTextEditor : public TGMainFrame {
34
35protected:
36
37 TTimer *fTimer; ///< for statusbar and toolbar update
38 TGStatusBar *fStatusBar; ///< for file name, line and col number
39 TGToolBar *fToolBar; ///< toolbar with common tool buttons
40 TGTextEdit *fTextEdit; ///< text edit widget
41 TGLabel *fLabel; ///< "command" label
42 TGComboBox *fComboCmd; ///< commands combobox
43 TGTextEntry *fCommand; ///< command text entry widget
44 TGTextBuffer *fCommandBuf; ///< command text buffer
45 TGLayoutHints *fMenuBarLayout; ///< used for the menubar
46 TGLayoutHints *fMenuBarItemLayout; ///< used for for menubar items
47 TGMenuBar *fMenuBar; ///< editor's menu bar
48 TGPopupMenu *fMenuFile; ///< "File" menu entry
49 TGPopupMenu *fMenuEdit; ///< "Edit" menu entry
50 TGPopupMenu *fMenuSearch; ///< "Search" menu entry
51 TGPopupMenu *fMenuTools; ///< "Tools" menu entry
52 TGPopupMenu *fMenuHelp; ///< "Help" menu entry
53 Bool_t fExiting; ///< true if editor is closing
54 Bool_t fTextChanged; ///< true if text has changed
55 TString fFilename; ///< name of the opened file
56 TMacro *fMacro; ///< pointer on the opened macro
57 virtual void Build();
58
59public:
60 TGTextEditor(const char *filename = 0, const TGWindow *p = 0,
61 UInt_t w = 900, UInt_t h = 600);
62 TGTextEditor(TMacro *macro, const TGWindow *p = 0, UInt_t w = 0,
63 UInt_t h = 0);
64 virtual ~TGTextEditor();
65
66 void ClearText();
67 Bool_t LoadBuffer(const char *buf) { return fTextEdit->LoadBuffer(buf); }
68 void LoadFile(const char *fname = 0);
69 void SaveFile(const char *fname);
71 void PrintText();
72 void Search(Bool_t ret);
73 void Goto();
74 void About();
75 void DataChanged();
76 void DataDropped(char *fname);
77 Int_t IsSaved();
78 void CompileMacro();
79 void ExecuteMacro();
80 void InterruptMacro();
83 void AddLine(const char *string) { fTextEdit->AddLine(string); }
84 void AddLineFast(const char *string) { fTextEdit->AddLineFast(string); }
85 TGText *GetText() const { return fTextEdit->GetText(); }
86
87 virtual Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2);
88 virtual Bool_t HandleKey(Event_t *event);
89 virtual Bool_t HandleTimer(TTimer *t);
90 virtual void CloseWindow();
91 virtual void DeleteWindow();
92
93 ClassDef(TGTextEditor,0) // Simple text editor using TGTextEdit widget
94};
95
96#endif
#define h(i)
Definition RSha256.hxx:106
int Int_t
Definition RtypesCore.h:45
long Longptr_t
Definition RtypesCore.h:82
bool Bool_t
Definition RtypesCore.h:63
#define ClassDef(name, id)
Definition Rtypes.h:325
A combobox (also known as a drop down listbox) allows the selection of one item out of a list of item...
Definition TGComboBox.h:47
This class handles GUI labels.
Definition TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition TGLayout.h:50
Defines top level windows that interact with the system Window Manager.
Definition TGFrame.h:398
The TGMenu.h header contains all different menu classes.
Definition TGMenu.h:282
This class creates a popup menu object.
Definition TGMenu.h:110
Provides a StatusBar widget.
Definition TGStatusBar.h:21
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
A TGTextEdit is a specialization of TGTextView.
Definition TGTextEdit.h:22
A simple text editor that uses the TGTextEdit widget.
virtual void DeleteWindow()
Delete TGTextEditor Window.
Bool_t LoadBuffer(const char *buf)
virtual Bool_t HandleKey(Event_t *event)
Keyboard event handler.
TGStatusBar * fStatusBar
for file name, line and col number
Bool_t fTextChanged
true if text has changed
TGPopupMenu * fMenuTools
"Tools" menu entry
void DataChanged()
Slot setting the fTextChanged flag to true when the text has been modified in fTextEdit.
TString fFilename
name of the opened file
void InterruptMacro()
Interrupt execution of a macro.
Int_t IsSaved()
Check if file has to be saved in case of modifications.
void Search(Bool_t ret)
Invokes search dialog, or just search previous string if again is true.
TTimer * fTimer
for statusbar and toolbar update
void SetText(TGText *text)
TGPopupMenu * fMenuFile
"File" menu entry
TGLayoutHints * fMenuBarLayout
used for the menubar
TGTextEntry * fCommand
command text entry widget
TGText * GetText() const
virtual Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2)
Handle menu and other command generated by the user.
TGLabel * fLabel
"command" label
void DataDropped(char *fname)
Update file information when receiving the signal DataDropped from TGTextEdit widget.
void CompileMacro()
Save the edited text in a temporary macro, then compile it.
void ClearText()
Clear text edit widget.
virtual void Build()
Build TGTextEditor widget.
virtual void CloseWindow()
Close TGTextEditor window.
void AddLineFast(const char *string)
void Goto()
Invokes goto dialog, and go to the specified line.
void About()
Display ROOT splash screen.
void ExecuteMacro()
Save the edited text in a temporary macro, execute it, and then delete the temporary file.
Bool_t SaveFileAs()
Save the edited text in a file selected with TGFileDialog.
TMacro * fMacro
pointer on the opened macro
virtual Bool_t HandleTimer(TTimer *t)
Handle timer event.
TGMenuBar * fMenuBar
editor's menu bar
TGTextEdit * fTextEdit
text edit widget
void PrintText()
Open the print dialog and send current buffer to printer.
void AddLine(const char *string)
TGLayoutHints * fMenuBarItemLayout
used for for menubar items
void SaveFile(const char *fname)
Save the edited text in the file "fname".
TGComboBox * fComboCmd
commands combobox
TGPopupMenu * fMenuEdit
"Edit" menu entry
TGPopupMenu * fMenuSearch
"Search" menu entry
virtual ~TGTextEditor()
TGTextEditor destructor.
TGTextBuffer * fCommandBuf
command text buffer
TGPopupMenu * fMenuHelp
"Help" menu entry
void AddText(TGText *text)
void LoadFile(const char *fname=0)
Load a file into the editor. If fname is 0, a TGFileDialog will popup.
TGToolBar * fToolBar
toolbar with common tool buttons
Bool_t fExiting
true if editor is closing
A TGTextEntry is a one line text input widget.
Definition TGTextEntry.h:24
virtual Bool_t LoadBuffer(const char *txtbuf)
Load text from a text buffer. Return false in case of failure.
virtual void AddLine(const char *string)
Add a line of text to the view widget.
TGText * GetText() const
Definition TGTextView.h:115
virtual void AddLineFast(const char *string)
Add a line of text to the view widget.
virtual void SetText(TGText *text)
Adopt a new text buffer. The text will be deleted by this object.
virtual void AddText(TGText *text)
Add text to the view widget.
A TGText is a multi line text buffer.
Definition TGText.h:57
A toolbar is a composite frame that contains TGPictureButtons.
Definition TGToolBar.h:33
ROOT GUI Window base class.
Definition TGWindow.h:23
Class supporting a collection of lines with C++ code.
Definition TMacro.h:31
Basic string class.
Definition TString.h:136
Handles synchronous and a-synchronous timer events.
Definition TTimer.h:51
TText * text
Event structure.
Definition GuiTypes.h:174