Diana Software
QGTextEntry.cc
Go to the documentation of this file.
1 #include "QGTextEntry.hh"
2 
4 
5 QGTextEntry::QGTextEntry(const TGWindow *p)
6  : TGTextEntry(p), fShiftTabTarget(0), fTabTarget(0)
7 {
8  Connect("ProcessedEvent(Event_t*)", "QGTextEntry", this,
9  "QGHandleEvent(Event_t*)");
10 }
11 
13 {
14 }
15 
16 void QGTextEntry::QGHandleEvent(Event_t *event)
17 {
18  if (event->fType == kFocusOut) {
19  Deselect();
20  }
21 }
22 
24 {
25  if (fShiftTabTarget) {
26  fShiftTabTarget->SetFocus();
27  }
28 }
29 
31 {
32  if (fTabTarget) {
33  fTabTarget->SetFocus();
34  }
35 }
36 
37 void QGTextEntry::SetShiftTabTarget(TGTextEntry *textBox)
38 {
39  if (textBox) {
40  fShiftTabTarget = textBox;
41  Disconnect("ShfitTabPressed()");
42  Connect("ShiftTabPressed()", "QGTextEntry", this,
43  "HandleShiftTabPressed()");
44  }
45 }
46 
47 void QGTextEntry::SetTabTarget(TGTextEntry *textBox)
48 {
49  if (textBox) {
50  fTabTarget = textBox;
51  Disconnect("TabPressed()");
52  Connect("TabPressed()", "QGTextEntry", this, "HandleTabPressed()");
53  Disconnect("ReturnPressed()");
54  Connect("ReturnPressed()", "QGTextEntry", this, "HandleTabPressed()");
55 
56  if ( QGTextEntry *tabTarget = dynamic_cast<QGTextEntry*>(fTabTarget) ) {
57  tabTarget->SetShiftTabTarget(this);
58  }
59  }
60 }
ClassImp(QGTextEntry) QGTextEntry
Definition: QGTextEntry.cc:3
Extension of ROOT's basic text box TGTextEntry.
Definition: QGTextEntry.hh:13
void HandleShiftTabPressed()
Handle shift-tab pressed.
Definition: QGTextEntry.cc:23
TGTextEntry * fTabTarget
Text box to tab to.
Definition: QGTextEntry.hh:41
void QGHandleEvent(Event_t *event)
Handle event.
Definition: QGTextEntry.cc:16
virtual ~QGTextEntry()
Destructor.
Definition: QGTextEntry.cc:12
QGTextEntry(const TGWindow *p=0)
Constructor.
void SetTabTarget(TGTextEntry *textBox)
Set text box to tab to.
Definition: QGTextEntry.cc:47
void HandleTabPressed()
Handle tab pressed.
Definition: QGTextEntry.cc:30
void SetShiftTabTarget(TGTextEntry *textBox)
Set text box to shift-tab to.
Definition: QGTextEntry.cc:37
TGTextEntry * fShiftTabTarget
Text box to shift-tab to.
Definition: QGTextEntry.hh:38