Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
textEntries.C File Reference

Detailed Description

This macro gives an example of how to set/change text entry attributes.

To run it do either:

#include <TGTextEntry.h>
#include <TGButtonGroup.h>
#include <TGLabel.h>
#include <TGComboBox.h>
#include <TApplication.h>
//////////// auxilary class ///////////////////////////////////////////////////
class GroupBox : public TGGroupFrame {
private:
TGComboBox *fCombo; // combo box
TGTextEntry *fEntry; // text entry
public:
GroupBox(const TGWindow *p, const char *name, const char *title);
TGTextEntry *GetEntry() const { return fEntry; }
TGComboBox *GetCombo() const { return fCombo; }
};
//______________________________________________________________________________
GroupBox::GroupBox(const TGWindow *p, const char *name, const char *title) :
{
// Group frame containing combobox and text entry.
TGLabel *label = new TGLabel(horz, title);
fCombo = new TGComboBox(horz);
horz->AddFrame(fCombo, new TGLayoutHints(kLHintsRight | kLHintsExpandY,
5, 0, 5, 5));
fCombo->Resize(100, 20);
fEntry = new TGTextEntry(this);
AddFrame(fEntry, new TGLayoutHints(kLHintsExpandX | kLHintsCenterY));
}
////////////////////////////////////////////////////////////////////////////////
protected:
TGMainFrame *fMain; // main frame
GroupBox *fEcho; // echo mode (echo, password, no echo)
GroupBox *fAlign; // alignment (left, right, center)
GroupBox *fAccess; // read-only mode
GroupBox *fBorder; // border mode
public:
virtual ~TextEntryWindow() { delete fMain; }
};
//______________________________________________________________________________
TextEntryWindow::TextEntryWindow()
{
// Main test window.
fMain = new TGMainFrame(gClient->GetRoot(), 10, 10, kVerticalFrame);
// recusively delete all subframes on exit
fMain->SetCleanup(kDeepCleanup);
fEcho = new GroupBox(fMain, "Echo", "Mode:");
fMain->AddFrame(fEcho, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5));
combo = fEcho->GetCombo();
entry = fEcho->GetEntry();
// add entries
combo->AddEntry("Normal", TGTextEntry::kNormal);
combo->AddEntry("Password", TGTextEntry::kPassword);
combo->AddEntry("No Echo", TGTextEntry::kNoEcho);
combo->Connect("Selected(Int_t)", "TGTextEntry", entry, "SetEchoMode(TGTextEntry::EEchoMode)");
fAlign = new GroupBox(fMain, "Alignment", "Type:");
fMain->AddFrame(fAlign, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5));
combo = fAlign->GetCombo();
entry = fAlign->GetEntry();
// add entries
combo->AddEntry("Left", kTextLeft);
combo->AddEntry("Centered", kTextCenterX);
combo->AddEntry("Right", kTextRight);
combo->Connect("Selected(Int_t)", "TGTextEntry", entry, "SetAlignment(ETextJustification)");
combo->Select(kTextLeft);
fAccess = new GroupBox(fMain, "Access", "Read-only:");
fMain->AddFrame(fAccess, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5));
combo = fAccess->GetCombo();
entry = fAccess->GetEntry();
// add entries
combo->AddEntry("False", 1);
combo->AddEntry("True", 0);
combo->Connect("Selected(Int_t)", "TGTextEntry", entry, "SetEnabled(Int_t)");
combo->Select(1);
fBorder = new GroupBox(fMain, "Border", "Drawn:");
fMain->AddFrame(fBorder, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 5, 5));
combo = fBorder->GetCombo();
entry = fBorder->GetEntry();
// add entries
combo->AddEntry("False", 0);
combo->AddEntry("True", 1);
combo->Connect("Selected(Int_t)", "TGTextEntry", entry, "SetFrameDrawn(Int_t)");
combo->Select(1);
// terminate ROOT session when window is closed
fMain->Connect("CloseWindow()", "TApplication", gApplication, "Terminate()");
fMain->DontCallClose();
fMain->MapSubwindows();
fMain->Resize();
// set minimum width, height
fMain->SetWMSizeHints(fMain->GetDefaultWidth(), fMain->GetDefaultHeight(),
1000, 1000, 0, 0);
fMain->SetWindowName("Text Entries");
fMain->MapRaised();
}
////////////////////////////////////////////////////////////////////////////////
{
// Main program.
}
@ kVerticalFrame
Definition GuiTypes.h:381
#define ClassDef(name, id)
Definition Rtypes.h:342
R__EXTERN TApplication * gApplication
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define gClient
Definition TGClient.h:156
@ kDeepCleanup
Definition TGFrame.h:42
@ kLHintsRight
Definition TGLayout.h:26
@ kLHintsExpandY
Definition TGLayout.h:31
@ kLHintsLeft
Definition TGLayout.h:24
@ kLHintsCenterY
Definition TGLayout.h:28
@ kLHintsExpandX
Definition TGLayout.h:30
@ kTextCenterX
Definition TGWidget.h:25
@ kTextLeft
Definition TGWidget.h:23
@ kTextRight
Definition TGWidget.h:24
winID h TVirtualViewer3D TVirtualGLPainter p
char name[80]
Definition TGX11.cxx:110
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
A composite frame with a border and a title.
Definition TGFrame.h:522
A composite frame that layout their children in horizontal way.
Definition TGFrame.h:385
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:397
A TGTextEntry is a one line text input widget.
Definition TGTextEntry.h:24
ROOT GUI Window base class.
Definition TGWindow.h:23
Author
Valeriy Onuchin 25/08/2007

Definition in file textEntries.C.