#include "TGResourcePool.h"
#include "TGedPatternSelect.h"
#include "TGToolTip.h"
#include "TGButton.h"
#include "Riostream.h"
#include "RStipples.h"
ClassImp(TGedPopup)
ClassImp(TGedSelect)
ClassImp(TGedPatternFrame)
ClassImp(TGedPatternSelector)
ClassImp(TGedPatternPopup)
ClassImp(TGedPatternSelect)
TGGC* TGedPatternFrame::fgGC = 0;
TGedPatternFrame::TGedPatternFrame(const TGWindow *p, Style_t pattern,
int width, int height)
: TGFrame(p, width, height, kOwnBackground)
{
Pixel_t white;
gClient->GetColorByName("white", white);
SetBackgroundColor(white);
if (pattern == 1001)
SetBackgroundColor(0);
fPattern = pattern;
AddInput(kButtonPressMask | kButtonReleaseMask);
fMsgWindow = p;
fActive = kFALSE;
snprintf(fTipText, 5, "%d", pattern);
if (pattern != 0 && pattern != 1001)
fTip = new TGToolTip(fClient->GetDefaultRoot(), this, fTipText, 1000);
else if (pattern == 0)
fTip = new TGToolTip(fClient->GetDefaultRoot(), this, "0 - hollow", 1000);
else
fTip = new TGToolTip(fClient->GetDefaultRoot(), this, "1001 - solid", 1000);
AddInput(kEnterWindowMask | kLeaveWindowMask);
if (!fgGC) {
GCValues_t gcv;
gcv.fMask = kGCLineStyle | kGCLineWidth | kGCFillStyle |
kGCForeground | kGCBackground;
gcv.fLineStyle = kLineSolid;
gcv.fLineWidth = 0;
gcv.fFillStyle = 0;
gcv.fBackground = white;
gcv.fForeground = 0;
fgGC = gClient->GetGC(&gcv, kTRUE);
}
}
Bool_t TGedPatternFrame::HandleCrossing(Event_t *event)
{
if (fTip) {
if (event->fType == kEnterNotify)
fTip->Reset();
else
fTip->Hide();
}
return kTRUE;
}
Bool_t TGedPatternFrame::HandleButton(Event_t *event)
{
if (event->fType == kButtonPress) {
SendMessage(fMsgWindow, MK_MSG(kC_PATTERNSEL, kPAT_CLICK), event->fCode, fPattern);
} else {
SendMessage(fMsgWindow, MK_MSG(kC_PATTERNSEL, kPAT_SELCHANGED), event->fCode, fPattern);
}
return kTRUE;
}
void TGedPatternFrame::DrawBorder()
{
gVirtualX->DrawRectangle(fId, GetBckgndGC()(), 0, 0, fWidth, fHeight);
Draw3dRectangle(kDoubleBorder | kSunkenFrame, 0, 0, fWidth, fHeight);
}
void TGedPatternFrame::DoRedraw()
{
TGFrame::DoRedraw();
if (fPattern > 3000 && fPattern < 3026) {
SetFillStyle(fgGC, fPattern);
gVirtualX->FillRectangle(fId, fgGC->GetGC(), 0, 0, fWidth, fHeight);
}
}
void TGedPatternFrame::SetFillStyle(TGGC* gc, Style_t fstyle)
{
Int_t style = fstyle/1000;
Int_t fasi = fstyle%1000;
Int_t stn = (fasi >= 1 && fasi <=25) ? fasi : 2;
static Pixmap_t fillPattern = 0;
switch (style) {
case 1:
gc->SetFillStyle(kFillSolid);
break;
case 2:
break;
case 3:
gc->SetFillStyle(kFillStippled);
if (fillPattern != 0) {
gVirtualX->DeletePixmap(fillPattern);
fillPattern = 0;
}
fillPattern = gVirtualX->CreateBitmap(gClient->GetDefaultRoot()->GetId(),
(const char*)gStipples[stn], 16, 16);
gc->SetStipple(fillPattern);
break;
default:
break;
}
}
TGedPatternSelector::TGedPatternSelector(const TGWindow *p) :
TGCompositeFrame(p, 124, 190)
{
SetLayoutManager(new TGTileLayout(this, 1));
Int_t i;
for (i = 1; i <= 25; i++)
fCe[i-1] = new TGedPatternFrame(this, 3000 + i);
fCe[25] = new TGedPatternFrame(this, 0);
fCe[26] = new TGedPatternFrame(this, 1001);
for (i = 0; i < 27; i++)
AddFrame(fCe[i], new TGLayoutHints(kLHintsNoHints));
fMsgWindow = p;
fActive = -1;
}
TGedPatternSelector::~TGedPatternSelector()
{
Cleanup();
}
void TGedPatternSelector::SetActive(Int_t newat)
{
if (fActive != newat) {
if ((fActive >= 0) && (fActive < 27)) {
fCe[fActive]->SetActive(kFALSE);
}
fActive = newat;
if ((fActive >= 0) && (fActive < 27)) {
fCe[fActive]->SetActive(kTRUE);
}
}
}
Bool_t TGedPatternSelector::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
switch (GET_MSG(msg)) {
case kC_PATTERNSEL:
switch (GET_SUBMSG(msg)) {
case kPAT_SELCHANGED:
switch (parm1) {
case kButton1:
SendMessage(fMsgWindow, MK_MSG(kC_PATTERNSEL,
kPAT_SELCHANGED), parm1, parm2);
break;
}
break;
case kPAT_CLICK:
switch (parm1) {
case kButton1:
SetActive(parm2);
break;
}
break;
}
}
return kTRUE;
}
TGedPopup::TGedPopup(const TGWindow *p, const TGWindow *m, UInt_t w, UInt_t h,
UInt_t options, Pixel_t back)
: TGCompositeFrame(p, w, h, options, back)
{
fMsgWindow = m;
SetWindowAttributes_t wattr;
wattr.fMask = kWAOverrideRedirect | kWASaveUnder ;
wattr.fOverrideRedirect = kTRUE;
wattr.fSaveUnder = kTRUE;
gVirtualX->ChangeWindowAttributes(fId, &wattr);
AddInput(kStructureNotifyMask);
}
void TGedPopup::EndPopup()
{
gVirtualX->GrabPointer(0, 0, 0, 0, kFALSE);
UnmapWindow();
}
void TGedPopup::PlacePopup(Int_t x, Int_t y, UInt_t w, UInt_t h)
{
Int_t rx, ry;
UInt_t rw, rh;
gVirtualX->GetWindowSize(fParent->GetId(), rx, ry, rw, rh);
if (x < 0) x = 0;
if (x + fWidth > rw) x = rw - fWidth;
if (y < 0) y = 0;
if (y + fHeight > rh) y = rh - fHeight;
MoveResize(x, y, w, h);
MapSubwindows();
Layout();
MapRaised();
gVirtualX->GrabPointer(fId,
kButtonPressMask | kButtonReleaseMask | kPointerMotionMask,
kNone, kNone, fClient->GetResourcePool()->GetGrabCursor());
gClient->WaitForUnmap(this);
EndPopup();
}
Bool_t TGedPopup::HandleButton(Event_t *event)
{
if ((event->fX < 0) || (event->fX >= (Int_t) fWidth) ||
(event->fY < 0) || (event->fY >= (Int_t) fHeight)) {
if (event->fType == kButtonRelease) EndPopup();
} else {
TGFrame *f = GetFrameFromPoint(event->fX, event->fY);
if (f && f != this) {
TranslateCoordinates(f, event->fX, event->fY, event->fX, event->fY);
f->HandleButton(event);
}
}
return kTRUE;
}
Bool_t TGedPopup::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
switch (GET_MSG(msg)) {
case kC_POPUP:
switch (GET_SUBMSG(msg)) {
case kPOP_HIDE:
EndPopup();
SendMessage(fMsgWindow, MK_MSG(kC_POPUP, kPOP_HIDE),
parm1, parm2);
break;
default:
break;
}
break;
}
return kTRUE;
}
TGedPatternPopup::TGedPatternPopup(const TGWindow *p, const TGWindow *m, Style_t pattern)
: TGedPopup(p, m, 10, 10, kDoubleBorder | kRaisedFrame | kOwnBackground,
GetDefaultFrameBackground())
{
fCurrentPattern = pattern;
TGedPatternSelector *ps = new TGedPatternSelector(this);
AddFrame(ps, new TGLayoutHints(kLHintsCenterX, 1, 1, 1, 1));
MapSubwindows();
Resize(ps->GetDefaultWidth() + 6, ps->GetDefaultHeight());
}
TGedPatternPopup::~TGedPatternPopup()
{
Cleanup();
}
Bool_t TGedPatternPopup::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
switch (GET_MSG(msg)) {
case kC_PATTERNSEL:
switch (GET_SUBMSG(msg)) {
case kPAT_SELCHANGED:
SendMessage(fMsgWindow, MK_MSG(kC_PATTERNSEL, kPAT_SELCHANGED),
parm1, parm2);
UnmapWindow();
break;
default:
break;
}
break;
}
return kTRUE;
}
TGedSelect::TGedSelect(const TGWindow *p, Int_t id)
: TGCheckButton(p, "", id)
{
fPopup = 0;
GCValues_t gcv;
gcv.fMask = kGCLineStyle | kGCLineWidth | kGCFillStyle |
kGCForeground | kGCBackground;
gcv.fLineStyle = kLineSolid;
gcv.fLineWidth = 0;
gcv.fFillStyle = 0;
Pixel_t white;
gClient->GetColorByName("white", white);
gcv.fBackground = white;
gcv.fForeground = 0;
fDrawGC = gClient->GetGC(&gcv, kTRUE);
Enable();
SetState(kButtonUp);
AddInput(kButtonPressMask | kButtonReleaseMask);
}
TGedSelect::~TGedSelect()
{
if (fPopup)
delete fPopup;
fClient->FreeGC(fDrawGC);
}
Bool_t TGedSelect::HandleButton(Event_t *event)
{
TGFrame::HandleButton(event);
if (!IsEnabled()) return kTRUE;
if (event->fCode != kButton1) return kFALSE;
if ((event->fType == kButtonPress) && HasFocus()) WantFocus();
if (event->fType == kButtonPress) {
if (fState != kButtonDown) {
fPrevState = fState;
SetState(kButtonDown);
}
} else {
if (fState != kButtonUp) {
SetState(kButtonUp);
Window_t wdummy;
Int_t ax, ay;
if (fPopup) {
gVirtualX->TranslateCoordinates(fId, gClient->GetDefaultRoot()->GetId(),
0, fHeight, ax, ay, wdummy);
fPopup->PlacePopup(ax, ay, fPopup->GetDefaultWidth(),
fPopup->GetDefaultHeight());
}
}
}
return kTRUE;
}
void TGedSelect::Enable()
{
SetFlags(kWidgetIsEnabled);
fClient->NeedRedraw(this);
}
void TGedSelect::Disable()
{
ClearFlags(kWidgetIsEnabled);
fClient->NeedRedraw(this);
}
void TGedSelect::DoRedraw()
{
Int_t x, y;
UInt_t h;
TGButton::DoRedraw();
if (IsEnabled()) {
x = fWidth - 6 - fBorderWidth - 6;
y = fBorderWidth + 1;
h = fHeight - fBorderWidth - 1;
if (fState == kButtonDown) { ++x; ++y; }
gVirtualX->DrawLine(fId, GetShadowGC()(), x, y, x, h - 2);
gVirtualX->DrawLine(fId, GetHilightGC()(), x + 1, y, x + 1, h - 1);
gVirtualX->DrawLine(fId, GetHilightGC()(), x, h - 1, x + 1, h - 1);
x = fWidth - 6 - fBorderWidth - 2;
y = (fHeight - 4) / 2 + 1;
if (fState == kButtonDown) { ++x; ++y; }
DrawTriangle(GetShadowGC()(), x, y);
} else {
x = fWidth - 6 - fBorderWidth - 6;
y = fBorderWidth + 1;
h = fHeight - fBorderWidth - 1;
gVirtualX->DrawLine(fId, GetShadowGC()(), x, y, x, h - 2);
gVirtualX->DrawLine(fId, GetHilightGC()(), x + 1, y, x + 1, h - 1);
gVirtualX->DrawLine(fId, GetHilightGC()(), x, h - 1, x + 1, h - 1);
x = fWidth - 6 - fBorderWidth - 2;
y = (fHeight - 4) / 2 + 1;
DrawTriangle(GetHilightGC()(), x + 1, y + 1);
DrawTriangle(GetShadowGC()(), x, y);
}
}
void TGedSelect::DrawTriangle(GContext_t gc, Int_t x, Int_t y)
{
Point_t points[3];
points[0].fX = x;
points[0].fY = y;
points[1].fX = x + 5;
points[1].fY = y;
points[2].fX = x + 2;
points[2].fY = y + 3;
gVirtualX->FillPolygon(fId, gc, points, 3);
}
TGedPatternSelect::TGedPatternSelect(const TGWindow *p, Style_t pattern, Int_t id)
: TGedSelect(p, id)
{
fPattern = pattern;
SetPopup(new TGedPatternPopup(gClient->GetDefaultRoot(), this, fPattern));
SetPattern(fPattern);
}
Bool_t TGedPatternSelect::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
if (GET_MSG(msg) == kC_PATTERNSEL && GET_SUBMSG(msg) == kPAT_SELCHANGED)
{
SetPattern(parm2);
parm1 = (Long_t)fWidgetId;
SendMessage(fMsgWindow, MK_MSG(kC_PATTERNSEL, kPAT_SELCHANGED),
parm1, parm2);
}
return kTRUE;
}
void TGedPatternSelect::DoRedraw()
{
TGedSelect::DoRedraw();
Int_t x, y;
UInt_t w, h;
if (IsEnabled()) {
x = fBorderWidth + 2;
y = fBorderWidth + 2;
h = fHeight - (fBorderWidth * 2) - 4;
w = h * 2;
if (fState == kButtonDown) { ++x; ++y; }
gVirtualX->DrawRectangle(fId, GetShadowGC()(), x, y, w - 1, h - 1);
TGedPatternFrame::SetFillStyle(fDrawGC, 1001);
Pixel_t white;
gClient->GetColorByName("white", white);
fDrawGC->SetForeground(white);
gVirtualX->FillRectangle(fId, fDrawGC->GetGC(), x + 1, y + 1, w - 2, h - 2);
if (fPattern != 0) {
fDrawGC->SetForeground(0);
TGedPatternFrame::SetFillStyle(fDrawGC, fPattern);
gVirtualX->FillRectangle(fId, fDrawGC->GetGC(), x + 1, y + 1, w - 2, h - 2);
}
} else {
x = fBorderWidth + 2;
y = fBorderWidth + 2;
w = 42;
h = fHeight - (fBorderWidth * 2) - 4;
Draw3dRectangle(kSunkenFrame, x, y, w, h);
}
}
void TGedPatternSelect::SetPattern(Style_t pattern, Bool_t emit)
{
fPattern = pattern;
gClient->NeedRedraw(this);
if (emit)
PatternSelected(fPattern);
}
void TGedPatternSelect::SavePrimitive(ostream &out, Option_t * )
{
out <<" TGedPatternSelect *";
out << GetName() << " = new TGedPatternSelect(" << fParent->GetName()
<< "," << fPattern << "," << WidgetId() << ");" << endl;
}
TGedPatternSelect.cxx:100 TGedPatternSelect.cxx:101 TGedPatternSelect.cxx:102 TGedPatternSelect.cxx:103 TGedPatternSelect.cxx:104 TGedPatternSelect.cxx:105 TGedPatternSelect.cxx:106 TGedPatternSelect.cxx:107 TGedPatternSelect.cxx:108 TGedPatternSelect.cxx:109 TGedPatternSelect.cxx:110 TGedPatternSelect.cxx:111 TGedPatternSelect.cxx:112 TGedPatternSelect.cxx:113 TGedPatternSelect.cxx:114 TGedPatternSelect.cxx:115 TGedPatternSelect.cxx:116 TGedPatternSelect.cxx:117 TGedPatternSelect.cxx:118 TGedPatternSelect.cxx:119 TGedPatternSelect.cxx:120 TGedPatternSelect.cxx:121 TGedPatternSelect.cxx:122 TGedPatternSelect.cxx:123 TGedPatternSelect.cxx:124 TGedPatternSelect.cxx:125 TGedPatternSelect.cxx:126 TGedPatternSelect.cxx:127 TGedPatternSelect.cxx:128 TGedPatternSelect.cxx:129 TGedPatternSelect.cxx:130 TGedPatternSelect.cxx:131 TGedPatternSelect.cxx:132 TGedPatternSelect.cxx:133 TGedPatternSelect.cxx:134 TGedPatternSelect.cxx:135 TGedPatternSelect.cxx:136 TGedPatternSelect.cxx:137 TGedPatternSelect.cxx:138 TGedPatternSelect.cxx:139 TGedPatternSelect.cxx:140 TGedPatternSelect.cxx:141 TGedPatternSelect.cxx:142 TGedPatternSelect.cxx:143 TGedPatternSelect.cxx:144 TGedPatternSelect.cxx:145 TGedPatternSelect.cxx:146 TGedPatternSelect.cxx:147 TGedPatternSelect.cxx:148 TGedPatternSelect.cxx:149 TGedPatternSelect.cxx:150 TGedPatternSelect.cxx:151 TGedPatternSelect.cxx:152 TGedPatternSelect.cxx:153 TGedPatternSelect.cxx:154 TGedPatternSelect.cxx:155 TGedPatternSelect.cxx:156 TGedPatternSelect.cxx:157 TGedPatternSelect.cxx:158 TGedPatternSelect.cxx:159 TGedPatternSelect.cxx:160 TGedPatternSelect.cxx:161 TGedPatternSelect.cxx:162 TGedPatternSelect.cxx:163 TGedPatternSelect.cxx:164 TGedPatternSelect.cxx:165 TGedPatternSelect.cxx:166 TGedPatternSelect.cxx:167 TGedPatternSelect.cxx:168 TGedPatternSelect.cxx:169 TGedPatternSelect.cxx:170 TGedPatternSelect.cxx:171 TGedPatternSelect.cxx:172 TGedPatternSelect.cxx:173 TGedPatternSelect.cxx:174 TGedPatternSelect.cxx:175 TGedPatternSelect.cxx:176 TGedPatternSelect.cxx:177 TGedPatternSelect.cxx:178 TGedPatternSelect.cxx:179 TGedPatternSelect.cxx:180 TGedPatternSelect.cxx:181 TGedPatternSelect.cxx:182 TGedPatternSelect.cxx:183 TGedPatternSelect.cxx:184 TGedPatternSelect.cxx:185 TGedPatternSelect.cxx:186 TGedPatternSelect.cxx:187 TGedPatternSelect.cxx:188 TGedPatternSelect.cxx:189 TGedPatternSelect.cxx:190 TGedPatternSelect.cxx:191 TGedPatternSelect.cxx:192 TGedPatternSelect.cxx:193 TGedPatternSelect.cxx:194 TGedPatternSelect.cxx:195 TGedPatternSelect.cxx:196 TGedPatternSelect.cxx:197 TGedPatternSelect.cxx:198 TGedPatternSelect.cxx:199 TGedPatternSelect.cxx:200 TGedPatternSelect.cxx:201 TGedPatternSelect.cxx:202 TGedPatternSelect.cxx:203 TGedPatternSelect.cxx:204 TGedPatternSelect.cxx:205 TGedPatternSelect.cxx:206 TGedPatternSelect.cxx:207 TGedPatternSelect.cxx:208 TGedPatternSelect.cxx:209 TGedPatternSelect.cxx:210 TGedPatternSelect.cxx:211 TGedPatternSelect.cxx:212 TGedPatternSelect.cxx:213 TGedPatternSelect.cxx:214 TGedPatternSelect.cxx:215 TGedPatternSelect.cxx:216 TGedPatternSelect.cxx:217 TGedPatternSelect.cxx:218 TGedPatternSelect.cxx:219 TGedPatternSelect.cxx:220 TGedPatternSelect.cxx:221 TGedPatternSelect.cxx:222 TGedPatternSelect.cxx:223 TGedPatternSelect.cxx:224 TGedPatternSelect.cxx:225 TGedPatternSelect.cxx:226 TGedPatternSelect.cxx:227 TGedPatternSelect.cxx:228 TGedPatternSelect.cxx:229 TGedPatternSelect.cxx:230 TGedPatternSelect.cxx:231 TGedPatternSelect.cxx:232 TGedPatternSelect.cxx:233 TGedPatternSelect.cxx:234 TGedPatternSelect.cxx:235 TGedPatternSelect.cxx:236 TGedPatternSelect.cxx:237 TGedPatternSelect.cxx:238 TGedPatternSelect.cxx:239 TGedPatternSelect.cxx:240 TGedPatternSelect.cxx:241 TGedPatternSelect.cxx:242 TGedPatternSelect.cxx:243 TGedPatternSelect.cxx:244 TGedPatternSelect.cxx:245 TGedPatternSelect.cxx:246 TGedPatternSelect.cxx:247 TGedPatternSelect.cxx:248 TGedPatternSelect.cxx:249 TGedPatternSelect.cxx:250 TGedPatternSelect.cxx:251 TGedPatternSelect.cxx:252 TGedPatternSelect.cxx:253 TGedPatternSelect.cxx:254 TGedPatternSelect.cxx:255 TGedPatternSelect.cxx:256 TGedPatternSelect.cxx:257 TGedPatternSelect.cxx:258 TGedPatternSelect.cxx:259 TGedPatternSelect.cxx:260 TGedPatternSelect.cxx:261 TGedPatternSelect.cxx:262 TGedPatternSelect.cxx:263 TGedPatternSelect.cxx:264 TGedPatternSelect.cxx:265 TGedPatternSelect.cxx:266 TGedPatternSelect.cxx:267 TGedPatternSelect.cxx:268 TGedPatternSelect.cxx:269 TGedPatternSelect.cxx:270 TGedPatternSelect.cxx:271 TGedPatternSelect.cxx:272 TGedPatternSelect.cxx:273 TGedPatternSelect.cxx:274 TGedPatternSelect.cxx:275 TGedPatternSelect.cxx:276 TGedPatternSelect.cxx:277 TGedPatternSelect.cxx:278 TGedPatternSelect.cxx:279 TGedPatternSelect.cxx:280 TGedPatternSelect.cxx:281 TGedPatternSelect.cxx:282 TGedPatternSelect.cxx:283 TGedPatternSelect.cxx:284 TGedPatternSelect.cxx:285 TGedPatternSelect.cxx:286 TGedPatternSelect.cxx:287 TGedPatternSelect.cxx:288 TGedPatternSelect.cxx:289 TGedPatternSelect.cxx:290 TGedPatternSelect.cxx:291 TGedPatternSelect.cxx:292 TGedPatternSelect.cxx:293 TGedPatternSelect.cxx:294 TGedPatternSelect.cxx:295 TGedPatternSelect.cxx:296 TGedPatternSelect.cxx:297 TGedPatternSelect.cxx:298 TGedPatternSelect.cxx:299 TGedPatternSelect.cxx:300 TGedPatternSelect.cxx:301 TGedPatternSelect.cxx:302 TGedPatternSelect.cxx:303 TGedPatternSelect.cxx:304 TGedPatternSelect.cxx:305 TGedPatternSelect.cxx:306 TGedPatternSelect.cxx:307 TGedPatternSelect.cxx:308 TGedPatternSelect.cxx:309 TGedPatternSelect.cxx:310 TGedPatternSelect.cxx:311 TGedPatternSelect.cxx:312 TGedPatternSelect.cxx:313 TGedPatternSelect.cxx:314 TGedPatternSelect.cxx:315 TGedPatternSelect.cxx:316 TGedPatternSelect.cxx:317 TGedPatternSelect.cxx:318 TGedPatternSelect.cxx:319 TGedPatternSelect.cxx:320 TGedPatternSelect.cxx:321 TGedPatternSelect.cxx:322 TGedPatternSelect.cxx:323 TGedPatternSelect.cxx:324 TGedPatternSelect.cxx:325 TGedPatternSelect.cxx:326 TGedPatternSelect.cxx:327 TGedPatternSelect.cxx:328 TGedPatternSelect.cxx:329 TGedPatternSelect.cxx:330 TGedPatternSelect.cxx:331 TGedPatternSelect.cxx:332 TGedPatternSelect.cxx:333 TGedPatternSelect.cxx:334 TGedPatternSelect.cxx:335 TGedPatternSelect.cxx:336 TGedPatternSelect.cxx:337 TGedPatternSelect.cxx:338 TGedPatternSelect.cxx:339 TGedPatternSelect.cxx:340 TGedPatternSelect.cxx:341 TGedPatternSelect.cxx:342 TGedPatternSelect.cxx:343 TGedPatternSelect.cxx:344 TGedPatternSelect.cxx:345 TGedPatternSelect.cxx:346 TGedPatternSelect.cxx:347 TGedPatternSelect.cxx:348 TGedPatternSelect.cxx:349 TGedPatternSelect.cxx:350 TGedPatternSelect.cxx:351 TGedPatternSelect.cxx:352 TGedPatternSelect.cxx:353 TGedPatternSelect.cxx:354 TGedPatternSelect.cxx:355 TGedPatternSelect.cxx:356 TGedPatternSelect.cxx:357 TGedPatternSelect.cxx:358 TGedPatternSelect.cxx:359 TGedPatternSelect.cxx:360 TGedPatternSelect.cxx:361 TGedPatternSelect.cxx:362 TGedPatternSelect.cxx:363 TGedPatternSelect.cxx:364 TGedPatternSelect.cxx:365 TGedPatternSelect.cxx:366 TGedPatternSelect.cxx:367 TGedPatternSelect.cxx:368 TGedPatternSelect.cxx:369 TGedPatternSelect.cxx:370 TGedPatternSelect.cxx:371 TGedPatternSelect.cxx:372 TGedPatternSelect.cxx:373 TGedPatternSelect.cxx:374 TGedPatternSelect.cxx:375 TGedPatternSelect.cxx:376 TGedPatternSelect.cxx:377 TGedPatternSelect.cxx:378 TGedPatternSelect.cxx:379 TGedPatternSelect.cxx:380 TGedPatternSelect.cxx:381 TGedPatternSelect.cxx:382 TGedPatternSelect.cxx:383 TGedPatternSelect.cxx:384 TGedPatternSelect.cxx:385 TGedPatternSelect.cxx:386 TGedPatternSelect.cxx:387 TGedPatternSelect.cxx:388 TGedPatternSelect.cxx:389 TGedPatternSelect.cxx:390 TGedPatternSelect.cxx:391 TGedPatternSelect.cxx:392 TGedPatternSelect.cxx:393 TGedPatternSelect.cxx:394 TGedPatternSelect.cxx:395 TGedPatternSelect.cxx:396 TGedPatternSelect.cxx:397 TGedPatternSelect.cxx:398 TGedPatternSelect.cxx:399 TGedPatternSelect.cxx:400 TGedPatternSelect.cxx:401 TGedPatternSelect.cxx:402 TGedPatternSelect.cxx:403 TGedPatternSelect.cxx:404 TGedPatternSelect.cxx:405 TGedPatternSelect.cxx:406 TGedPatternSelect.cxx:407 TGedPatternSelect.cxx:408 TGedPatternSelect.cxx:409 TGedPatternSelect.cxx:410 TGedPatternSelect.cxx:411 TGedPatternSelect.cxx:412 TGedPatternSelect.cxx:413 TGedPatternSelect.cxx:414 TGedPatternSelect.cxx:415 TGedPatternSelect.cxx:416 TGedPatternSelect.cxx:417 TGedPatternSelect.cxx:418 TGedPatternSelect.cxx:419 TGedPatternSelect.cxx:420 TGedPatternSelect.cxx:421 TGedPatternSelect.cxx:422 TGedPatternSelect.cxx:423 TGedPatternSelect.cxx:424 TGedPatternSelect.cxx:425 TGedPatternSelect.cxx:426 TGedPatternSelect.cxx:427 TGedPatternSelect.cxx:428 TGedPatternSelect.cxx:429 TGedPatternSelect.cxx:430 TGedPatternSelect.cxx:431 TGedPatternSelect.cxx:432 TGedPatternSelect.cxx:433 TGedPatternSelect.cxx:434 TGedPatternSelect.cxx:435 TGedPatternSelect.cxx:436 TGedPatternSelect.cxx:437 TGedPatternSelect.cxx:438 TGedPatternSelect.cxx:439 TGedPatternSelect.cxx:440 TGedPatternSelect.cxx:441 TGedPatternSelect.cxx:442 TGedPatternSelect.cxx:443 TGedPatternSelect.cxx:444 TGedPatternSelect.cxx:445 TGedPatternSelect.cxx:446 TGedPatternSelect.cxx:447 TGedPatternSelect.cxx:448 TGedPatternSelect.cxx:449 TGedPatternSelect.cxx:450 TGedPatternSelect.cxx:451 TGedPatternSelect.cxx:452 TGedPatternSelect.cxx:453 TGedPatternSelect.cxx:454 TGedPatternSelect.cxx:455 TGedPatternSelect.cxx:456 TGedPatternSelect.cxx:457 TGedPatternSelect.cxx:458 TGedPatternSelect.cxx:459 TGedPatternSelect.cxx:460 TGedPatternSelect.cxx:461 TGedPatternSelect.cxx:462 TGedPatternSelect.cxx:463 TGedPatternSelect.cxx:464 TGedPatternSelect.cxx:465 TGedPatternSelect.cxx:466 TGedPatternSelect.cxx:467 TGedPatternSelect.cxx:468 TGedPatternSelect.cxx:469 TGedPatternSelect.cxx:470 TGedPatternSelect.cxx:471 TGedPatternSelect.cxx:472 TGedPatternSelect.cxx:473 TGedPatternSelect.cxx:474 TGedPatternSelect.cxx:475 TGedPatternSelect.cxx:476 TGedPatternSelect.cxx:477 TGedPatternSelect.cxx:478 TGedPatternSelect.cxx:479 TGedPatternSelect.cxx:480 TGedPatternSelect.cxx:481 TGedPatternSelect.cxx:482 TGedPatternSelect.cxx:483 TGedPatternSelect.cxx:484 TGedPatternSelect.cxx:485 TGedPatternSelect.cxx:486 TGedPatternSelect.cxx:487 TGedPatternSelect.cxx:488 TGedPatternSelect.cxx:489 TGedPatternSelect.cxx:490 TGedPatternSelect.cxx:491 TGedPatternSelect.cxx:492 TGedPatternSelect.cxx:493 TGedPatternSelect.cxx:494 TGedPatternSelect.cxx:495 TGedPatternSelect.cxx:496 TGedPatternSelect.cxx:497 TGedPatternSelect.cxx:498 TGedPatternSelect.cxx:499 TGedPatternSelect.cxx:500 TGedPatternSelect.cxx:501 TGedPatternSelect.cxx:502 TGedPatternSelect.cxx:503 TGedPatternSelect.cxx:504 TGedPatternSelect.cxx:505 TGedPatternSelect.cxx:506 TGedPatternSelect.cxx:507 TGedPatternSelect.cxx:508 TGedPatternSelect.cxx:509 TGedPatternSelect.cxx:510 TGedPatternSelect.cxx:511 TGedPatternSelect.cxx:512 TGedPatternSelect.cxx:513 TGedPatternSelect.cxx:514 TGedPatternSelect.cxx:515 TGedPatternSelect.cxx:516 TGedPatternSelect.cxx:517 TGedPatternSelect.cxx:518 TGedPatternSelect.cxx:519 TGedPatternSelect.cxx:520 TGedPatternSelect.cxx:521 TGedPatternSelect.cxx:522 TGedPatternSelect.cxx:523 TGedPatternSelect.cxx:524 TGedPatternSelect.cxx:525 TGedPatternSelect.cxx:526 TGedPatternSelect.cxx:527 TGedPatternSelect.cxx:528 TGedPatternSelect.cxx:529 TGedPatternSelect.cxx:530 TGedPatternSelect.cxx:531 TGedPatternSelect.cxx:532 TGedPatternSelect.cxx:533 TGedPatternSelect.cxx:534 TGedPatternSelect.cxx:535 TGedPatternSelect.cxx:536 TGedPatternSelect.cxx:537 TGedPatternSelect.cxx:538 TGedPatternSelect.cxx:539 TGedPatternSelect.cxx:540 TGedPatternSelect.cxx:541 TGedPatternSelect.cxx:542 TGedPatternSelect.cxx:543 TGedPatternSelect.cxx:544 TGedPatternSelect.cxx:545 TGedPatternSelect.cxx:546 TGedPatternSelect.cxx:547 TGedPatternSelect.cxx:548 TGedPatternSelect.cxx:549 TGedPatternSelect.cxx:550 TGedPatternSelect.cxx:551 TGedPatternSelect.cxx:552 TGedPatternSelect.cxx:553 TGedPatternSelect.cxx:554 TGedPatternSelect.cxx:555 TGedPatternSelect.cxx:556 TGedPatternSelect.cxx:557 TGedPatternSelect.cxx:558 TGedPatternSelect.cxx:559 TGedPatternSelect.cxx:560 TGedPatternSelect.cxx:561 TGedPatternSelect.cxx:562 TGedPatternSelect.cxx:563 TGedPatternSelect.cxx:564 TGedPatternSelect.cxx:565 TGedPatternSelect.cxx:566 TGedPatternSelect.cxx:567 TGedPatternSelect.cxx:568 TGedPatternSelect.cxx:569 TGedPatternSelect.cxx:570 TGedPatternSelect.cxx:571 TGedPatternSelect.cxx:572 TGedPatternSelect.cxx:573 TGedPatternSelect.cxx:574 TGedPatternSelect.cxx:575 TGedPatternSelect.cxx:576 TGedPatternSelect.cxx:577 TGedPatternSelect.cxx:578 TGedPatternSelect.cxx:579 TGedPatternSelect.cxx:580 TGedPatternSelect.cxx:581 TGedPatternSelect.cxx:582 TGedPatternSelect.cxx:583 TGedPatternSelect.cxx:584 TGedPatternSelect.cxx:585 TGedPatternSelect.cxx:586 TGedPatternSelect.cxx:587 TGedPatternSelect.cxx:588 TGedPatternSelect.cxx:589 TGedPatternSelect.cxx:590 TGedPatternSelect.cxx:591 TGedPatternSelect.cxx:592 TGedPatternSelect.cxx:593 TGedPatternSelect.cxx:594 TGedPatternSelect.cxx:595 TGedPatternSelect.cxx:596 TGedPatternSelect.cxx:597 TGedPatternSelect.cxx:598 TGedPatternSelect.cxx:599 TGedPatternSelect.cxx:600 TGedPatternSelect.cxx:601 TGedPatternSelect.cxx:602 TGedPatternSelect.cxx:603 TGedPatternSelect.cxx:604 TGedPatternSelect.cxx:605 TGedPatternSelect.cxx:606 TGedPatternSelect.cxx:607 TGedPatternSelect.cxx:608 TGedPatternSelect.cxx:609 TGedPatternSelect.cxx:610 TGedPatternSelect.cxx:611 TGedPatternSelect.cxx:612 TGedPatternSelect.cxx:613 TGedPatternSelect.cxx:614 TGedPatternSelect.cxx:615 TGedPatternSelect.cxx:616 TGedPatternSelect.cxx:617 TGedPatternSelect.cxx:618 TGedPatternSelect.cxx:619 TGedPatternSelect.cxx:620 TGedPatternSelect.cxx:621 TGedPatternSelect.cxx:622 TGedPatternSelect.cxx:623 TGedPatternSelect.cxx:624 TGedPatternSelect.cxx:625 TGedPatternSelect.cxx:626 TGedPatternSelect.cxx:627 TGedPatternSelect.cxx:628 TGedPatternSelect.cxx:629 TGedPatternSelect.cxx:630 TGedPatternSelect.cxx:631 TGedPatternSelect.cxx:632 TGedPatternSelect.cxx:633 TGedPatternSelect.cxx:634 TGedPatternSelect.cxx:635 TGedPatternSelect.cxx:636 TGedPatternSelect.cxx:637 TGedPatternSelect.cxx:638 TGedPatternSelect.cxx:639 TGedPatternSelect.cxx:640 TGedPatternSelect.cxx:641 TGedPatternSelect.cxx:642 TGedPatternSelect.cxx:643 TGedPatternSelect.cxx:644 TGedPatternSelect.cxx:645 TGedPatternSelect.cxx:646 TGedPatternSelect.cxx:647 TGedPatternSelect.cxx:648 TGedPatternSelect.cxx:649 TGedPatternSelect.cxx:650