ROOT logo
// @(#)root/guibuilder:$Id: TGuiBldNameFrame.cxx 30063 2009-09-08 12:15:59Z bellenot $
// Author: Valeriy Onuchin   12/09/04

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGuiNameFrame                                                        //
//                                                                      //
//////////////////////////////////////////////////////////////////////////


#include "TGuiBldNameFrame.h"
#include "TGLabel.h"
#include "TGTextEntry.h"
#include "TGuiBldEditor.h"
#include "TGLayout.h"
#include "TG3DLine.h"
#include "TColor.h"
#include "TROOT.h"
#include "TRootGuiBuilder.h"
#include "TGButton.h"
#include "TGFrame.h"
#include "TGMdiFrame.h"
#include "TGCanvas.h"
#include "TGListTree.h"
#include "TGuiBldDragManager.h"
#include "TGMsgBox.h"
#include "TGSplitter.h"

ClassImp(TGuiBldNameFrame)

//______________________________________________________________________________
TGuiBldNameFrame::TGuiBldNameFrame(const TGWindow *p, TGuiBldEditor *editor) :
                  TGCompositeFrame(p, 1, 1)
{
   // Constructor.

   fEditor = editor;
   fBuilder = (TRootGuiBuilder*)TRootGuiBuilder::Instance();
   fManager = fBuilder->GetManager();
   fEditDisabled = kEditDisable;
   SetCleanup(kDeepCleanup);
   TGFrame *frame = 0;
   TGFrame *fSelected = fEditor->GetSelected();
   if (fSelected) frame = fSelected;

   TGVerticalFrame *cf = new TGVerticalFrame(this, 180, 400);

   //list tree
   TGHorizontalFrame *f = new TGHorizontalFrame(cf);
   f->AddFrame(new TGLabel(f, "MDI Frame content"),
               new TGLayoutHints(kLHintsLeft, 0, 1, 0, 0));
   f->AddFrame(new TGHorizontal3DLine(f), new TGLayoutHints(kLHintsExpandX,
                                                            5, 5, 7, 7));
   cf->AddFrame(f, new TGLayoutHints(kLHintsTop | kLHintsExpandX));

   fCanvas = new TGCanvas(cf, 180, 110);
   fListTree = new TGListTree(fCanvas, 0);
   fCanvas->MapSubwindows();
   cf->AddFrame(fCanvas, new TGLayoutHints(kLHintsExpandY | kLHintsExpandX));

   //nameframe
   fTitleFrame = new TGHorizontalFrame(cf, 100, 30);
   fTitleFrame->AddFrame(new TGLabel(fTitleFrame, "Variable name"),
                         new TGLayoutHints(kLHintsLeft | kLHintsCenterY ,
                                           0, 1, 0, 0));
   fTitleFrame->AddFrame(new TGHorizontal3DLine(fTitleFrame),
                         new TGLayoutHints(kLHintsCenterY | kLHintsExpandX,
                                           1, 1, 1, 1));
   cf->AddFrame(fTitleFrame, new TGLayoutHints(kLHintsExpandX | kLHintsTop));

   TString name = "";
   if (frame) {
      name = frame->ClassName();
   }
   fLabel = new TGLabel(cf, name.Data());
   cf->AddFrame(fLabel, new TGLayoutHints(kLHintsCenterX, 1, 1, 0, 0));

   TGCompositeFrame *sub  = new TGHorizontalFrame(cf, 100, 30);
   fFrameName = new TGTextEntry(sub, frame ? frame->GetName() : "noname");
   fFrameName->SetAlignment(kTextLeft);
   fFrameName->Resize(120, fFrameName->GetHeight());
   sub->AddFrame(fFrameName, new TGLayoutHints(kLHintsTop | kLHintsCenterX,
                                               2, 2, 0, 0));
   fFrameName->SetEnabled(kTRUE);

   TGTextButton *btn = new TGTextButton(sub, "   Set Name   ");
   sub->AddFrame(btn, new TGLayoutHints(kLHintsTop));
   cf->AddFrame(sub, new TGLayoutHints(kLHintsTop | kLHintsCenterX,
                                       2, 2, 0, 0));

   AddFrame(cf, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY));

   btn->Connect("Clicked()", "TGuiBldNameFrame", this, "UpdateName()");
   btn->SetToolTipText("Set variable name");
   fListTree->Connect("Clicked(TGListTreeItem*, Int_t)", "TGuiBldNameFrame",
                      this, "SelectFrameByItem(TGListTreeItem*, Int_t)");
}

//______________________________________________________________________________
void TGuiBldNameFrame::DoRedraw()
{
   // Redraw frame (just a prototype).

   //TColor *col = gROOT->GetColor(29);
   //TRootGuiBuilder::SetBgndColor(fTitleFrame, col->GetPixel());
   TGCompositeFrame::DoRedraw();
}

//______________________________________________________________________________
void TGuiBldNameFrame::Reset()
{
   // Reset name frame.

   fFrameName->SetText("");
   fLabel->SetText("");
   DoRedraw();
}

//______________________________________________________________________________
void TGuiBldNameFrame::ChangeSelected(TGFrame *frame)
{
   // Change selected frame.

   fFrameName->Disconnect();

   if (!frame) {
      Reset();
      return;
   }

   TString name = frame->ClassName();

   fLabel->SetText(name.Data());
   fFrameName->SetText(frame->GetName());
   Resize();

   TGCompositeFrame *main = GetMdi(frame);

   if ((!fListTree) || (!fListTree->GetFirstItem()))
      MapItems(main);
   else if ((fListTree->GetFirstItem()->GetUserData()) != main) {
      //different MDI
      if (fListTree) {
         //clear the list tree displayed
         while (fListTree->GetFirstItem()) {
            fListTree->DeleteItem(fListTree->GetFirstItem());
         }
         MapItems(main);
      }
   }
   else // check if new items added or old ones reparented -> update tree
      CheckItems(main);

   //highlight and open
   TGListTreeItem *item = 0;
   fListTree->OpenItem(fListTree->GetFirstItem()); //mdi
   item = fListTree->FindItemByObj(fListTree->GetFirstItem(), frame);
   if (item) {
      fListTree->HighlightItem(item);
      while (item->GetParent()) {
         item = item->GetParent();
         item->SetOpen(kTRUE);
      }
   }
   fClient->NeedRedraw(fListTree, kTRUE);
   fClient->NeedRedraw(fCanvas, kTRUE);
   DoRedraw();

}


//______________________________________________________________________________
void TGuiBldNameFrame::UpdateName()
{
   // Set new name of frame, if it doesn't already exist in the same MDI frame.

   TGFrame *frame = fEditor->GetSelected();
   TString ch = fFrameName->GetText();

   if (!frame) {
      return;
   }

   if (FindItemByName(fListTree, ch, fListTree->GetFirstItem())) {
      fBuilder->UpdateStatusBar("Variable name already exists.");
      TGCompositeFrame *cf = (TGCompositeFrame*)frame->GetParent();
      int retval;
      fBuilder->GetManager()->SetEditable(kFALSE);
      new TGMsgBox(fClient->GetDefaultRoot(), fBuilder,
                   "Name conflict", "Variable name already exists.",
                   kMBIconExclamation, kMBOk, &retval);
      cf->SetEditable(kTRUE);
      // hack against selecting the message box itself
      fBuilder->GetManager()->SelectFrame(frame);
      frame->SetEditable(kTRUE);
   }
   else {
      fBuilder->UpdateStatusBar("Variable name changed.");
      frame->SetName(ch);
   }

   if (fListTree) {
      //clear the list tree displayed
      while (fListTree->GetFirstItem()) {
         fListTree->DeleteItem(fListTree->GetFirstItem());
      }
   }

   TGCompositeFrame *main = GetMdi(frame);
   MapItems(main);

   if (fListTree) fClient->NeedRedraw(fListTree, kTRUE);
   fClient->NeedRedraw(fFrameName);
   DoRedraw();
}

//______________________________________________________________________________
TGCompositeFrame *TGuiBldNameFrame::GetMdi(TGFrame *frame)
{
   // Find the parent mdi frame

   TGFrame *p = frame;

   while (p && (p != fClient->GetDefaultRoot()) ) {
      if (p->InheritsFrom(TGMdiFrame::Class())) {
         return (TGCompositeFrame*)p;
      }
      else if (p->InheritsFrom(TGMainFrame::Class())) {
         return (TGCompositeFrame*)p;
      }
      p = (TGFrame*)p->GetParent();
   }
   return 0;
}

//______________________________________________________________________________
void TGuiBldNameFrame::MapItems(TGCompositeFrame *main)
{
   // Map all the frames and subframes in mdi frame to the list tree.

   if (!main) {
     return;
   }

   TList *list = main->GetList(); //list of all elements in the frame
   TGFrameElement *el = 0;
   TIter next(list);

   while ((el = (TGFrameElement *) next())) {
      if (el->fFrame) {

         if (main->InheritsFrom(TGMdiFrame::Class()) ||
             main->InheritsFrom(TGMainFrame::Class())) {

            // first loop, we're in the main frame -> add items directly
            // to main frame folder of the tree list
            if (!fListTree->FindChildByData(0, main)) {
               // add main frame to root
               fListTree->AddItem(0, main->GetName(), main);
            }
             //add other items to mainframe
            fListTree->AddItem(fListTree->FindChildByData(0, main),
                               el->fFrame->GetName(), el->fFrame);

         } else { //means we're in recursion loop, browsing in subframe
            // result is the name of the tree folder to which we want to
            // place the element
            TGListTreeItem *result = 0;
            TGFrame *par = (TGFrame*)el->fFrame->GetParent();
            result = fListTree->FindItemByObj(fListTree->GetFirstItem(), par);
            if (result)
               fListTree->AddItem(result, el->fFrame->GetName(), el->fFrame);
         }

         if ( (el->fFrame->InheritsFrom(TGCompositeFrame::Class())) &&
              (!(el->fFrame->InheritsFrom(TGMdiFrame::Class()))) ) {
               //recursive call for composite subframes
            main = (TGCompositeFrame*)(el->fFrame);
            MapItems(main);
         }
      }
   }
}

//______________________________________________________________________________
Bool_t TGuiBldNameFrame::CheckItems(TGCompositeFrame *main)
{
   // Check if items are in the list tree and at the same place.

   TList *list = main->GetList(); //list of all elements in the frame

   if (fListTree) {

      TGFrameElement *el = 0;
      TGListTreeItem *item = 0;
      TIter next(list);
      TGFrame *f = 0;
      TGListTreeItem *par = 0;

      while ((el = (TGFrameElement *) next())) {
         if (el && (el->fFrame)) {
            item = fListTree->FindItemByObj(fListTree->GetFirstItem(),
                                            el->fFrame);
            if (!item) {
               f = (TGFrame*)el->fFrame->GetParent();
               if (f) {
                  par = fListTree->FindItemByObj(fListTree->GetFirstItem(), f);
                  if (par)
                     fListTree->AddItem(par, el->fFrame->GetName(), el->fFrame);
               }
               //return kTRUE; //selected item not found = is newly created
            }
            else if (item->GetParent() && item->GetParent()->GetUserData() !=
                     el->fFrame->GetParent()) {
               f = (TGFrame*)el->fFrame->GetParent();
               if (f) {
                  par = fListTree->FindItemByObj(fListTree->GetFirstItem(), f);
                  if (par)
                     fListTree->Reparent(item, par);
               }
               //return kTRUE; //parent of the item changed
            }
            if (el->fFrame->InheritsFrom(TGCompositeFrame::Class())) {
               CheckItems((TGCompositeFrame*)el->fFrame);
            }
         }
      }
   }
   return kFALSE; //treelist remains the same
}

//______________________________________________________________________________
void TGuiBldNameFrame::RemoveFrame(TGFrame *frame)
{
   // Remove a frame.

   TGListTreeItem *item;
   item = fListTree->FindItemByObj(fListTree->GetFirstItem(), frame);
   if (item) {
      fListTree->DeleteItem(item);
   }
}

//______________________________________________________________________________
TGListTreeItem *TGuiBldNameFrame::FindItemByName(TGListTree *tree,
                                                 const char* name,
                                                 TGListTreeItem *item)
{
   // Find item with GetText == name. Search tree downwards starting at item.

   TGListTreeItem *fitem;
   if (item && name) {
      if (!strcmp(item->GetText(), name)) { //if names are equal
         return item;
      }
      else {
         if (item->GetFirstChild()) {
            fitem = FindItemByName(tree, name, item->GetFirstChild());
            if (fitem) return fitem;
         }
         return FindItemByName(tree, name, item->GetNextSibling());
      }
   }
   return 0;
}

//________________________________________________________________________________________
void TGuiBldNameFrame::SelectFrameByItem(TGListTreeItem* item, Int_t)
{
   // When list tree item is clicked, frame with that name is selected.

   TGFrame *frame = (TGFrame*)item->GetUserData();
   ((TGFrame*)frame->GetParent())->SetEditable(kTRUE);
   fManager->SelectFrame(frame);
   frame->SetEditable(kTRUE);
   fClient->NeedRedraw(frame);
}


 TGuiBldNameFrame.cxx:1
 TGuiBldNameFrame.cxx:2
 TGuiBldNameFrame.cxx:3
 TGuiBldNameFrame.cxx:4
 TGuiBldNameFrame.cxx:5
 TGuiBldNameFrame.cxx:6
 TGuiBldNameFrame.cxx:7
 TGuiBldNameFrame.cxx:8
 TGuiBldNameFrame.cxx:9
 TGuiBldNameFrame.cxx:10
 TGuiBldNameFrame.cxx:11
 TGuiBldNameFrame.cxx:12
 TGuiBldNameFrame.cxx:13
 TGuiBldNameFrame.cxx:14
 TGuiBldNameFrame.cxx:15
 TGuiBldNameFrame.cxx:16
 TGuiBldNameFrame.cxx:17
 TGuiBldNameFrame.cxx:18
 TGuiBldNameFrame.cxx:19
 TGuiBldNameFrame.cxx:20
 TGuiBldNameFrame.cxx:21
 TGuiBldNameFrame.cxx:22
 TGuiBldNameFrame.cxx:23
 TGuiBldNameFrame.cxx:24
 TGuiBldNameFrame.cxx:25
 TGuiBldNameFrame.cxx:26
 TGuiBldNameFrame.cxx:27
 TGuiBldNameFrame.cxx:28
 TGuiBldNameFrame.cxx:29
 TGuiBldNameFrame.cxx:30
 TGuiBldNameFrame.cxx:31
 TGuiBldNameFrame.cxx:32
 TGuiBldNameFrame.cxx:33
 TGuiBldNameFrame.cxx:34
 TGuiBldNameFrame.cxx:35
 TGuiBldNameFrame.cxx:36
 TGuiBldNameFrame.cxx:37
 TGuiBldNameFrame.cxx:38
 TGuiBldNameFrame.cxx:39
 TGuiBldNameFrame.cxx:40
 TGuiBldNameFrame.cxx:41
 TGuiBldNameFrame.cxx:42
 TGuiBldNameFrame.cxx:43
 TGuiBldNameFrame.cxx:44
 TGuiBldNameFrame.cxx:45
 TGuiBldNameFrame.cxx:46
 TGuiBldNameFrame.cxx:47
 TGuiBldNameFrame.cxx:48
 TGuiBldNameFrame.cxx:49
 TGuiBldNameFrame.cxx:50
 TGuiBldNameFrame.cxx:51
 TGuiBldNameFrame.cxx:52
 TGuiBldNameFrame.cxx:53
 TGuiBldNameFrame.cxx:54
 TGuiBldNameFrame.cxx:55
 TGuiBldNameFrame.cxx:56
 TGuiBldNameFrame.cxx:57
 TGuiBldNameFrame.cxx:58
 TGuiBldNameFrame.cxx:59
 TGuiBldNameFrame.cxx:60
 TGuiBldNameFrame.cxx:61
 TGuiBldNameFrame.cxx:62
 TGuiBldNameFrame.cxx:63
 TGuiBldNameFrame.cxx:64
 TGuiBldNameFrame.cxx:65
 TGuiBldNameFrame.cxx:66
 TGuiBldNameFrame.cxx:67
 TGuiBldNameFrame.cxx:68
 TGuiBldNameFrame.cxx:69
 TGuiBldNameFrame.cxx:70
 TGuiBldNameFrame.cxx:71
 TGuiBldNameFrame.cxx:72
 TGuiBldNameFrame.cxx:73
 TGuiBldNameFrame.cxx:74
 TGuiBldNameFrame.cxx:75
 TGuiBldNameFrame.cxx:76
 TGuiBldNameFrame.cxx:77
 TGuiBldNameFrame.cxx:78
 TGuiBldNameFrame.cxx:79
 TGuiBldNameFrame.cxx:80
 TGuiBldNameFrame.cxx:81
 TGuiBldNameFrame.cxx:82
 TGuiBldNameFrame.cxx:83
 TGuiBldNameFrame.cxx:84
 TGuiBldNameFrame.cxx:85
 TGuiBldNameFrame.cxx:86
 TGuiBldNameFrame.cxx:87
 TGuiBldNameFrame.cxx:88
 TGuiBldNameFrame.cxx:89
 TGuiBldNameFrame.cxx:90
 TGuiBldNameFrame.cxx:91
 TGuiBldNameFrame.cxx:92
 TGuiBldNameFrame.cxx:93
 TGuiBldNameFrame.cxx:94
 TGuiBldNameFrame.cxx:95
 TGuiBldNameFrame.cxx:96
 TGuiBldNameFrame.cxx:97
 TGuiBldNameFrame.cxx:98
 TGuiBldNameFrame.cxx:99
 TGuiBldNameFrame.cxx:100
 TGuiBldNameFrame.cxx:101
 TGuiBldNameFrame.cxx:102
 TGuiBldNameFrame.cxx:103
 TGuiBldNameFrame.cxx:104
 TGuiBldNameFrame.cxx:105
 TGuiBldNameFrame.cxx:106
 TGuiBldNameFrame.cxx:107
 TGuiBldNameFrame.cxx:108
 TGuiBldNameFrame.cxx:109
 TGuiBldNameFrame.cxx:110
 TGuiBldNameFrame.cxx:111
 TGuiBldNameFrame.cxx:112
 TGuiBldNameFrame.cxx:113
 TGuiBldNameFrame.cxx:114
 TGuiBldNameFrame.cxx:115
 TGuiBldNameFrame.cxx:116
 TGuiBldNameFrame.cxx:117
 TGuiBldNameFrame.cxx:118
 TGuiBldNameFrame.cxx:119
 TGuiBldNameFrame.cxx:120
 TGuiBldNameFrame.cxx:121
 TGuiBldNameFrame.cxx:122
 TGuiBldNameFrame.cxx:123
 TGuiBldNameFrame.cxx:124
 TGuiBldNameFrame.cxx:125
 TGuiBldNameFrame.cxx:126
 TGuiBldNameFrame.cxx:127
 TGuiBldNameFrame.cxx:128
 TGuiBldNameFrame.cxx:129
 TGuiBldNameFrame.cxx:130
 TGuiBldNameFrame.cxx:131
 TGuiBldNameFrame.cxx:132
 TGuiBldNameFrame.cxx:133
 TGuiBldNameFrame.cxx:134
 TGuiBldNameFrame.cxx:135
 TGuiBldNameFrame.cxx:136
 TGuiBldNameFrame.cxx:137
 TGuiBldNameFrame.cxx:138
 TGuiBldNameFrame.cxx:139
 TGuiBldNameFrame.cxx:140
 TGuiBldNameFrame.cxx:141
 TGuiBldNameFrame.cxx:142
 TGuiBldNameFrame.cxx:143
 TGuiBldNameFrame.cxx:144
 TGuiBldNameFrame.cxx:145
 TGuiBldNameFrame.cxx:146
 TGuiBldNameFrame.cxx:147
 TGuiBldNameFrame.cxx:148
 TGuiBldNameFrame.cxx:149
 TGuiBldNameFrame.cxx:150
 TGuiBldNameFrame.cxx:151
 TGuiBldNameFrame.cxx:152
 TGuiBldNameFrame.cxx:153
 TGuiBldNameFrame.cxx:154
 TGuiBldNameFrame.cxx:155
 TGuiBldNameFrame.cxx:156
 TGuiBldNameFrame.cxx:157
 TGuiBldNameFrame.cxx:158
 TGuiBldNameFrame.cxx:159
 TGuiBldNameFrame.cxx:160
 TGuiBldNameFrame.cxx:161
 TGuiBldNameFrame.cxx:162
 TGuiBldNameFrame.cxx:163
 TGuiBldNameFrame.cxx:164
 TGuiBldNameFrame.cxx:165
 TGuiBldNameFrame.cxx:166
 TGuiBldNameFrame.cxx:167
 TGuiBldNameFrame.cxx:168
 TGuiBldNameFrame.cxx:169
 TGuiBldNameFrame.cxx:170
 TGuiBldNameFrame.cxx:171
 TGuiBldNameFrame.cxx:172
 TGuiBldNameFrame.cxx:173
 TGuiBldNameFrame.cxx:174
 TGuiBldNameFrame.cxx:175
 TGuiBldNameFrame.cxx:176
 TGuiBldNameFrame.cxx:177
 TGuiBldNameFrame.cxx:178
 TGuiBldNameFrame.cxx:179
 TGuiBldNameFrame.cxx:180
 TGuiBldNameFrame.cxx:181
 TGuiBldNameFrame.cxx:182
 TGuiBldNameFrame.cxx:183
 TGuiBldNameFrame.cxx:184
 TGuiBldNameFrame.cxx:185
 TGuiBldNameFrame.cxx:186
 TGuiBldNameFrame.cxx:187
 TGuiBldNameFrame.cxx:188
 TGuiBldNameFrame.cxx:189
 TGuiBldNameFrame.cxx:190
 TGuiBldNameFrame.cxx:191
 TGuiBldNameFrame.cxx:192
 TGuiBldNameFrame.cxx:193
 TGuiBldNameFrame.cxx:194
 TGuiBldNameFrame.cxx:195
 TGuiBldNameFrame.cxx:196
 TGuiBldNameFrame.cxx:197
 TGuiBldNameFrame.cxx:198
 TGuiBldNameFrame.cxx:199
 TGuiBldNameFrame.cxx:200
 TGuiBldNameFrame.cxx:201
 TGuiBldNameFrame.cxx:202
 TGuiBldNameFrame.cxx:203
 TGuiBldNameFrame.cxx:204
 TGuiBldNameFrame.cxx:205
 TGuiBldNameFrame.cxx:206
 TGuiBldNameFrame.cxx:207
 TGuiBldNameFrame.cxx:208
 TGuiBldNameFrame.cxx:209
 TGuiBldNameFrame.cxx:210
 TGuiBldNameFrame.cxx:211
 TGuiBldNameFrame.cxx:212
 TGuiBldNameFrame.cxx:213
 TGuiBldNameFrame.cxx:214
 TGuiBldNameFrame.cxx:215
 TGuiBldNameFrame.cxx:216
 TGuiBldNameFrame.cxx:217
 TGuiBldNameFrame.cxx:218
 TGuiBldNameFrame.cxx:219
 TGuiBldNameFrame.cxx:220
 TGuiBldNameFrame.cxx:221
 TGuiBldNameFrame.cxx:222
 TGuiBldNameFrame.cxx:223
 TGuiBldNameFrame.cxx:224
 TGuiBldNameFrame.cxx:225
 TGuiBldNameFrame.cxx:226
 TGuiBldNameFrame.cxx:227
 TGuiBldNameFrame.cxx:228
 TGuiBldNameFrame.cxx:229
 TGuiBldNameFrame.cxx:230
 TGuiBldNameFrame.cxx:231
 TGuiBldNameFrame.cxx:232
 TGuiBldNameFrame.cxx:233
 TGuiBldNameFrame.cxx:234
 TGuiBldNameFrame.cxx:235
 TGuiBldNameFrame.cxx:236
 TGuiBldNameFrame.cxx:237
 TGuiBldNameFrame.cxx:238
 TGuiBldNameFrame.cxx:239
 TGuiBldNameFrame.cxx:240
 TGuiBldNameFrame.cxx:241
 TGuiBldNameFrame.cxx:242
 TGuiBldNameFrame.cxx:243
 TGuiBldNameFrame.cxx:244
 TGuiBldNameFrame.cxx:245
 TGuiBldNameFrame.cxx:246
 TGuiBldNameFrame.cxx:247
 TGuiBldNameFrame.cxx:248
 TGuiBldNameFrame.cxx:249
 TGuiBldNameFrame.cxx:250
 TGuiBldNameFrame.cxx:251
 TGuiBldNameFrame.cxx:252
 TGuiBldNameFrame.cxx:253
 TGuiBldNameFrame.cxx:254
 TGuiBldNameFrame.cxx:255
 TGuiBldNameFrame.cxx:256
 TGuiBldNameFrame.cxx:257
 TGuiBldNameFrame.cxx:258
 TGuiBldNameFrame.cxx:259
 TGuiBldNameFrame.cxx:260
 TGuiBldNameFrame.cxx:261
 TGuiBldNameFrame.cxx:262
 TGuiBldNameFrame.cxx:263
 TGuiBldNameFrame.cxx:264
 TGuiBldNameFrame.cxx:265
 TGuiBldNameFrame.cxx:266
 TGuiBldNameFrame.cxx:267
 TGuiBldNameFrame.cxx:268
 TGuiBldNameFrame.cxx:269
 TGuiBldNameFrame.cxx:270
 TGuiBldNameFrame.cxx:271
 TGuiBldNameFrame.cxx:272
 TGuiBldNameFrame.cxx:273
 TGuiBldNameFrame.cxx:274
 TGuiBldNameFrame.cxx:275
 TGuiBldNameFrame.cxx:276
 TGuiBldNameFrame.cxx:277
 TGuiBldNameFrame.cxx:278
 TGuiBldNameFrame.cxx:279
 TGuiBldNameFrame.cxx:280
 TGuiBldNameFrame.cxx:281
 TGuiBldNameFrame.cxx:282
 TGuiBldNameFrame.cxx:283
 TGuiBldNameFrame.cxx:284
 TGuiBldNameFrame.cxx:285
 TGuiBldNameFrame.cxx:286
 TGuiBldNameFrame.cxx:287
 TGuiBldNameFrame.cxx:288
 TGuiBldNameFrame.cxx:289
 TGuiBldNameFrame.cxx:290
 TGuiBldNameFrame.cxx:291
 TGuiBldNameFrame.cxx:292
 TGuiBldNameFrame.cxx:293
 TGuiBldNameFrame.cxx:294
 TGuiBldNameFrame.cxx:295
 TGuiBldNameFrame.cxx:296
 TGuiBldNameFrame.cxx:297
 TGuiBldNameFrame.cxx:298
 TGuiBldNameFrame.cxx:299
 TGuiBldNameFrame.cxx:300
 TGuiBldNameFrame.cxx:301
 TGuiBldNameFrame.cxx:302
 TGuiBldNameFrame.cxx:303
 TGuiBldNameFrame.cxx:304
 TGuiBldNameFrame.cxx:305
 TGuiBldNameFrame.cxx:306
 TGuiBldNameFrame.cxx:307
 TGuiBldNameFrame.cxx:308
 TGuiBldNameFrame.cxx:309
 TGuiBldNameFrame.cxx:310
 TGuiBldNameFrame.cxx:311
 TGuiBldNameFrame.cxx:312
 TGuiBldNameFrame.cxx:313
 TGuiBldNameFrame.cxx:314
 TGuiBldNameFrame.cxx:315
 TGuiBldNameFrame.cxx:316
 TGuiBldNameFrame.cxx:317
 TGuiBldNameFrame.cxx:318
 TGuiBldNameFrame.cxx:319
 TGuiBldNameFrame.cxx:320
 TGuiBldNameFrame.cxx:321
 TGuiBldNameFrame.cxx:322
 TGuiBldNameFrame.cxx:323
 TGuiBldNameFrame.cxx:324
 TGuiBldNameFrame.cxx:325
 TGuiBldNameFrame.cxx:326
 TGuiBldNameFrame.cxx:327
 TGuiBldNameFrame.cxx:328
 TGuiBldNameFrame.cxx:329
 TGuiBldNameFrame.cxx:330
 TGuiBldNameFrame.cxx:331
 TGuiBldNameFrame.cxx:332
 TGuiBldNameFrame.cxx:333
 TGuiBldNameFrame.cxx:334
 TGuiBldNameFrame.cxx:335
 TGuiBldNameFrame.cxx:336
 TGuiBldNameFrame.cxx:337
 TGuiBldNameFrame.cxx:338
 TGuiBldNameFrame.cxx:339
 TGuiBldNameFrame.cxx:340
 TGuiBldNameFrame.cxx:341
 TGuiBldNameFrame.cxx:342
 TGuiBldNameFrame.cxx:343
 TGuiBldNameFrame.cxx:344
 TGuiBldNameFrame.cxx:345
 TGuiBldNameFrame.cxx:346
 TGuiBldNameFrame.cxx:347
 TGuiBldNameFrame.cxx:348
 TGuiBldNameFrame.cxx:349
 TGuiBldNameFrame.cxx:350
 TGuiBldNameFrame.cxx:351
 TGuiBldNameFrame.cxx:352
 TGuiBldNameFrame.cxx:353
 TGuiBldNameFrame.cxx:354
 TGuiBldNameFrame.cxx:355
 TGuiBldNameFrame.cxx:356
 TGuiBldNameFrame.cxx:357
 TGuiBldNameFrame.cxx:358
 TGuiBldNameFrame.cxx:359
 TGuiBldNameFrame.cxx:360
 TGuiBldNameFrame.cxx:361
 TGuiBldNameFrame.cxx:362
 TGuiBldNameFrame.cxx:363
 TGuiBldNameFrame.cxx:364
 TGuiBldNameFrame.cxx:365
 TGuiBldNameFrame.cxx:366
 TGuiBldNameFrame.cxx:367
 TGuiBldNameFrame.cxx:368
 TGuiBldNameFrame.cxx:369
 TGuiBldNameFrame.cxx:370
 TGuiBldNameFrame.cxx:371
 TGuiBldNameFrame.cxx:372
 TGuiBldNameFrame.cxx:373
 TGuiBldNameFrame.cxx:374
 TGuiBldNameFrame.cxx:375
 TGuiBldNameFrame.cxx:376
 TGuiBldNameFrame.cxx:377
 TGuiBldNameFrame.cxx:378
 TGuiBldNameFrame.cxx:379
 TGuiBldNameFrame.cxx:380
 TGuiBldNameFrame.cxx:381
 TGuiBldNameFrame.cxx:382
 TGuiBldNameFrame.cxx:383
 TGuiBldNameFrame.cxx:384
 TGuiBldNameFrame.cxx:385
 TGuiBldNameFrame.cxx:386
 TGuiBldNameFrame.cxx:387