11 kText_Text = 0, kText_Xpos, kText_Ypos, kText_Angle, kText_Size
18 TTextEditor::TTextEditor(
const TGWindow *p,
19 Int_t width, Int_t height,
20 UInt_t options, Pixel_t back)
21 : TGedFrame(p, width, height, options | kVerticalFrame, back)
26 MakeTitle(
"Text String");
28 fText =
new TGTextEntry(
this,
new TGTextBuffer(50), kText_Text);
29 fText->Resize(135, fText->GetDefaultHeight());
30 fText->SetToolTipText(
"Enter the text string");
31 AddFrame(fText,
new TGLayoutHints(kLHintsLeft, 3, 1, 2, 5));
33 TGCompositeFrame *f1 =
new TGCompositeFrame(
this, 120, 20, kHorizontalFrame);
34 TGLabel *lbl1 =
new TGLabel(f1,
"X Position");
35 fXpos =
new TGNumberEntry(f1, 4, 2, kText_Xpos, TGNumberEntry::kNESRealTwo,
36 TGNumberEntry::kNEAAnyNumber);
37 fXpos->Resize(50, 20);
38 f1->AddFrame(lbl1,
new TGLayoutHints(kLHintsLeft,1, 1, 1, 1));
39 f1->AddFrame(fXpos,
new TGLayoutHints(kLHintsLeft, 7, 1, 1, 1));
40 AddFrame(f1,
new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
42 TGCompositeFrame *f2 =
new TGCompositeFrame(
this, 120, 20, kHorizontalFrame);
43 TGLabel *lbl2 =
new TGLabel(f2,
"Y Position");
44 fYpos =
new TGNumberEntry(f2, 4, 2, kText_Ypos, TGNumberEntry::kNESRealTwo,
45 TGNumberEntry::kNEAAnyNumber);
46 fYpos->Resize(50, 20);
47 f2->AddFrame(lbl2,
new TGLayoutHints(kLHintsLeft,1, 1, 1, 1));
48 f2->AddFrame(fYpos,
new TGLayoutHints(kLHintsLeft, 7, 1, 1, 1));
49 AddFrame(f2,
new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
51 TGCompositeFrame *f3 =
new TGCompositeFrame(
this, 120, 20, kHorizontalFrame);
52 TGLabel *lbl3 =
new TGLabel(f3,
"Text Angle");
53 fAngle =
new TGNumberEntry(f3, 4, 2, kText_Angle, TGNumberEntry::kNESInteger,
54 TGNumberEntry::kNEANonNegative);
55 fAngle->Resize(50, 20);
56 f3->AddFrame(lbl3,
new TGLayoutHints(kLHintsLeft,1, 1, 1, 1));
57 f3->AddFrame(fAngle,
new TGLayoutHints(kLHintsLeft, 7, 1, 1, 1));
58 AddFrame(f3,
new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
60 TGCompositeFrame *f4 =
new TGCompositeFrame(
this, 120, 20, kHorizontalFrame);
61 TGLabel *lbl4 =
new TGLabel(f4,
"Text Size");
62 fSize =
new TGNumberEntry(f4, 4, 2, kText_Size, TGNumberEntry::kNESRealTwo,
63 TGNumberEntry::kNEANonNegative);
64 fSize->Resize(50, 20);
65 f4->AddFrame(lbl4,
new TGLayoutHints(kLHintsLeft,1, 1, 1, 1));
66 f4->AddFrame(fSize,
new TGLayoutHints(kLHintsLeft, 7, 1, 1, 1));
67 AddFrame(f4,
new TGLayoutHints(kLHintsLeft, 1, 1, 1, 1));
74 TTextEditor::~TTextEditor()
82 void TTextEditor::SetModel(TObject *obj)
84 fEditedText = (TText*) (obj);
87 fText->SetText(fEditedText->GetTitle());
88 fXpos->SetNumber(fEditedText->GetX());
89 fYpos->SetNumber(fEditedText->GetY());
90 fAngle->SetNumber(fEditedText->GetTextAngle());
91 fSize->SetNumber(fEditedText->GetTextSize());
93 if (fInit) ConnectSignals2Slots();
94 fAvoidSignal = kFALSE;
101 void TTextEditor::ConnectSignals2Slots()
103 fText->Connect(
"TextChanged(const char *)",
"TTextEditor",
this,
"DoText(const char *)");
104 fXpos->Connect(
"ValueSet(Long_t)",
"TTextEditor",
this,
"DoXpos()");
105 fYpos->Connect(
"ValueSet(Long_t)",
"TTextEditor",
this,
"DoYpos()");
106 fAngle->Connect(
"ValueSet(Long_t)",
"TTextEditor",
this,
"DoAngle()");
107 fSize->Connect(
"ValueSet(Long_t)",
"TTextEditor",
this,
"DoSize()");
115 void TTextEditor::DoAngle()
117 if (fAvoidSignal)
return;
118 fEditedText->SetTextAngle(fAngle->GetNumber());
126 void TTextEditor::DoSize()
128 if (fAvoidSignal)
return;
129 fEditedText->SetTextSize(fSize->GetNumber());
137 void TTextEditor::DoText(
const char *text)
139 if (fAvoidSignal)
return;
140 fEditedText->SetTitle(text);
148 void TTextEditor::DoXpos()
150 if (fAvoidSignal)
return;
151 fEditedText->SetX(fXpos->GetNumber());
159 void TTextEditor::DoYpos()
161 if (fAvoidSignal)
return;
162 fEditedText->SetY(fYpos->GetNumber());