// @(#)root/guibuilder:$Id: d2f0a1966f9911570cafe9d356f2158a2773edd1 $
// 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.             *
 *************************************************************************/


#include "TRootGuiBuilder.h"
#include "TGuiBldDragManager.h"
#include "TGuiBldEditor.h"

#include "TGShutter.h"
#include "TGSplitter.h"
#include "TGLayout.h"
#include "TGResourcePool.h"
#include "TGButton.h"
#include "TROOT.h"
#include "TGDockableFrame.h"
#include "TGMdi.h"
#include "TGStatusBar.h"
#include "TG3DLine.h"
#include "TGLabel.h"
#include "TColor.h"
#include "TGToolBar.h"
#include "TGToolTip.h"
#include "KeySymbols.h"
#include "TGFileDialog.h"
#include "TGMsgBox.h"
#include "TSystem.h"
#include "TApplication.h"
#include "TRootHelpDialog.h"
#include "TGListTree.h"
#include "TImage.h"
#include "TTimer.h"
#include "TGTextEdit.h"
#include "TGTab.h"
#include "TGListBox.h"
#include "TGComboBox.h"
#include "TGProgressBar.h"


//////////////////////////////////////////////////////////////////////////
//
// TRootGuiBuilder
//
//
//  ************************************************
//                ROOT GUI Builder principles
//  ************************************************
//
//  With the GUI builder, we try to make the next step from WYSIWYG
//  to embedded editing concept - WYSIWYE ("what you see is what you edit").
//  The ROOT GUI Builder allows modifying real GUI objects.
//  For example, one can edit the existing GUI application created by
//  $ROOTSYS/tutorials/gui/guitest.C.
//  GUI components can be added to a design area from a widget palette,
//  or can be borrowed from another application.
//  One can drag and and drop TCanvas's menu bar into the application.
//  GUI objects can be resized and dragged, copied and pasted.
//  ROOT GUI Builder allows changing the layout, snap to grid, change object's
//  layout order via the GUI Builder toolbar, or by options in the right-click
//  context menus.
//  A final design can be immediatly tested and used, or saved as a C++ macro.
//  For example, it's possible to rearrange buttons in control bar,
//  add separators etc. and continue to use a new fancy control bar in the
//  application.
//
//  ************************************************
//
//  The following is a short description of the GUI Builder actions and key shortcuts:
//
//   o Press Ctrl-Double-Click to start/stop edit mode
//   o Press Double-Click to activate quick edit action (defined in root.mimes)
//
//                 Selection, grabbing, dropping
//       ************************************************
//    It is possible to select, drag any frame and drop it to any frame
//
//   o Click left mouse button or Ctrl-Click to select an object to edit.
//   o Press right mouse button to activate context menu
//   o Multiple selection (grabbing):
//      - draw lasso and press Return key
//      - press Shift key and draw lasso
//   o Dropping:
//      - select frame and press Ctrl-Return key
//   o Changing layout order:
//      - select frame and use arrow keys to change layout order
//   o Alignment:
//      - draw lasso and press arrow keys (or Shift-Arrow key) to align frames
//
//                    Key shortcuts
//       ************************************************
//   o Return    - grab selected frames
//   o Ctrl-Return - drop frames
//   o Del       - delete selected frame
//   o Shift-Del - crop action
//   o Ctrl-X    - cut action
//   o Ctrl-C    - copy action
//   o Ctrl-V    - paste frame into the last clicked position
//   o Ctrl-L    - compact
//   o Ctrl-B    - enable/disable layout
//   o Ctrl-H    - switch horizontal-vertical layout
//   o Ctrl-G    - switch on/off grid
//   o Ctrl-S    - save action
//   o Ctrl-O    - open and execute a ROOT macro file.  GUI components created
//                 after macro execution will be emebedded to currently edited
//                 design area.
//   o Ctrl-N    - create new main frame
//
//Begin_Html
/*
<img src="gif/RootGuiBuilder.gif">
*/
//End_Html


const char gHelpBuilder[] = "\
               Start/Stop Edit Mode\n\
     ************************************************\n\
 o Select File menu / Edit\n\
 o Select Start Edit button on the toolbar\n\
 o Ctrl-Double-Click on the project frame\n\
 o Double-Click to activate quick edit action (defined in root.mimes)\n\
\n\
               Select, Grab, Drop\n\
     ************************************************\n\
  It is possible to select & drag any frame and drop it to another frame\n\
\n\
 o Press left mouse button Click or Ctrl-Click to select an object.\n\
 o Press right mouse button to activate context menu\n\
 o Multiple selection can be done in two ways (grabbing):\n\
      - draw lasso and press Return key\n\
      - press Shift key and draw lasso\n\
 o Dropping:\n\
      - select frame and press Ctrl-Return key\n\
 o Changing layout order of widgets:\n\
      - set broken layout mode via toolbar button or check button\n\
        \'Layout subframes\' in tab \'Layout\'\n\
      - select a widget and use arrow keys to change the layout order\n\
 o Alignment:\n\
      - remove the selection (if any) by using the space bar\n\
      - draw lasso and use the four toolbar buttons for widget alignment\n\
      - arrow keys align the frames too, if you prefer the keyboard\n\
\n\
                    Key shortcuts\n\
     ************************************************\n\
 o Return    - grab selected frames\n\
 o Ctrl-Return - drop frames\n\
 o Del       - delete selected frame\n\
 o Shift-Del - crop\n\
 o Ctrl-X    - cut\n\
 o Ctrl-C    - copy\n\
 o Ctrl-V    - paste frame into the last clicked position\n\
 o Ctrl-L    - compact frame\n\
 o Ctrl-B    - enable/disable layout\n\
 o Ctrl-H    - switch Horizontal-Vertical layout\n\
 o Ctrl-G    - switch ON/OFF grid\n\
 o Ctrl-S    - save\n\
 o Ctrl-O    - open and execute ROOT macro file\n\
 o Ctrl-N    - create new main frame\n\
 o Ctrl-Z    - undo last action (not implemented)\n\
 o Shift-Ctrl-Z - redo (not implemented)\n\
\n\
                    More information\n\
     ************************************************\n\
\n\
For more information, please see the GuiBuilder Howto page at:\n\
\n\
   http://root.cern.ch/root/HowtoGuiBuilder.html\n\
\n\
";

const char gHelpAboutBuilder[] = "\
                  ROOT Gui Builder\n\
\n\
************************************************************\n\
* Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.  *\n\
* All rights reserved.                                     *\n\
*                                                          *\n\
* For the licensing terms see $ROOTSYS/LICENSE.            *\n\
* For the list of contributors see $ROOTSYS/README/CREDITS.*\n\
************************************************************\n\
";

//----- Toolbar stuff...

static ToolBarData_t gToolBarData[] = {
   { "bld_edit.png",   "Start Edit (Ctrl-Dbl-Click)",   kFALSE, kEditableAct, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "bld_new.png",   "New (Ctrl-N)",   kFALSE, kNewAct, 0 },
   { "bld_open.png",   "Open (Ctrl-O)",   kFALSE, kOpenAct, 0 },
   { "bld_save.png",   "Save As (Ctrl-S)",   kFALSE, kSaveAct, 0 },
   { "",                 "",               kFALSE, -1, 0 },
//   { "bld_pointer.xpm",   "Selector (Ctrl-Click)",   kTRUE, kSelectAct, 0 },
//   { "bld_grab.xpm",   "Grab Selected Frames (Return)",   kTRUE, kGrabAct, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "bld_compact.png",   "Compact selected frame (Ctrl-L)",        kFALSE,  kCompactAct, 0 },
   { "bld_break.png",   "Disable/Enable layout (Ctrl-B)",        kFALSE,  kBreakLayoutAct, 0 },
   { "bld_hbox.png",  "Layout selected frame horizontally (Ctrl-H)",    kFALSE,  kLayoutHAct, 0 },
   { "bld_vbox.png",   "Layout selected frame vertically (Ctrl-H)",    kFALSE,  kLayoutVAct, 0 },
   { "bld_grid.png",   "On/Off grid (Ctrl+G)",     kFALSE,  kGridAct, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "bld_AlignTop.png",   "Align selected frames to the top line of lasso (Up  Arrow)",        kFALSE,  kUpAct, 0 },
   { "bld_AlignBtm.png",   "Align selected frames to the down line of lasso (Down Arrow)",        kFALSE,  kDownAct, 0 },
   { "bld_AlignLeft.png",   "Align selected frames to the left line of lasso (Left  Arrow)",        kFALSE,  kLeftAct, 0 },
   { "bld_AlignRight.png",   "Align selected frames to the right line of lasso (Right  Arrow)",        kFALSE,  kRightAct, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "bld_cut.png",   "Cut (Ctrl-X)",        kFALSE,  kCutAct, 0 },
   { "bld_copy.png",   "Copy (Ctrl-C)",        kFALSE,  kCopyAct, 0 },
   { "bld_paste.png",   "Paste frame into the last clicked position (Ctrl-V)",        kFALSE,  kPasteAct, 0 },
//   { "bld_paste_into.png",   "Paste with replacing of selected frame (Ctrl-R)",        kFALSE,  kReplaceAct, 0 },
   { "bld_delete.png",   "Delete (Del/Backspace)",        kFALSE,  kDeleteAct, 0 },
   { "bld_crop.png",   "Crop (Shift-Del)",        kFALSE,  kCropAct, 0 },
//   { "",                 "",               kFALSE, -1, 0 },
//   { "bld_undo.png",   "Undo (Ctrl-Z)",        kFALSE,  kUndoAct, 0 },
//   { "bld_redo.png",   "Redo (Shift-Ctrl-Z)",        kFALSE,  kRedoAct, 0 },
   { 0,                  0,                kFALSE, 0, 0 }
};


ClassImp(TRootGuiBuilder)


TGGC *TRootGuiBuilder::fgBgnd = 0;
TGGC *TRootGuiBuilder::fgBgndPopup = 0;
TGGC *TRootGuiBuilder::fgBgndPopupHlght = 0;


////////////////////////////////////////////////////////////////////////////////
//
// Here are few experimental GUI classes which give a nice&fancy appearence
// to GuiBuilder.
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
class TGuiBldMenuTitle : public TGMenuTitle {

private:
   Pixel_t fBgndColor;

protected:
   void DoRedraw();

public:
   virtual ~TGuiBldMenuTitle() {}
   TGuiBldMenuTitle(const TGWindow *p, TGHotString *s, TGPopupMenu *menu) :
      TGMenuTitle(p, s, menu) {
         fEditDisabled = kEditDisable;
         fBgndColor = TRootGuiBuilder::GetBgnd();
         SetBackgroundColor(fBgndColor);
         AddInput(kEnterWindowMask | kLeaveWindowMask);
   }

   Bool_t HandleCrossing(Event_t *event);
};

//______________________________________________________________________________
Bool_t TGuiBldMenuTitle::HandleCrossing(Event_t *event)
{
   // Handle  crossing events.

   if (event->fType == kEnterNotify) {
      fBgndColor = TRootGuiBuilder::GetPopupHlght();
   } else {
      fBgndColor = TRootGuiBuilder::GetBgnd();
   }
   DoRedraw();
   return kTRUE;
}

//______________________________________________________________________________
void TGuiBldMenuTitle::DoRedraw()
{
   // Redraw builder menu title.

   TGFrame::DoRedraw();

   int x, y, max_ascent, max_descent;
   x = y = 4;

   gVirtualX->GetFontProperties(fFontStruct, max_ascent, max_descent);

   if (fState) {
      gVirtualX->SetForeground(fNormGC, GetDefaultSelectedBackground());
      gVirtualX->FillRectangle(fId,fNormGC, 0, 0, fWidth, fHeight);
      gVirtualX->SetForeground(fNormGC, GetForeground());
      fLabel->Draw(fId, fSelGC, x, y + max_ascent);
   } else {
      gVirtualX->SetForeground(fNormGC, fBgndColor);
      gVirtualX->FillRectangle(fId,fNormGC, 0, 0, fWidth, fHeight);
      gVirtualX->SetForeground(fNormGC, GetForeground());
      fLabel->Draw(fId, fNormGC, x, y + max_ascent);
   }
   if (fBgndColor == TRootGuiBuilder::GetPopupHlght()) {
      gVirtualX->DrawRectangle(fId, TGFrame::GetBlackGC()(),
                               0, 0, GetWidth()-1, GetHeight()-1);
   }
}


////////////////////////////////////////////////////////////////////////////////
class TGuiBldPopupMenu : public TGPopupMenu {

public:
   virtual ~TGuiBldPopupMenu() { }
   TGuiBldPopupMenu() :
      TGPopupMenu(gClient->GetDefaultRoot()) {
      fEditDisabled = kEditDisable;
      SetBackgroundColor(TRootGuiBuilder::GetPopupBgnd());
      fEntrySep = 8;
   }
   void DrawEntry(TGMenuEntry *entry);
};

//______________________________________________________________________________
void TGuiBldPopupMenu::DrawEntry(TGMenuEntry *entry)
{
   // Draw popup menu entry.

   FontStruct_t  font;
   GCValues_t    gcval;

   if (entry->GetStatus() & kMenuHideMask)
      return;

   if (entry->GetStatus() & kMenuDefaultMask) {
      font = fHifontStruct;
      gcval.fMask = kGCFont;
      gcval.fFont = gVirtualX->GetFontHandle(font);
      gVirtualX->ChangeGC(fNormGC, &gcval);
      gVirtualX->ChangeGC(fSelGC, &gcval);
   } else {
      font = fFontStruct;
   }

   UInt_t tw = 0;
   UInt_t sep = fEntrySep;
   Int_t max_ascent, max_descent;
   gVirtualX->GetFontProperties(font, max_ascent, max_descent);
   if (entry->GetShortcut())
      tw = 7 + gVirtualX->TextWidth(fFontStruct, entry->GetShortcutText(),
                                    entry->GetShortcut()->Length());

   Int_t tx = entry->GetEx() + fXl;
   Int_t ty = entry->GetEy() + max_ascent + 2;
   UInt_t h = max_ascent + max_descent + sep;
   Int_t picposy = 0;
   if (entry->GetPic() != 0) {
      picposy = entry->GetEy() + h / 2;
      picposy -= entry->GetPic()->GetHeight() / 2;
   }

   switch (entry->GetType()) {
      case kMenuPopup:
      case kMenuLabel:
      case kMenuEntry:
         if ((entry->GetStatus() & kMenuActiveMask) && 
             entry->GetType() != kMenuLabel) {
            if (entry->GetStatus() & kMenuEnableMask) {
               gVirtualX->FillRectangle(fId, 
                              TRootGuiBuilder::GetPopupHlghtGC()->GetGC(),
                              entry->GetEx()+1, entry->GetEy(),
                              fMenuWidth-6, h - 1);
               gVirtualX->DrawRectangle(fId,  TGFrame::GetBlackGC()(),
                                        entry->GetEx()+ 1, entry->GetEy()-1,
                                        fMenuWidth - entry->GetEx()- 6, h - 1);
            }

            if (entry->GetType() == kMenuPopup) {
               DrawTrianglePattern(fSelGC, fMenuWidth-10, entry->GetEy() + 3,
                                   fMenuWidth-6, entry->GetEy() + 11);
            }

            if (entry->GetStatus() & kMenuCheckedMask) {
               DrawCheckMark(fSelGC, 6, entry->GetEy()+sep, 14,
                             entry->GetEy()+11);
            }

            if (entry->GetStatus() & kMenuRadioMask) {
               DrawRCheckMark(fSelGC, 6, entry->GetEy()+sep, 14,
                              entry->GetEy()+11);
            }

            if (entry->GetPic() != 0) {
               entry->GetPic()->Draw(fId, fSelGC, 8, picposy);
            }

            entry->GetLabel()->Draw(fId,
                           (entry->GetStatus() & kMenuEnableMask) ? fSelGC : 
                            GetShadowGC()(), tx, ty);
            if (entry->GetShortcut())
               entry->GetShortcut()->Draw(fId,
                           (entry->GetStatus() & kMenuEnableMask) ? fSelGC : 
                           GetShadowGC()(), fMenuWidth - tw, ty);
         } else {
            if ( entry->GetType() != kMenuLabel) {
               gVirtualX->FillRectangle(fId, 
                           TRootGuiBuilder::GetBgndGC()->GetGC(),
                           entry->GetEx()+1, entry->GetEy()-1, tx-4, h);

               gVirtualX->FillRectangle(fId, 
                           TRootGuiBuilder::GetPopupBgndGC()->GetGC(),
                           tx-1, entry->GetEy()-1, fMenuWidth-tx-1, h);
            } else { // we need some special background for labels
               gVirtualX->FillRectangle(fId, TGFrame::GetBckgndGC()(),
                                       entry->GetEx()+1, entry->GetEy()-1,
                                       fMenuWidth - entry->GetEx()- 3, h);
            }

            if (entry->GetType() == kMenuPopup) {
               DrawTrianglePattern(fNormGC, fMenuWidth-10, entry->GetEy() + 3,
                                   fMenuWidth-6, entry->GetEy() + 11);
            }

            if (entry->GetStatus() & kMenuCheckedMask) {
               DrawCheckMark(fNormGC, 6, entry->GetEy()+sep, 14,
                             entry->GetEy()+11);
            }

            if (entry->GetStatus() & kMenuRadioMask) {
               DrawRCheckMark(fNormGC, 6, entry->GetEy()+sep, 14,
                              entry->GetEy()+11);
            }

            if (entry->GetPic() != 0) {
               entry->GetPic()->Draw(fId, fNormGC, 8, picposy);
            }

            if (entry->GetStatus() & kMenuEnableMask) {
               entry->GetLabel()->Draw(fId, fNormGC, tx, ty);
               if (entry->GetShortcut())
                  entry->GetShortcut()->Draw(fId, fNormGC, fMenuWidth - tw, ty);
            } else {
               entry->GetLabel()->Draw(fId, GetHilightGC()(), tx+1, ty+1);
               entry->GetLabel()->Draw(fId, GetShadowGC()(), tx, ty);
               if (entry->GetShortcut()) {
                  entry->GetShortcut()->Draw(fId, GetHilightGC()(),
                                             fMenuWidth - tw+1, ty+1);
                  entry->GetShortcut()->Draw(fId, GetShadowGC()(),
                                             fMenuWidth - tw, ty);
               }
            }
         }
         break;

      case kMenuSeparator:
         gVirtualX->FillRectangle(fId, TRootGuiBuilder::GetBgndGC()->GetGC(),
                                     entry->GetEx()+1, entry->GetEy()-1,
                                     tx-4, 4);
         gVirtualX->DrawLine(fId, TGFrame::GetBlackGC()(), tx+1,
                             entry->GetEy()+1, fMenuWidth-sep,
                             entry->GetEy()+1);
         break;
   }

   // restore font
   if (entry->GetStatus() & kMenuDefaultMask) {
      gcval.fFont = gVirtualX->GetFontHandle(fFontStruct);
      gVirtualX->ChangeGC(fNormGC, &gcval);
      gVirtualX->ChangeGC(fSelGC, &gcval);
   }
}

////////////////////////////////////////////////////////////////////////////////
class TGuiBldToolButton : public TGPictureButton {

private:
   Pixel_t fBgndColor;

protected:
   void  DoRedraw();

public:
   virtual ~TGuiBldToolButton() { }
   TGuiBldToolButton(const TGWindow *p, const TGPicture *pic, Int_t id = -1) :
         TGPictureButton(p, pic, id) {
      fBgndColor = TRootGuiBuilder::GetBgnd();
      ChangeOptions(GetOptions() & ~kRaisedFrame);
   }

   Bool_t IsDown() const { return (fOptions & kSunkenFrame); }
   void SetState(EButtonState state, Bool_t emit = kTRUE);
   Bool_t HandleCrossing(Event_t *event);
   void SetBackgroundColor(Pixel_t bgnd) { fBgndColor = bgnd; TGFrame::SetBackgroundColor(bgnd); }
};

//______________________________________________________________________________
void TGuiBldToolButton::DoRedraw()
{
   // Redraw tool button.

   int x = (fWidth - fTWidth) >> 1;
   int y = (fHeight - fTHeight) >> 1;
   UInt_t w = GetWidth() - 1;
   UInt_t h = GetHeight()- 1;

   TGFrame::SetBackgroundColor(fBgndColor);

   TGFrame::DoRedraw();
   if (fState == kButtonDown || fState == kButtonEngaged) {
      ++x; ++y;
      w--; h--;
   }

   const TGPicture *pic = fPic;
   if (fState == kButtonDisabled) {
      if (!fPicD) CreateDisabledPicture();
      pic = fPicD ? fPicD : fPic;
   }
   if (fBgndColor == TRootGuiBuilder::GetPopupHlght()) {
      x--; y--;
      gVirtualX->DrawRectangle(fId, TGFrame::GetBlackGC()(), 0, 0, w, h);
   }
   pic->Draw(fId, fNormGC, x, y);
}

//______________________________________________________________________________
Bool_t TGuiBldToolButton::HandleCrossing(Event_t *event)
{
   // Handle crossing events.

   if (fTip) {
      if (event->fType == kEnterNotify) {
         fTip->Reset();
      } else {
         fTip->Hide();
      }
   }

   if ((event->fType == kEnterNotify) && (fState != kButtonDisabled)) {
      fBgndColor = TRootGuiBuilder::GetPopupHlght();
   } else {
      fBgndColor = TRootGuiBuilder::GetBgnd();
   }
   if (event->fType == kLeaveNotify) {
      fBgndColor = TRootGuiBuilder::GetBgnd();
      if (fState != kButtonDisabled && fState != kButtonEngaged)
         SetState(kButtonUp, kFALSE);
   }
   DoRedraw();

   return kTRUE;
}

//______________________________________________________________________________
void TGuiBldToolButton::SetState(EButtonState state, Bool_t emit)
{
   // Set state of tool bar button and emit a signal according
   // to passed arguments.

   Bool_t was = !IsDown();

   if (state != fState) {
      switch (state) {
         case kButtonEngaged:
         case kButtonDown:
            fOptions &= ~kRaisedFrame;
            fOptions |= kSunkenFrame;
            break;
         case kButtonDisabled:
         case kButtonUp:
            fOptions &= ~kRaisedFrame;
            fOptions &= ~kSunkenFrame;
            break;
      }
      fState = state;
      DoRedraw();
      if (emit) EmitSignals(was);
   }
}

////////////////////////////////////////////////////////////////////////////////
//______________________________________________________________________________
TRootGuiBuilder::TRootGuiBuilder(const TGWindow *p) : TGuiBuilder(),
   TGMainFrame(p ? p : gClient->GetDefaultRoot(), 1, 1)
{
   // Create GUI builder application.

   SetCleanup(kDeepCleanup);
   gGuiBuilder  = this;
   fManager = 0;
   fEditor = 0;
   fActionButton = 0;
   fClosing = 0;

   if (gDragManager) {
      fManager = (TGuiBldDragManager *)gDragManager;
   } else {
      gDragManager = fManager = new TGuiBldDragManager();
   }
   fManager->SetBuilder(this);

   fMenuBar = new TGMdiMenuBar(this, 10, 10);
   AddFrame(fMenuBar, new TGLayoutHints(kLHintsTop | kLHintsExpandX));
   InitMenu();

   AddFrame(new TGHorizontal3DLine(this), new TGLayoutHints(kLHintsTop |
            kLHintsExpandX, 0,0,2,2));

   fToolDock = new TGDockableFrame(this);
   AddFrame(fToolDock, new TGLayoutHints(kLHintsExpandX, 0, 0, 1, 0));
   fToolDock->SetWindowName("GuiBuilder ToolBar");

   fToolBar = new TGToolBar(fToolDock);
   fToolDock->AddFrame(fToolBar, new TGLayoutHints(kLHintsTop |
                       kLHintsExpandX));

   int spacing = 8;

   for (int i = 0; gToolBarData[i].fPixmap; i++) {
      if (strlen(gToolBarData[i].fPixmap) == 0) {
         spacing = 8;
         continue;
      }

      const TGPicture *pic = fClient->GetPicture(gToolBarData[i].fPixmap);
      TGuiBldToolButton *pb = new TGuiBldToolButton(fToolBar, pic,
                                                    gToolBarData[i].fId);
      pb->SetStyle(gClient->GetStyle());

      pb->SetToolTipText(gToolBarData[i].fTipText);

      TGToolTip *tip = pb->GetToolTip();
      tip->SetDelay(200);

      tip->Connect("Reset()", "TRootGuiBuilder", this, "UpdateStatusBar(=0)");
      tip->Connect("Hide()", "TRootGuiBuilder", this, "EraseStatusBar()");

      fToolBar->AddButton(this, pb, spacing);
      spacing = 0;

      if (gToolBarData[i].fId == kEditableAct) {
         fStartButton = pb;
         continue;
      }

      if ((gToolBarData[i].fId == kUndoAct) ||
          (gToolBarData[i].fId == kRedoAct)) {
         pb->SetState(kButtonDisabled);
      }
   }

   fToolBar->Connect("Clicked(Int_t)", "TGuiBldDragManager", fManager,
                     "HandleAction(Int_t)");

   AddFrame(new TGHorizontal3DLine(this), new TGLayoutHints(kLHintsTop |
            kLHintsExpandX, 0,0,2,5));

   TGCompositeFrame *cf = new TGHorizontalFrame(this, 1, 1);
   AddFrame(cf, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY));

   //fShutterDock = new TGDockableFrame(cf);
   //cf->AddFrame(fShutterDock, new TGLayoutHints(kLHintsNormal ));
   //fShutterDock->SetWindowName("Widget Factory");
   //fShutterDock->EnableUndock(kTRUE);
   //fShutterDock->EnableHide(kTRUE);
   //fShutterDock->DockContainer();

   fShutter = new TGShutter(cf, kSunkenFrame);
   cf->AddFrame(fShutter, new TGLayoutHints(kLHintsNormal | kLHintsExpandY));
   fShutter->ChangeOptions(fShutter->GetOptions() | kFixedWidth);

   TGVSplitter *splitter = new TGVSplitter(cf);
   splitter->SetFrame(fShutter, kTRUE);
   cf->AddFrame(splitter, new TGLayoutHints(kLHintsLeft | kLHintsExpandY));

   fMain = new TGMdiMainFrame(cf, fMenuBar, 1, 1);
   fMain->Connect("FrameClosed(Int_t)", "TRootGuiBuilder", this,
                  "HandleWindowClosed(Int_t)");

   TQObject::Connect("TGMdiFrame", "CloseWindow()", "TRootGuiBuilder", this,
                     "MaybeCloseWindow()");

   cf->AddFrame(fMain, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY));

   fMain->GetContainer()->SetEditDisabled(kEditDisable);

   const TGPicture *pbg = fClient->GetPicture("bld_bg.png");
   if (pbg) {
      fMain->GetContainer()->SetBackgroundPixmap(pbg->GetPicture());
   }

   if (fManager) {
      fEditor = new TGuiBldEditor(cf);
      cf->AddFrame(fEditor, new TGLayoutHints(kLHintsNormal | kLHintsExpandY));
      fManager->SetPropertyEditor(fEditor);
      fEditor->SetEmbedded();
   }

   AddSection("Projects");
   AddSection("Buttons");
   AddSection("Containers");
   AddSection("Bars");
   AddSection("Input");
   AddSection("Complex Input");
   AddSection("Display");
   AddSection("Dialogs");

   // create an empty section
   AddSection("User's Macros");
   TGShutterItem *item = fShutter->GetItem("User's Macros");
   TGCompositeFrame *cont = (TGCompositeFrame *)item->GetContainer();
   cont->SetBackgroundColor(TColor::Number2Pixel(18));

   TGuiBldAction *act = new TGuiBldAction("TGMainFrame", "Empty Frame",
                                          kGuiBldProj);
   act->fAct = "empty";
   act->fPic = "bld_mainframe.xpm";
   AddAction(act, "Projects");

   act = new TGuiBldAction("TGMainFrame", "Horizontal Frame", kGuiBldProj);
   act->fAct = "horizontal";
   act->fPic = "bld_mainframe.xpm";
   AddAction(act, "Projects");

   act = new TGuiBldAction("TGMainFrame", "Vertical Frame", kGuiBldProj);
   act->fAct = "vertical";
   act->fPic = "bld_mainframe.xpm";
   AddAction(act, "Projects");

   // Standard
   act = new TGuiBldAction("TGTextButton", "Text Button", kGuiBldCtor);
   act->fAct = "new TGTextButton()";
   act->fPic = "bld_textbutton.xpm";
   AddAction(act, "Buttons");

   act = new TGuiBldAction("TGCheckButton", "Check Button", kGuiBldCtor);
   act->fAct = "new TGCheckButton()";
   act->fPic = "bld_checkbutton.xpm";
   AddAction(act, "Buttons");

   act = new TGuiBldAction("TGRadioButton", "Radio Button", kGuiBldCtor);
   act->fAct = "new TGRadioButton()";
   act->fPic = "bld_radiobutton.xpm";
   AddAction(act, "Buttons");

   act = new TGuiBldAction("TGPictureButton", "Picture Button", kGuiBldCtor);
   act->fAct = "new TGPictureButton()";
   act->fPic = "bld_image.xpm";
   AddAction(act, "Buttons");

   act = new TGuiBldAction("TGTextEntry", "Text Entry", kGuiBldCtor);
   act->fAct = "new TGTextEntry()";
   act->fPic = "bld_entry.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGTextEdit", "Text Edit", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildTextEdit()";
   act->fPic = "bld_text.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGNumberEntry", "Number Entry", kGuiBldCtor);
   act->fAct = "new TGNumberEntry()";
   act->fPic = "bld_numberentry.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGComboBox", "Combo Box", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildComboBox()";
   act->fPic = "bld_combobox.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGListBox", "List Box", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildListBox()";
   act->fPic = "bld_listbox.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGHSlider", "Horizontal Slider", kGuiBldCtor);
   act->fAct = "new TGHSlider()";
   act->fPic = "bld_hslider.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGVSlider", "Vertical Slider", kGuiBldCtor);
   act->fAct = "new TGVSlider()";
   act->fPic = "bld_vslider.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGHScrollBar", "HScrollbar", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildHScrollBar()";
   act->fPic = "bld_hscrollbar.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGVScrollBar", "VScrollbar", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildVScrollBar()";
   act->fPic = "bld_vscrollbar.xpm";
   AddAction(act, "Input");

   act = new TGuiBldAction("TGListTree", "List Tree", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildListTree()";
   act->fPic = "bld_listtree.xpm";
   AddAction(act, "Complex Input");

   act = new TGuiBldAction("TGLabel", "Text Label", kGuiBldCtor);
   act->fAct = "new TGLabel()";
   act->fPic = "bld_label.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TGIcon", "Icon", kGuiBldCtor);
   act->fAct = "new TGIcon()";
   act->fPic = "bld_image.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TGHorizontal3DLine", "Horizontal Line",
                           kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildH3DLine()";
   act->fPic = "bld_hseparator.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TGVertical3DLine", "Vertical Line", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildV3DLine()";
   act->fPic = "bld_vseparator.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TGStatusBar", "Status Bar", kGuiBldCtor);
   act->fAct = "new TGStatusBar()";
   act->fPic = "bld_statusbar.xpm";
   act->fHints = new TGLayoutHints(kLHintsBottom | kLHintsExpandX);
   AddAction(act, "Bars");

   act = new TGuiBldAction("TGHProgressBar", "HProgress Bar", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildHProgressBar()";
   act->fPic = "bld_hprogressbar.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TGVProgressBar", "VProgress Bar", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildVProgressBar()";
   act->fPic = "bld_vprogressbar.xpm";
   AddAction(act, "Display");

   act = new TGuiBldAction("TRootEmbeddedCanvas", "Embed Canvas", kGuiBldCtor);
   act->fAct = "new TRootEmbeddedCanvas()";
   act->fPic = "bld_embedcanvas.xpm";
   AddAction(act, "Display");

   // Containers
   act = new TGuiBldAction("TGHorizontalFrame", "Horizontal Frame",
                           kGuiBldCtor);
   act->fAct = "new TGHorizontalFrame(0,200,100)";
   act->fPic = "bld_hbox.xpm";
   AddAction(act, "Containers");

   act = new TGuiBldAction("TGVerticalFrame", "Vertical Frame", kGuiBldCtor);
   act->fAct = "new TGVerticalFrame(0,100,200)";
   act->fPic = "bld_vbox.xpm";
   AddAction(act, "Containers");

   act = new TGuiBldAction("TGGroupFrame", "Group Frame", kGuiBldCtor);
   act->fAct = "new TGGroupFrame()";
   act->fPic = "bld_groupframe.xpm";
   AddAction(act, "Containers");

   act = new TGuiBldAction("TGTab", "Tabbed Frame", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildTab()";
   act->fPic = "bld_tab.xpm";
   AddAction(act, "Containers");

   act = new TGuiBldAction("TGShutter", "Shutter", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildShutter()";
   act->fPic = "bld_shutter.png";
   AddAction(act, "Containers");


   act = new TGuiBldAction("TGCanvas", "Scrolled Canvas", kGuiBldCtor);
   act->fAct = "TRootGuiBuilder::BuildCanvas()";
   act->fPic = "bld_canvas.xpm";
   AddAction(act, "Containers");
/*
   act = new TGuiBldAction("TGVSplitter", "Horizontal Panes", kGuiBldFunc);
   act->fAct = "TRootGuiBuilder::VSplitter()";
   act->fPic = "bld_hpaned.xpm";
   AddAction(act, "Containers");

   act = new TGuiBldAction("TGHSplitter", "Vertical Panes", kGuiBldFunc);
   act->fAct = "TRootGuiBuilder::HSplitter()";
   act->fPic = "bld_vpaned.xpm";
   AddAction(act, "Containers");
*/
   act = new TGuiBldAction("TGColorSelect", "Color Selector", kGuiBldFunc);
   act->fAct = "new TGColorSelect()";
   act->fPic = "bld_colorselect.xpm";
   AddAction(act, "Dialogs");

   fShutter->Resize(140, fShutter->GetHeight());

   fStatusBar = new TGStatusBar(this, 40, 10);
   AddFrame(fStatusBar, new TGLayoutHints(kLHintsBottom | kLHintsExpandX,
            0, 0, 3, 0));

   PropagateBgndColor(this, GetBgnd());
   SetEditDisabled(kEditDisable);   // disable editting to all subframes

   MapSubwindows();

   Int_t qq;
   UInt_t ww;
   UInt_t hh;
   gVirtualX->GetWindowSize(gVirtualX->GetDefaultRootWindow(), qq, qq, ww, hh);
   MoveResize(100, 100, ww - 200, hh - 200);
   SetWMPosition(100, 100);

   SetWindowName("ROOT GuiBuilder");
   SetIconName("ROOT GuiBuilder");
   fIconPic = SetIconPixmap("bld_rgb.xpm");
   SetClassHints("ROOT", "GuiBuilder");

   fSelected = 0;
   Update();

   fMenuFile->Connect("Activated(Int_t)", "TRootGuiBuilder", this,
                      "HandleMenu(Int_t)");
   fMenuWindow->Connect("Activated(Int_t)", "TRootGuiBuilder", this,
                        "HandleMenu(Int_t)");
   fMenuHelp->Connect("Activated(Int_t)", "TRootGuiBuilder", this,
                      "HandleMenu(Int_t)");

   // doesn't work properly on Windows...
   if (gVirtualX->InheritsFrom("TGX11"))
      BindKeys();
   UpdateStatusBar("Ready");
   MapRaised();

   fEditor->SwitchLayout();
}

//______________________________________________________________________________
TRootGuiBuilder::~TRootGuiBuilder()
{
   // Destructor.

   if (fIconPic) gClient->FreePicture(fIconPic);
   delete fMenuFile;
   delete fMenuWindow;
   delete fMenuHelp;
   gGuiBuilder = 0;
}

//______________________________________________________________________________
void TRootGuiBuilder::CloseWindow()
{
   // Close GUI builder via window manager "Close" button.

   TGWindow *root = (TGWindow*)fClient->GetRoot();
   if (root) root->SetEditable(kFALSE);

   fEditor->Reset();

   if (fMain->GetNumberOfFrames() == 0) {
      fMenuFile->DisableEntry(kGUIBLD_FILE_CLOSE);
      fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
      fMenuFile->DisableEntry(kGUIBLD_FILE_START);
   } else {
      fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
      fMenuFile->EnableEntry(kGUIBLD_FILE_START);
      fMenuFile->EnableEntry(kGUIBLD_FILE_CLOSE);
   }

   TGButton *btn = fToolBar->GetButton(kGridAct);
   if (btn) {
      btn->SetState(!fClient->IsEditable() ? kButtonDisabled : kButtonUp);
   }
   fClosing = 1;
   fMain->CloseAll();
   if (fClosing == -1) {
      fClosing = 0;
      return;
   }
   SwitchToolbarButton();
   Hide();
}

//______________________________________________________________________________
TGButton *TRootGuiBuilder::FindActionButton(const char *name, const char *sect)
{
   // Find action by name

   if (!name || !sect) return 0;

   TGShutterItem *item = fShutter->GetItem(sect);
   if (!item) return 0;

   TGCompositeFrame *cont = (TGCompositeFrame *)item->GetContainer();
   TGHorizontalFrame *hf;
   TGFrameElement *fe;

   TIter next(cont->GetList());
   TGLabel *lb;
   TGButton *btn;

   while ((fe = (TGFrameElement*)next())) {
      hf = (TGHorizontalFrame*)fe->fFrame;
      btn = (TGButton*)((TGFrameElement*)hf->GetList()->First())->fFrame;
      lb = (TGLabel*)((TGFrameElement*)hf->GetList()->Last())->fFrame;
      if (*(lb->GetText()) == name) {
         return (TGButton*)btn;
      }
   }
   return 0;
}

//______________________________________________________________________________
void TRootGuiBuilder::AddAction(TGuiBldAction *act, const char *sect)
{
   // Add new action to widget palette.

   if (!act || !sect) return;

   TGShutterItem *item = fShutter->GetItem(sect);
   TGButton *btn = 0;

   if (!item) return;
   TGCompositeFrame *cont = (TGCompositeFrame *)item->GetContainer();
   cont->SetBackgroundColor(TColor::Number2Pixel(18));

   const TGPicture *pic = 0;
   if (!act->fPicture) {
      act->fPicture = fClient->GetPicture(act->fPic);
   }
   pic = act->fPicture;

   TGHorizontalFrame *hf = new TGHorizontalFrame(cont);

   if (pic) {
      btn = new TGPictureButton(hf, pic);
   } else {
      btn = new TGTextButton(hf, act->GetName());
   }

   btn->SetToolTipText(act->GetTitle(), 200);
   btn->SetUserData((void*)act);
   btn->Connect("Clicked()", "TRootGuiBuilder", this, "HandleButtons()");

   hf->AddFrame(btn, new TGLayoutHints(kLHintsTop | kLHintsCenterY,3,3,3,3));

   TGLabel *lb = new TGLabel(hf, act->fType != kGuiBldMacro ? act->GetTitle() :
                             act->GetName());
   lb->SetBackgroundColor(cont->GetBackground());
   hf->AddFrame(lb, new TGLayoutHints(kLHintsTop | kLHintsCenterY,3,3,3,3));
   hf->SetBackgroundColor(cont->GetBackground());

   // disable edit
   cont->SetEditDisabled(kEditDisable);
   hf->SetEditDisabled(kEditDisable);

   cont->AddFrame(hf, new TGLayoutHints(kLHintsExpandX | kLHintsTop, 2, 2, 2, 0));
   cont->MapSubwindows();
   cont->Resize();  // invoke Layout()
}

//______________________________________________________________________________
void TRootGuiBuilder::AddSection(const char *sect)
{
   // Add new shutter item.

   static int id = 10000;
   TGShutterItem *item = new TGShutterItem(fShutter, new TGHotString(sect),
                                           id++);
   fShutter->AddItem(item);
   item->Connect("Selected()", "TRootGuiBuilder", this, "HandleMenu(=3)");
}

//______________________________________________________________________________
void TRootGuiBuilder::HandleButtons()
{
   // Handle buttons in the GUI builder's widget palette.

   TGFrame *parent;

   if (fActionButton) {
      parent = (TGFrame*)fActionButton->GetParent();
      parent->ChangeOptions(parent->GetOptions() & ~kSunkenFrame);
      fClient->NeedRedraw(parent, kTRUE);
   }

   if (!fClient->IsEditable()) {
      HandleMenu(kGUIBLD_FILE_START);
   }

   fActionButton = (TGButton *)gTQSender;
   TGuiBldAction *act  = (TGuiBldAction *)fActionButton->GetUserData();
   parent = (TGFrame*)fActionButton->GetParent();

   parent->ChangeOptions(parent->GetOptions() | kSunkenFrame);
   fClient->NeedRedraw(parent, kTRUE);

   if (act) {
      fAction = act;
      fManager->UngrabFrame();
      if (fAction->fType != kGuiBldCtor) ExecuteAction();
   }
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::ExecuteAction()
{
   // Execute an action.

   if (!fAction || fAction->fAct.IsNull()) return 0;

   TGFrame *ret = 0;

   if (!fClient->IsEditable() && (fAction->fType != kGuiBldMacro)) {
      TGMdiFrame *current = fMain->GetCurrent();
      if (current) current->SetEditable(kTRUE);
   }

   TString s = "";

   switch (fAction->fType) {
      case kGuiBldProj:
         s = fAction->fAct.Data();
         NewProject(s);
         fAction = 0;
         break;
      case kGuiBldMacro:
         {
         TGWindow *root = (TGWindow*)fClient->GetRoot();
         if (root) root->SetEditable(kFALSE);
         gROOT->Macro(fAction->fAct.Data());
         if (root) root->SetEditable(kTRUE);
         fAction = 0;
         break;
         }
      default:
         ret = (TGFrame *)gROOT->ProcessLineFast(fAction->fAct.Data());
         break;
   }

   Update();

   return ret;
}

//______________________________________________________________________________
void TRootGuiBuilder::InitMenu()
{
   // Inititiate GUI Builder menus.

   fMenuFile = new TGuiBldPopupMenu();
   fMenuFile->AddEntry(new TGHotString("&Edit (Ctrl+double-click)"),
                       kGUIBLD_FILE_START, 0,
                       fClient->GetPicture("bld_edit.png"));
   fMenuFile->AddEntry(new TGHotString("&Stop (Ctrl+double-click)"),
                       kGUIBLD_FILE_STOP, 0,
                       fClient->GetPicture("bld_stop.png"));
   fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
   fMenuFile->DisableEntry(kGUIBLD_FILE_START);
   fMenuFile->AddSeparator();
   fMenuFile->AddEntry(new TGHotString("&New Project"), kGUIBLD_FILE_NEW,
                       0, fClient->GetPicture("bld_new.png"));
   fMenuFile->AddEntry(new TGHotString("&Open"), kGUIBLD_FILE_OPEN,
                       0, fClient->GetPicture("bld_open.png"));
   fMenuFile->AddEntry(new TGHotString("&Close"), kGUIBLD_FILE_CLOSE,
                        0, fClient->GetPicture("bld_delete.png"));
   fMenuFile->AddEntry(new TGHotString("&Save project as"), kGUIBLD_FILE_SAVE,
                       0, fClient->GetPicture("bld_save.png"));
   fMenuFile->DisableEntry(kGUIBLD_FILE_CLOSE);
   fMenuFile->AddSeparator();
   fMenuFile->AddEntry(new TGHotString("E&xit"), kGUIBLD_FILE_EXIT,
                        0, fClient->GetPicture("bld_exit.png"));
/*
   fMenuEdit = new TGuiBldPopupMenu();
   fMenuEdit->AddSeparator();
   fMenuEdit->AddEntry(new TGHotString("&Preferences ..."), kGUIBLD_EDIT_PREF);
*/
   fMenuWindow = new TGuiBldPopupMenu();
   fMenuWindow->AddEntry(new TGHotString("Tile &Horizontally"),
                         kGUIBLD_WINDOW_HOR);
   fMenuWindow->AddEntry(new TGHotString("Tile &Vertically"),
                         kGUIBLD_WINDOW_VERT);
   fMenuWindow->AddEntry(new TGHotString("&Cascade"),
                         kGUIBLD_WINDOW_CASCADE);
   fMenuWindow->AddSeparator();
   //fMenuWindow->AddPopup(new TGHotString("&Windows"), fMain->GetWinListMenu());
   fMenuWindow->AddEntry(new TGHotString("&Arrange icons"),
                         kGUIBLD_WINDOW_ARRANGE);
   fMenuWindow->AddSeparator();
   fMenuWindow->AddEntry(new TGHotString("&Opaque resize"),
                         kGUIBLD_WINDOW_OPAQUE);
   fMenuWindow->CheckEntry(kGUIBLD_WINDOW_OPAQUE);

   fMenuHelp = new TGuiBldPopupMenu();
   fMenuHelp->AddEntry(new TGHotString("&Contents"), kGUIBLD_HELP_CONTENTS);
   fMenuHelp->AddSeparator();
   fMenuHelp->AddEntry(new TGHotString("&About"), kGUIBLD_HELP_ABOUT);
   //fMenuHelp->AddSeparator();
   //fMenuHelp->AddEntry(new TGHotString("&Send Bug Report"),kGUIBLD_HELP_BUG);

   TGMenuBar *bar = fMenuBar->GetMenuBar();

   TGuiBldMenuTitle *title;
   title = new TGuiBldMenuTitle(bar, new TGHotString("&File"), fMenuFile);
   bar->AddTitle(title, new TGLayoutHints(kLHintsTop | kLHintsLeft,0,4,0,0));

   //title = new TGuiBldMenuTitle(bar, new TGHotString("&Edit"), fMenuEdit);
   //bar->AddTitle(title, new TGLayoutHints(kLHintsTop | kLHintsLeft,0,4,0,0));

   title = new TGuiBldMenuTitle(bar, new TGHotString("&Windows"), fMenuWindow);
   bar->AddTitle(title, new TGLayoutHints(kLHintsTop | kLHintsLeft,0,4,0,0));

   title = new TGuiBldMenuTitle(bar, new TGHotString("&Help"), fMenuHelp);
   bar->AddTitle(title, new TGLayoutHints(kLHintsTop | kLHintsRight,4,4,0,0));

   fMenuBar->SetEditDisabled(kEditDisable);
   PropagateBgndColor(fMenuBar, GetBgnd());
}

//______________________________________________________________________________
void TRootGuiBuilder::ChangeSelected(TGFrame *f)
{
   // Set selected frame.

   fSelected = f;
   Update();
}

//______________________________________________________________________________
void TRootGuiBuilder::EnableLassoButtons(Bool_t on)
{
   // Enable toolbar buttons for alignment.

   TGButton *btn = 0;

   btn = fToolBar->GetButton(kUpAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kDownAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kRightAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kLeftAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kDeleteAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kGrabAct);
   if (btn) {
      btn->SetState(kButtonUp);
   }

   btn = fToolBar->GetButton(kCropAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

}

//______________________________________________________________________________
void TRootGuiBuilder::EnableSelectedButtons(Bool_t on)
{
   // Enable/disable toolbar buttons according to the selected frame.

   fSelected = fManager->GetSelected();

   TGButton *btn = 0;

   if (!fSelected) {
      btn = fToolBar->GetButton(kCompactAct);
      if (btn) btn->SetState(kButtonDisabled);

      btn = fToolBar->GetButton(kLayoutVAct);
      if (btn) btn->SetState(kButtonDisabled);

      btn = fToolBar->GetButton(kLayoutHAct);
      if (btn) btn->SetState(kButtonDisabled);

      btn = fToolBar->GetButton(kBreakLayoutAct);
      if (btn) btn->SetState(kButtonDisabled);
      return;
   }

   Bool_t comp = kFALSE;
   TGLayoutManager *lm = 0;
   Bool_t hor = kFALSE;
   Bool_t fixed = kFALSE;
   Bool_t enable = on;
   Bool_t compact_disable = kTRUE;

   if (fSelected->InheritsFrom(TGCompositeFrame::Class())) {
      lm = ((TGCompositeFrame*)fSelected)->GetLayoutManager();
      comp = kTRUE;
      hor = lm && lm->InheritsFrom(TGHorizontalLayout::Class());
      fixed = !fManager->CanChangeLayout(fSelected);
      compact_disable = !fManager->CanCompact(fSelected);
   } else {
      enable = kFALSE;
   }

   btn = fToolBar->GetButton(kCompactAct);
   if (btn) btn->SetState(enable && comp && !fixed && !compact_disable ?
                          kButtonUp : kButtonDisabled);

   btn = fToolBar->GetButton(kLayoutHAct);
   if (btn) {
      btn->SetState(enable && comp && !hor && !fixed ? kButtonUp :
                    kButtonDisabled);
   }

   btn = fToolBar->GetButton(kLayoutVAct);
   if (btn) {
      btn->SetState(enable && comp && hor && !fixed ? kButtonUp :
                    kButtonDisabled);
   }

   btn = fToolBar->GetButton(kBreakLayoutAct);
   if (btn) {
      btn->SetState(enable && comp && !fixed ? kButtonUp : kButtonDisabled);
   }
/*
   btn = fToolBar->GetButton(kGrabAct);
   if (btn) {
      btn->SetState(enable && comp ? kButtonDown : kButtonUp);
      TGToolTip *tt = btn->GetToolTip();
      tt->SetText(btn->IsDown() ? "Drop Frames (Ctrl-Return)" :
                                  "Grab Selected Frames (Return)");
   }
*/
}

//______________________________________________________________________________
void TRootGuiBuilder::EnableEditButtons(Bool_t on)
{
   // Enable/disable toolbar buttons according to the selected frame.

   TGButton *btn = 0;

   Bool_t lasso = fManager->IsLassoDrawn() && on;

   btn = fToolBar->GetButton(kReplaceAct);
   if (btn) {
      btn->SetState(!on ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kCutAct);
   if (btn) {
      btn->SetState(!on || lasso ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kDropAct);
   if (btn) {
      btn->SetState(!on || lasso ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kCopyAct);
   if (btn) {
      btn->SetState(!on || lasso ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kPasteAct);
   if (btn) {
      btn->SetState(!on || !fManager->IsPasteFrameExist() ?
                    kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kCropAct);
   if (btn) {
      btn->SetState(!on && !lasso ? kButtonDisabled : kButtonUp);
   }

   btn = fToolBar->GetButton(kDeleteAct);
   if (btn) {
      btn->SetState(!on && !lasso ? kButtonDisabled : kButtonUp);
   }
}

//______________________________________________________________________________
void TRootGuiBuilder::Update()
{
   // Update gui builder.

   if (!fManager) {
      return;
   }

   EnableLassoButtons(fManager->IsLassoDrawn());
   fSelected = fManager->GetSelected();
   EnableSelectedButtons(fSelected);
   EnableEditButtons(fClient->IsEditable() && (fManager->IsLassoDrawn() ||
                     fManager->GetSelected() ||
                     fManager->IsPasteFrameExist()));

   if (fActionButton) {
      TGFrame *parent = (TGFrame*)fActionButton->GetParent();
      parent->ChangeOptions(parent->GetOptions() & ~kSunkenFrame);
      fClient->NeedRedraw(parent, kTRUE);
   }

   if (!fClient->IsEditable()) {
      UpdateStatusBar("");
      fMenuFile->EnableEntry(kGUIBLD_FILE_START);
      fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
      fEditable = 0;
      //fShutter->SetSelectedItem(fShutter->GetItem("Projects"));
   } else {
      fMenuFile->DisableEntry(kGUIBLD_FILE_START);
      fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
   }

   SwitchToolbarButton();
   fActionButton = 0;
}

//______________________________________________________________________________
Bool_t TRootGuiBuilder::IsSelectMode() const
{
   // Return the status of the selected mode.

   TGButton *btn = 0;
   btn = fToolBar->GetButton(kSelectAct);

   if (!btn) return kFALSE;

   return btn->IsDown();
}

//______________________________________________________________________________
Bool_t TRootGuiBuilder::IsGrabButtonDown() const
{
   // Return the status of the grab mode.

   TGButton *btn = fToolBar->GetButton(kGrabAct);

   if (!btn) return kFALSE;

   return btn->IsDown();
}

////////////////////////////////////////////////////////////////////////////////
class TGuiBldSaveFrame : public TGMainFrame {

public:
   TGuiBldSaveFrame(const TGWindow *p, UInt_t w , UInt_t h) :
      TGMainFrame(p, w, h) {}
   void SetList(TList *li) { fList = li; }
};

static const char *gSaveMacroTypes[] = {
   "Macro files", "*.[C|c]*",
   "All files",   "*",
   0,             0
};

//______________________________________________________________________________
Bool_t TRootGuiBuilder::HandleKey(Event_t *event)
{
   // Handle keys.

   if (event->fType == kGKeyPress) {
      UInt_t keysym;
      char str[2];
      gVirtualX->LookupString(event, str, sizeof(str), keysym);

      if (event->fState & kKeyControlMask) {
         if (str[0] == 19) {  // ctrl-s
            if (fMain->GetCurrent()) {
               return SaveProject(event);
            } else {
               return kFALSE; //TGMainFrame::HandleKey(event);
            }
         } else if (str[0] == 14) { //ctrl-n
            return NewProject();  //event not needed
         } else if (str[0] == 15) { // ctrl-o
            return OpenProject(event);
         }
      }
      fManager->HandleKey(event);
      return TGMainFrame::HandleKey(event);
   }
   return kTRUE;
}

//______________________________________________________________________________
Bool_t TRootGuiBuilder::NewProject(TString type)
{
   // Create a new project.

   TGWindow *root = (TGWindow*)fClient->GetRoot();

   if (root) root->SetEditable(kFALSE);
   fEditable = new TGMdiFrame(fMain, 500, 400, kOwnBackground);
   fEditable->DontCallClose();
   fEditable->SetMdiHints(kMdiDefaultHints);
   fEditable->SetWindowName(fEditable->GetName());
   fEditable->SetEditDisabled(0);   // enable editting
   fEditable->MapRaised();
   fEditable->AddInput(kKeyPressMask | kButtonPressMask);
   fEditable->SetEditable(kTRUE);

   if (type == "horizontal") {
      TGHorizontalFrame *hor = new TGHorizontalFrame(fEditable, 100, 100);
      fEditable->AddFrame(hor, new TGLayoutHints( kLHintsExpandX |
                          kLHintsExpandY, 1, 1, 1, 1));
      hor->SetEditable(kTRUE);
      fClient->NeedRedraw(hor, kTRUE);
      fEditable->MapSubwindows();
      fEditable->MapWindow();
      fClient->NeedRedraw(fEditable, kTRUE);
      fEditable->SetLayoutBroken(kFALSE);
      fEditable->Layout();
   }
   else if (type == "vertical") {
      TGVerticalFrame *vert = new TGVerticalFrame(fEditable, 100, 100);
      fEditable->AddFrame(vert, new TGLayoutHints( kLHintsExpandX |
                          kLHintsExpandY,1,1,1,1));
      vert->SetEditable(kTRUE);
      fClient->NeedRedraw(vert, kTRUE);
      fEditable->MapSubwindows();
      fEditable->MapWindow();
      fClient->NeedRedraw(fEditable, kTRUE);
      fEditable->SetLayoutBroken(kFALSE);
      fEditable->Layout();

   } else {
      fEditable->SetLayoutBroken(kTRUE);
   }
   fManager->SetEditable(kTRUE);
   fMenuFile->EnableEntry(kGUIBLD_FILE_CLOSE);
   fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
   fEditable->SetCleanup(kDeepCleanup);


   SwitchToolbarButton();
   return kTRUE;
}

//______________________________________________________________________________
Bool_t TRootGuiBuilder::OpenProject(Event_t *event)
{
   // Open new gui builder project.


   TGButton *btn = fToolBar->GetButton(kOpenAct);
   if (btn) {
      btn->SetBackgroundColor(GetBgnd());
      fClient->NeedRedraw(btn, kTRUE);
   }

   TGFileInfo fi;
   static TString dir(".");
   static Bool_t overwr = kFALSE;
   TString fname;

   fi.fFileTypes = gSaveMacroTypes;
   fi.fIniDir    = StrDup(dir);
   fi.fOverwrite = overwr;
   TGWindow *root = (TGWindow*)fClient->GetRoot();
   root->SetEditable(kFALSE);

   new TGFileDialog(fClient->GetDefaultRoot(), this, kFDOpen, &fi);

   if (!fi.fFilename) {
      root->SetEditable(kTRUE);
      return kFALSE;
   }

   dir    = fi.fIniDir;
   overwr = fi.fOverwrite;
   fname  = fi.fFilename;

   if (fname.EndsWith(".C", TString::kIgnoreCase) || fname.EndsWith(".cxx") ||
       fname.EndsWith(".cpp") || fname.EndsWith(".cc")) {
      NewProject();        // create new project
      gROOT->Macro(fname.Data()); // put content of the macro as child frame
   } else {
      Int_t retval;
      new TGMsgBox(fClient->GetDefaultRoot(), this, "Error...",
                   TString::Format("file (%s) must have source extension (.C, .c, .cxx, .cpp, .cc)",
                   fname.Data()), kMBIconExclamation, kMBRetry | kMBCancel,
                   &retval);

      if (retval == kMBRetry) {
         OpenProject(event);
      }
   }

   fMenuFile->EnableEntry(kGUIBLD_FILE_CLOSE);
   fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
   SwitchToolbarButton();

   return kTRUE;
}

//______________________________________________________________________________
Bool_t TRootGuiBuilder::SaveProject(Event_t *event)
{
   // Save selected project.

   TGButton *btn = fToolBar->GetButton(kSaveAct);
   if (btn) {
      btn->SetBackgroundColor(GetBgnd());
      fClient->NeedRedraw(btn, kTRUE);
   }

   TGMdiFrame *savfr = fMain->GetCurrent();
   if (!savfr) return kFALSE;

   static TImage *img = 0;

   if (!img) {
      img = TImage::Create();
   }
   img->FromWindow(savfr->GetParent()->GetId());

   TGWindow *root = (TGWindow*)fClient->GetRoot();
   TGFileInfo fi;
   static TString dir(".");
   static Bool_t overwr = kFALSE;
   TString fname;
   root->SetEditable(kFALSE);

   fi.fFileTypes = gSaveMacroTypes;
   fi.fIniDir    = StrDup(dir);
   fi.fOverwrite = overwr;

   new TGFileDialog(fClient->GetDefaultRoot(), this, kFDSave, &fi);

   if (!fi.fFilename) {
      root->SetEditable(kTRUE);
      SetEditable(kTRUE);
      return kFALSE;
   }

   dir = fi.fIniDir;
   overwr = fi.fOverwrite;
   fname = gSystem->UnixPathName(fi.fFilename);

   if (fname.EndsWith(".C", TString::kIgnoreCase) || fname.EndsWith(".cxx") ||
       fname.EndsWith(".cpp") || fname.EndsWith(".cc")) {
      TGuiBldSaveFrame *main = new TGuiBldSaveFrame(fClient->GetDefaultRoot(),
                                                    savfr->GetWidth(),
                                                    savfr->GetHeight());
      TList *list = main->GetList();
      TString name = savfr->GetName();
      savfr->SetName(main->GetName());
      main->SetList(savfr->GetList());
      main->SetLayoutBroken(savfr->IsLayoutBroken());
      main->SaveSource(fname.Data(), "keep_names");
      savfr->SetWindowName(fname.Data());
      main->SetList(list);

      main->SetMWMHints(kMWMDecorAll, kMWMFuncAll,
                        kMWMInputFullApplicationModal);
      main->SetWMSize(main->GetWidth(), main->GetHeight());
      main->SetWMSizeHints(main->GetDefaultWidth(), main->GetDefaultHeight(),
                           10000, 10000, 0, 0);
      main->SetWindowName(fname.Data());
      main->SetIconName(fname.Data());
      main->SetClassHints(fname.Data(), fname.Data());
      // some problems here under win32
      if (gVirtualX->InheritsFrom("TGX11")) main->SetIconPixmap("bld_rgb.xpm");

      savfr->SetName(name.Data());

      AddMacro(fname.Data(), img);
      delete main;
   } else {
      Int_t retval;
      new TGMsgBox(fClient->GetDefaultRoot(), this, "Error...",
                   TString::Format("file (%s) must have source extension (.C, .c, .cxx, .cpp, .cc)",
                   fname.Data()), kMBIconExclamation, kMBRetry | kMBCancel,
                   &retval);
      if (retval == kMBRetry) {
         SaveProject(event);
      }
      SwitchToolbarButton();
   }
   SwitchToolbarButton();
   return kTRUE;
}

//______________________________________________________________________________
void TRootGuiBuilder::AddMacro(const char *macro, TImage *img)
{
   // Add macro to "User's Macros" section
   // Input img must be static - do not delete it.

   if (!img || !img->GetWidth() || !img->GetHeight()) {
      return;
   }

   UInt_t w = 100;
   Float_t ratio = Float_t(w)/img->GetWidth();
   Float_t rh = img->GetHeight()*ratio;
   UInt_t h = UInt_t(rh);
   img->Scale(w, h);
   img->Merge(img, "overlay");

   static int i = 0;
   const TGPicture *pic = fClient->GetPicturePool()->GetPicture(
                                       TString::Format("%s;%d", macro, i++),
                                       img->GetPixmap(),img->GetMask());
   const char *name = gSystem->BaseName(macro);

   TGButton *btn = FindActionButton(name, "User's Macros");
   TGuiBldAction *act = 0;

   if (!btn) {
      act = new TGuiBldAction(name, macro, kGuiBldMacro);
      act->fAct = macro;
      act->fPic = macro;
      act->fPicture = pic;

      AddAction(act, "User's Macros");
   } else {
      act = (TGuiBldAction*)btn->GetUserData();
      act->fAct = macro;
      act->fPic = macro;
      act->fPicture = pic;

      if (btn->InheritsFrom(TGPictureButton::Class())) {
         btn->Resize(w, h);
         fClient->FreePicture(((TGPictureButton*)btn)->GetPicture());
         ((TGPictureButton*)btn)->SetPicture(pic);
      }
   }
   fClient->NeedRedraw(fShutter);
}

//______________________________________________________________________________
TGMdiFrame *TRootGuiBuilder::FindEditableMdiFrame(const TGWindow *win)
{
   // Find the editable frame.

   const TGWindow *parent = win;
   TGMdiFrame *ret = 0;

   while (parent && (parent != fClient->GetDefaultRoot())) {
      if (parent->InheritsFrom(TGMdiFrame::Class())) {
         ret = (TGMdiFrame*)parent;
         return ret;
      }
      parent = parent->GetParent();
   }
   return 0;
}

//______________________________________________________________________________
void TRootGuiBuilder::SwitchToolbarButton()
{
   // Switch image of toolbar edit button according to the current state.

   static const TGPicture *start = fClient->GetPicture("bld_edit.png");
   static const TGPicture *stop = fClient->GetPicture("bld_stop.png");

   if (fClient->IsEditable()) {
      fStartButton->SetEnabled(kTRUE);
      fStartButton->SetPicture(stop);
      fToolBar->SetId(fStartButton, kEndEditAct);
      fStartButton->SetToolTipText("Stop Edit (Ctrl-Dbl-Click)");
   } else {
      if (fMain->GetNumberOfFrames() < 1) {
         fStartButton->SetEnabled(kFALSE);
      } else {
         fStartButton->SetEnabled(kTRUE);
         fStartButton->SetPicture(start);
         fToolBar->SetId(fStartButton, kEditableAct);
         fStartButton->SetToolTipText("Start Edit (Ctrl-Dbl-Click)");
      }
   }

   fClient->NeedRedraw(fStartButton, kTRUE);
}

//______________________________________________________________________________
void TRootGuiBuilder::HandleMenu(Int_t id)
{
   // Handle menu items.

   TGWindow *root = (TGWindow*)fClient->GetRoot();
   TRootHelpDialog *hd;

   switch (id) {
      case kGUIBLD_FILE_START:
         if (fClient->IsEditable()) {
            break;
         }
         fEditable = fMain->GetCurrent();
         if (fEditable) {
            fEditable->SetEditable(kTRUE);
         } //else if (!fMain->GetCurrent()) {
            //NewProject();
         //}
         UpdateStatusBar("Start edit");
         fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
         fMenuFile->DisableEntry(kGUIBLD_FILE_START);
         SwitchToolbarButton();
         break;

      case kGUIBLD_FILE_STOP:
         if (!fClient->IsEditable()) {
            break;
         }
         fEditable = FindEditableMdiFrame(root);

         if (fEditable) {
            root->SetEditable(kFALSE);

            UpdateStatusBar("Stop edit");
            fMenuFile->EnableEntry(kGUIBLD_FILE_START);
            fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
            fEditable = 0;
            SwitchToolbarButton();
         }
         fEditor->Reset();
         break;

      case kGUIBLD_FILE_NEW:
         NewProject();
         SwitchToolbarButton();
         break;

      case kGUIBLD_FILE_CLOSE:
         fEditable = FindEditableMdiFrame(root);
         if (fEditable && (fEditable == fMain->GetCurrent())) {
            root->SetEditable(kFALSE);
         }
         fEditor->Reset();
         UpdateStatusBar("");
         fMain->Close(fMain->GetCurrent());

         if (fMain->GetNumberOfFrames() <= 1) {
            fMenuFile->DisableEntry(kGUIBLD_FILE_CLOSE);
            fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
            fMenuFile->DisableEntry(kGUIBLD_FILE_START);
         }

         if (fClient->IsEditable()) {
            fMenuFile->DisableEntry(kGUIBLD_FILE_START);
            fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
         } else {
            fMenuFile->EnableEntry(kGUIBLD_FILE_START);
            fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
         }
         SwitchToolbarButton();
         break;

      case kGUIBLD_FILE_EXIT:
         CloseWindow();
         break;

      case kGUIBLD_FILE_OPEN:
         OpenProject();
         SwitchToolbarButton();
         break;

      case kGUIBLD_FILE_SAVE:
         SaveProject();
         SwitchToolbarButton();
         break;

      case kGUIBLD_WINDOW_HOR:
         fMain->TileHorizontal();
         break;

      case kGUIBLD_WINDOW_VERT:
         fMain->TileVertical();
         break;

      case kGUIBLD_WINDOW_CASCADE:
         fMain->Cascade();
         break;

      case kGUIBLD_WINDOW_ARRANGE:
         fMain->ArrangeMinimized();
         break;

      case kGUIBLD_WINDOW_OPAQUE:
         if (fMenuWindow->IsEntryChecked(kGUIBLD_WINDOW_OPAQUE)) {
            fMenuWindow->UnCheckEntry(kGUIBLD_WINDOW_OPAQUE);
            fMain->SetResizeMode(kMdiNonOpaque);
         } else {
            fMenuWindow->CheckEntry(kGUIBLD_WINDOW_OPAQUE);
            fMain->SetResizeMode(kMdiOpaque);
         }
         break;
      case  kGUIBLD_HELP_CONTENTS:
         root->SetEditable(kFALSE);
         hd = new TRootHelpDialog(this, "Help on Gui Builder...", 600, 400);
         hd->SetText(gHelpBuilder);
         hd->SetEditDisabled();
         hd->Popup();
         root->SetEditable(kTRUE);
         break;

      case  kGUIBLD_HELP_ABOUT:
         root->SetEditable(kFALSE);
         hd = new TRootHelpDialog(this, "About Gui Builder...", 520, 160);
         hd->SetEditDisabled();
         hd->SetText(gHelpAboutBuilder);
         hd->Popup();
         root->SetEditable(kTRUE);
         break;

      default:
         fMain->SetCurrent(id);
         break;
   }
}

//______________________________________________________________________________
void TRootGuiBuilder::MaybeCloseWindow()
{
   // Handler before closing MDI frame.

   int retval;
   if (fClosing == -1)
      return;
   TGMdiFrame *mdiframe = (TGMdiFrame *)gTQSender;
   fManager->SetEditable(kFALSE);
   new TGMsgBox(gClient->GetDefaultRoot(), this,
                "Closing project", "Do you want to save the project before closing?",
                kMBIconExclamation, kMBYes | kMBNo | kMBCancel, &retval);

   fManager->SetEditable(kTRUE);
   if (retval == kMBYes) {
      SaveProject();
   }
   if (retval == kMBCancel) {
      fClosing = -1;
      if (!fClient->IsEditable())
         HandleMenu(kGUIBLD_FILE_START);
      return;
   }
   fEditor->RemoveFrame(mdiframe);
   mdiframe->CloseWindow();
}

//______________________________________________________________________________
void TRootGuiBuilder::HandleWindowClosed(Int_t )
{
   // Handler for closed MDI frame.

   fEditable = 0;

   if (fClient->IsEditable()) {
      fManager->SetEditable(kFALSE);
      fMenuFile->DisableEntry(kGUIBLD_FILE_START);
      fMenuFile->EnableEntry(kGUIBLD_FILE_STOP);
   } else {
      fMenuFile->EnableEntry(kGUIBLD_FILE_START);
      fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
   }
   fEditor->Reset();
   UpdateStatusBar("");

   if (fMain->GetNumberOfFrames() == 0) {
      fMenuFile->DisableEntry(kGUIBLD_FILE_CLOSE);
      fMenuFile->DisableEntry(kGUIBLD_FILE_STOP);
      fMenuFile->DisableEntry(kGUIBLD_FILE_START);
      SwitchToolbarButton();
      return;
   }
}

//______________________________________________________________________________
void TRootGuiBuilder::UpdateStatusBar(const char *txt)
{
   // Update information shown on the status bar.

   if (!fStatusBar) return;

   const char *text = 0;

   if (!txt) {
      TObject *o = (TObject *)gTQSender;

      if (o && o->InheritsFrom(TGToolTip::Class())) {
         TGToolTip *tip = (TGToolTip*)o;
         text = tip->GetText()->Data();
      }
   } else {
      text = txt;
   }
   fStatusBar->SetText(text);
}

//______________________________________________________________________________
void TRootGuiBuilder::EraseStatusBar()
{
   // Clear information shown in the status bar.

   if (!fStatusBar) return;

   fStatusBar->SetText("");
}

//______________________________________________________________________________
void TRootGuiBuilder::BindKeys()
{
   // Keyborad key binding.

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_a),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_n),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_o),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Return),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Return),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Enter),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Enter),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_x),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_c),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_v),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_r),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_z),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_z),
                      kKeyControlMask | kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_b),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_l),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_g),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_h),
                      kKeyControlMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Delete),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Backspace),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Space),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Left),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Right),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Up),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Down),
                      0, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Left),
                      kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Right),
                      kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Up),
                      kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Down),
                      kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Delete),
                      kKeyShiftMask, kTRUE);

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Backspace),
                      kKeyShiftMask, kTRUE);
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::VSplitter()
{
   // Create new vertical splitter (TGVSplitter).

   TGHorizontalFrame *ret = new TGHorizontalFrame();
   ret->SetCleanup(kDeepCleanup);
   TGVerticalFrame *v1 = new TGVerticalFrame(ret, 40, 10, kSunkenFrame |
                                             kFixedWidth);
   ret->AddFrame(v1, new TGLayoutHints(kLHintsLeft | kLHintsExpandY));
   //v1->SetEditDisabled(kEditDisableGrab);

   TGVSplitter *splitter = new TGVSplitter(ret);
   splitter->SetFrame(v1, kTRUE);
   ret->AddFrame(splitter, new TGLayoutHints(kLHintsLeft | kLHintsExpandY));
   splitter->SetEditDisabled(kEditDisableBtnEnable);

   TGVerticalFrame *v2 = new TGVerticalFrame(ret, 10, 10, kSunkenFrame);
   v2->ChangeOptions(kSunkenFrame);
   ret->AddFrame(v2, new TGLayoutHints(kLHintsRight | kLHintsExpandX |
                 kLHintsExpandY));
   //v2->SetEditDisabled(kEditDisableGrab);
   ret->SetEditDisabled(kEditDisableLayout);

   ret->MapSubwindows();
   ret->SetLayoutBroken(kFALSE);
   return ret;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::HSplitter()
{
   //  Creates new horizontal splitter (TGHSplitter).

   TGVerticalFrame *ret = new TGVerticalFrame();
   ret->SetCleanup(kDeepCleanup);
   TGHorizontalFrame *v1 = new TGHorizontalFrame(ret, 10, 40, kSunkenFrame |
                                                 kFixedHeight);
   ret->AddFrame(v1, new TGLayoutHints(kLHintsTop | kLHintsExpandX));
   //v1->SetEditDisabled(kEditDisableGrab);

   TGHSplitter *splitter = new TGHSplitter(ret);
   splitter->SetFrame(v1, kTRUE);
   ret->AddFrame(splitter, new TGLayoutHints(kLHintsTop | kLHintsExpandX));
   splitter->SetEditDisabled(kEditDisable);

   TGHorizontalFrame *v2 = new TGHorizontalFrame(ret, 10, 10);
   v2->ChangeOptions(kSunkenFrame);
   ret->AddFrame(v2, new TGLayoutHints(kLHintsBottom | kLHintsExpandX |
                 kLHintsExpandY));
   //v2->SetEditDisabled(kEditDisableGrab);
   ret->SetEditDisabled(kEditDisableLayout);

   ret->MapSubwindows();
   ret->SetLayoutBroken(kFALSE);
   return ret;
}

//______________________________________________________________________________
void TRootGuiBuilder::Hide()
{
   // Hide builder.

   //fMain->CloseAll();
   UnmapWindow();
}

//______________________________________________________________________________
ULong_t TRootGuiBuilder::GetBgnd()
{
   // Return default background color.

   return GetDefaultFrameBackground();

   static ULong_t gPixel = 0;

   if (gPixel) return gPixel;

   Float_t r, g, b;

   r = 232./255;
   g = 232./255;
   b = 222./255;

   gPixel = TColor::RGB2Pixel(r, g, b);
   return gPixel;
}

//______________________________________________________________________________
TGGC *TRootGuiBuilder::GetBgndGC()
{
   // Return background GC.

   if (fgBgnd) return fgBgnd;

   fgBgnd = new TGGC(TGFrame::GetBckgndGC());

   Pixel_t back = GetBgnd();
   fgBgnd->SetBackground(back);
   fgBgnd->SetForeground(back);

   return fgBgnd;
}

//______________________________________________________________________________
void TRootGuiBuilder::PropagateBgndColor(TGFrame *frame, Pixel_t color)
{
   // Set a background color to frame and all its subframes.

   if (!frame) return;

   frame->SetBackgroundColor(color);
   if (!frame->InheritsFrom(TGCompositeFrame::Class())) return;

   TIter next(((TGCompositeFrame*)frame)->GetList());
   TGFrameElement *fe;

   while ((fe = (TGFrameElement*)next())) {
      if (fe->fFrame->GetBackground() == TGFrame::GetWhitePixel()) {
         continue;
      }
      PropagateBgndColor(fe->fFrame, color);
   }
}

//______________________________________________________________________________
ULong_t TRootGuiBuilder::GetPopupBgnd()
{
   // Return background color for popup menus.

   return GetDefaultFrameBackground();

   static ULong_t gPixel = 0;

   if (gPixel) return gPixel;

   Float_t r, g, b;

   r = 250./255;
   g = 250./255;
   b = 250./255;

   gPixel = TColor::RGB2Pixel(r, g, b);

   return gPixel;
}

//______________________________________________________________________________
TGGC *TRootGuiBuilder::GetPopupBgndGC()
{
   // Return background GC for popup menus.

   if (fgBgndPopup) return fgBgndPopup;

   fgBgndPopup = new TGGC(TGFrame::GetBckgndGC());

   Pixel_t back = GetPopupBgnd();
   fgBgndPopup->SetBackground(back);
   fgBgndPopup->SetForeground(back);

   return fgBgndPopup;
}

//______________________________________________________________________________
ULong_t TRootGuiBuilder::GetPopupHlght()
{
   // Return highlighted color for popup menu entry.

   return GetDefaultSelectedBackground();

   static ULong_t gPixel = 0;

   if (gPixel) return gPixel;

   Float_t r, g, b;

   r = 120./255;
   g = 120./255;
   b = 222./255;

   gPixel = TColor::RGB2Pixel(r, g, b);

   return gPixel;
}

//______________________________________________________________________________
TGGC *TRootGuiBuilder::GetPopupHlghtGC()
{
   // Return background GC for highlighted popup menu entry.

   if (fgBgndPopupHlght) return fgBgndPopupHlght;

   fgBgndPopupHlght = new TGGC(TGFrame::GetHilightGC());

   Pixel_t back = GetPopupHlght();
   fgBgndPopupHlght->SetBackground(back);
   fgBgndPopupHlght->SetForeground(back);

   return fgBgndPopupHlght;
}

//______________________________________________________________________________
TGPopupMenu *TRootGuiBuilder::CreatePopup()
{
   // Return style popup menu.

   return new TGuiBldPopupMenu();
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildListTree()
{
   // Helper method used in guibuilding

   TGCanvas *canvas = new TGCanvas(gClient->GetRoot(), 100, 100);
   TGListTree *lt = new TGListTree(canvas, kHorizontalFrame);
   lt->AddItem(0, "Entry 1");
   lt->AddItem(0, "Entry 2");
   lt->AddItem(0, "Entry 3");
   lt->AddItem(0, "Entry 4");
   lt->AddItem(0, "Entry 5");
   canvas->Resize(100, 60);
   canvas->MapSubwindows();

   return canvas;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildCanvas()
{
   // Helper method used in guibuilding to create TGCanvas widget

   TGCanvas *canvas = new TGCanvas(gClient->GetRoot(), 100, 100);
   TGCompositeFrame *cont = new TGCompositeFrame(canvas->GetViewPort(),
                                                 200, 200, kHorizontalFrame |
                                                 kOwnBackground);

   cont->SetCleanup(kDeepCleanup);
   cont->SetLayoutManager(new TGTileLayout(cont, 8));
   cont->AddFrame(new TGTextButton(cont, "Button1"));
   cont->AddFrame(new TGTextButton(cont, "Button2"));
   cont->AddFrame(new TGTextButton(cont, "Button3"));
   cont->AddFrame(new TGTextButton(cont, "Button4"));

   canvas->SetContainer(cont);
   return canvas;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildShutter()
{
   // Helper method used in guibuilding to create TGShutter widget

   TGShutterItem *item;
   TGCompositeFrame *container;
   const TGPicture  *buttonpic;
   TGPictureButton  *button;

   TGLayoutHints *l = new TGLayoutHints(kLHintsTop | kLHintsCenterX,5,5,5,0);
   TGShutter *shut = new TGShutter();

   item = shut->AddPage("Histograms");
   container = (TGCompositeFrame *)item->GetContainer();
   buttonpic = gClient->GetPicture("h1_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TH1");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("h2_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TH2");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("h3_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TH3");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("profile_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TProfile");
      container->AddFrame(button, l);
   }

   // new page
   item = shut->AddPage("Functions");
   container = (TGCompositeFrame *)item->GetContainer();
   buttonpic = gClient->GetPicture("f1_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TF1");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("f2_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TF2");
      container->AddFrame(button, l);
   }

   // new page
   item = shut->AddPage("Trees");
   container = (TGCompositeFrame *)item->GetContainer();
   buttonpic = gClient->GetPicture("ntuple_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TNtuple");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("tree_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TTree");
      container->AddFrame(button, l);
   }
   buttonpic = gClient->GetPicture("chain_s.xpm");

   if (buttonpic) {
      button = new TGPictureButton(container, buttonpic);
      button->SetToolTipText("TChain");
      container->AddFrame(button, l);
   }

   shut->MapSubwindows();
   return shut;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildTextEdit()
{
   // Helper method to create TGTextEdit widget

   TGTextEdit *te = new TGTextEdit();

   te->AddLine("all work and no play makes jack a pretty");
   te->AddLine("dull boy. all work and no play makes jack");
   te->AddLine("a pretty dull boy. all work and no play ");
   te->AddLine("makes jack a pretty dull boy. all work");
   te->AddLine("and no play makes jack a pretty dull boy.");

   te->MapSubwindows();
   te->Layout();
   te->Resize(100, 60);

   return te;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildTab()
{
   // Helper method to create TGTab widget

   TGTab *tab = new TGTab();

   tab->AddTab("Tab1");
   tab->AddTab("Tab2");
   tab->MapSubwindows();

   return tab;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildListBox()
{
   // Helper method to create TGListBox widget

   TGListBox *lb = new TGListBox();

   lb->AddEntry("Entry 1", 0);
   lb->AddEntry("Entry 2", 1);
   lb->AddEntry("Entry 3", 2);
   lb->AddEntry("Entry 4", 3);
   lb->AddEntry("Entry 5", 4);
   lb->AddEntry("Entry 6", 5);
   lb->AddEntry("Entry 7", 6);
   lb->MapSubwindows();

   lb->Resize(100,100);

   return lb;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildComboBox()
{
   // Helper method to create TGComboBox widget

   TGComboBox *cb = new TGComboBox();

   cb->AddEntry("Entry 1 ", 0);
   cb->AddEntry("Entry 2 ", 1);
   cb->AddEntry("Entry 3 ", 2);
   cb->AddEntry("Entry 4 ", 3);
   cb->AddEntry("Entry 5 ", 4);
   cb->AddEntry("Entry 6 ", 5);
   cb->AddEntry("Entry 7 ", 6);
   cb->MapSubwindows();

   FontStruct_t fs = TGTextLBEntry::GetDefaultFontStruct();
   int max_ascent, max_descent;
   gVirtualX->GetFontProperties(fs, max_ascent, max_descent);

   cb->Resize(cb->GetListBox()->GetDefaultWidth(), max_ascent+max_descent+7);
   return cb;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildH3DLine()
{
   // Helper method to create TGHorizontal3DLine widget.

   TGHorizontal3DLine *l = new TGHorizontal3DLine(0, 100, 2);
   l->Resize(100, 2);

   return l;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildV3DLine()
{
   // Helper method to create TGVertical3DLine widget.

   TGVertical3DLine *l = new TGVertical3DLine();
   l->Resize(2, 100);

   return l;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildHScrollBar()
{
   // Helper method to create TGHScrollBar

   TGHScrollBar *b = new TGHScrollBar();

   b->Resize(100, b->GetDefaultHeight());
   b->SetRange(100, 20);
   b->MapSubwindows();

   return b;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildVScrollBar()
{
   // Helper method to create TGVScrollBar

   TGVScrollBar *b = new TGVScrollBar();

   b->Resize(b->GetDefaultWidth(), 100);
   b->MapSubwindows();
   b->SetRange(100, 20);

   return b;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildHProgressBar()
{
   // Helper method to create TGHProgressBar

   TGHProgressBar *b = new TGHProgressBar();

   b->Resize(100, b->GetDefaultHeight());
   b->SetPosition(25);
   b->Format("%.2f");
   b->SetFillType(TGProgressBar::kBlockFill);

   return b;
}

//______________________________________________________________________________
TGFrame *TRootGuiBuilder::BuildVProgressBar()
{
   // Helper method to create TGVProgressBar

   TGVProgressBar *b = new TGVProgressBar();

   b->Resize(b->GetDefaultWidth(), 100);
   b->SetPosition(25);
   b->SetFillType(TGProgressBar::kBlockFill);

   return b;
}


 TRootGuiBuilder.cxx:1
 TRootGuiBuilder.cxx:2
 TRootGuiBuilder.cxx:3
 TRootGuiBuilder.cxx:4
 TRootGuiBuilder.cxx:5
 TRootGuiBuilder.cxx:6
 TRootGuiBuilder.cxx:7
 TRootGuiBuilder.cxx:8
 TRootGuiBuilder.cxx:9
 TRootGuiBuilder.cxx:10
 TRootGuiBuilder.cxx:11
 TRootGuiBuilder.cxx:12
 TRootGuiBuilder.cxx:13
 TRootGuiBuilder.cxx:14
 TRootGuiBuilder.cxx:15
 TRootGuiBuilder.cxx:16
 TRootGuiBuilder.cxx:17
 TRootGuiBuilder.cxx:18
 TRootGuiBuilder.cxx:19
 TRootGuiBuilder.cxx:20
 TRootGuiBuilder.cxx:21
 TRootGuiBuilder.cxx:22
 TRootGuiBuilder.cxx:23
 TRootGuiBuilder.cxx:24
 TRootGuiBuilder.cxx:25
 TRootGuiBuilder.cxx:26
 TRootGuiBuilder.cxx:27
 TRootGuiBuilder.cxx:28
 TRootGuiBuilder.cxx:29
 TRootGuiBuilder.cxx:30
 TRootGuiBuilder.cxx:31
 TRootGuiBuilder.cxx:32
 TRootGuiBuilder.cxx:33
 TRootGuiBuilder.cxx:34
 TRootGuiBuilder.cxx:35
 TRootGuiBuilder.cxx:36
 TRootGuiBuilder.cxx:37
 TRootGuiBuilder.cxx:38
 TRootGuiBuilder.cxx:39
 TRootGuiBuilder.cxx:40
 TRootGuiBuilder.cxx:41
 TRootGuiBuilder.cxx:42
 TRootGuiBuilder.cxx:43
 TRootGuiBuilder.cxx:44
 TRootGuiBuilder.cxx:45
 TRootGuiBuilder.cxx:46
 TRootGuiBuilder.cxx:47
 TRootGuiBuilder.cxx:48
 TRootGuiBuilder.cxx:49
 TRootGuiBuilder.cxx:50
 TRootGuiBuilder.cxx:51
 TRootGuiBuilder.cxx:52
 TRootGuiBuilder.cxx:53
 TRootGuiBuilder.cxx:54
 TRootGuiBuilder.cxx:55
 TRootGuiBuilder.cxx:56
 TRootGuiBuilder.cxx:57
 TRootGuiBuilder.cxx:58
 TRootGuiBuilder.cxx:59
 TRootGuiBuilder.cxx:60
 TRootGuiBuilder.cxx:61
 TRootGuiBuilder.cxx:62
 TRootGuiBuilder.cxx:63
 TRootGuiBuilder.cxx:64
 TRootGuiBuilder.cxx:65
 TRootGuiBuilder.cxx:66
 TRootGuiBuilder.cxx:67
 TRootGuiBuilder.cxx:68
 TRootGuiBuilder.cxx:69
 TRootGuiBuilder.cxx:70
 TRootGuiBuilder.cxx:71
 TRootGuiBuilder.cxx:72
 TRootGuiBuilder.cxx:73
 TRootGuiBuilder.cxx:74
 TRootGuiBuilder.cxx:75
 TRootGuiBuilder.cxx:76
 TRootGuiBuilder.cxx:77
 TRootGuiBuilder.cxx:78
 TRootGuiBuilder.cxx:79
 TRootGuiBuilder.cxx:80
 TRootGuiBuilder.cxx:81
 TRootGuiBuilder.cxx:82
 TRootGuiBuilder.cxx:83
 TRootGuiBuilder.cxx:84
 TRootGuiBuilder.cxx:85
 TRootGuiBuilder.cxx:86
 TRootGuiBuilder.cxx:87
 TRootGuiBuilder.cxx:88
 TRootGuiBuilder.cxx:89
 TRootGuiBuilder.cxx:90
 TRootGuiBuilder.cxx:91
 TRootGuiBuilder.cxx:92
 TRootGuiBuilder.cxx:93
 TRootGuiBuilder.cxx:94
 TRootGuiBuilder.cxx:95
 TRootGuiBuilder.cxx:96
 TRootGuiBuilder.cxx:97
 TRootGuiBuilder.cxx:98
 TRootGuiBuilder.cxx:99
 TRootGuiBuilder.cxx:100
 TRootGuiBuilder.cxx:101
 TRootGuiBuilder.cxx:102
 TRootGuiBuilder.cxx:103
 TRootGuiBuilder.cxx:104
 TRootGuiBuilder.cxx:105
 TRootGuiBuilder.cxx:106
 TRootGuiBuilder.cxx:107
 TRootGuiBuilder.cxx:108
 TRootGuiBuilder.cxx:109
 TRootGuiBuilder.cxx:110
 TRootGuiBuilder.cxx:111
 TRootGuiBuilder.cxx:112
 TRootGuiBuilder.cxx:113
 TRootGuiBuilder.cxx:114
 TRootGuiBuilder.cxx:115
 TRootGuiBuilder.cxx:116
 TRootGuiBuilder.cxx:117
 TRootGuiBuilder.cxx:118
 TRootGuiBuilder.cxx:119
 TRootGuiBuilder.cxx:120
 TRootGuiBuilder.cxx:121
 TRootGuiBuilder.cxx:122
 TRootGuiBuilder.cxx:123
 TRootGuiBuilder.cxx:124
 TRootGuiBuilder.cxx:125
 TRootGuiBuilder.cxx:126
 TRootGuiBuilder.cxx:127
 TRootGuiBuilder.cxx:128
 TRootGuiBuilder.cxx:129
 TRootGuiBuilder.cxx:130
 TRootGuiBuilder.cxx:131
 TRootGuiBuilder.cxx:132
 TRootGuiBuilder.cxx:133
 TRootGuiBuilder.cxx:134
 TRootGuiBuilder.cxx:135
 TRootGuiBuilder.cxx:136
 TRootGuiBuilder.cxx:137
 TRootGuiBuilder.cxx:138
 TRootGuiBuilder.cxx:139
 TRootGuiBuilder.cxx:140
 TRootGuiBuilder.cxx:141
 TRootGuiBuilder.cxx:142
 TRootGuiBuilder.cxx:143
 TRootGuiBuilder.cxx:144
 TRootGuiBuilder.cxx:145
 TRootGuiBuilder.cxx:146
 TRootGuiBuilder.cxx:147
 TRootGuiBuilder.cxx:148
 TRootGuiBuilder.cxx:149
 TRootGuiBuilder.cxx:150
 TRootGuiBuilder.cxx:151
 TRootGuiBuilder.cxx:152
 TRootGuiBuilder.cxx:153
 TRootGuiBuilder.cxx:154
 TRootGuiBuilder.cxx:155
 TRootGuiBuilder.cxx:156
 TRootGuiBuilder.cxx:157
 TRootGuiBuilder.cxx:158
 TRootGuiBuilder.cxx:159
 TRootGuiBuilder.cxx:160
 TRootGuiBuilder.cxx:161
 TRootGuiBuilder.cxx:162
 TRootGuiBuilder.cxx:163
 TRootGuiBuilder.cxx:164
 TRootGuiBuilder.cxx:165
 TRootGuiBuilder.cxx:166
 TRootGuiBuilder.cxx:167
 TRootGuiBuilder.cxx:168
 TRootGuiBuilder.cxx:169
 TRootGuiBuilder.cxx:170
 TRootGuiBuilder.cxx:171
 TRootGuiBuilder.cxx:172
 TRootGuiBuilder.cxx:173
 TRootGuiBuilder.cxx:174
 TRootGuiBuilder.cxx:175
 TRootGuiBuilder.cxx:176
 TRootGuiBuilder.cxx:177
 TRootGuiBuilder.cxx:178
 TRootGuiBuilder.cxx:179
 TRootGuiBuilder.cxx:180
 TRootGuiBuilder.cxx:181
 TRootGuiBuilder.cxx:182
 TRootGuiBuilder.cxx:183
 TRootGuiBuilder.cxx:184
 TRootGuiBuilder.cxx:185
 TRootGuiBuilder.cxx:186
 TRootGuiBuilder.cxx:187
 TRootGuiBuilder.cxx:188
 TRootGuiBuilder.cxx:189
 TRootGuiBuilder.cxx:190
 TRootGuiBuilder.cxx:191
 TRootGuiBuilder.cxx:192
 TRootGuiBuilder.cxx:193
 TRootGuiBuilder.cxx:194
 TRootGuiBuilder.cxx:195
 TRootGuiBuilder.cxx:196
 TRootGuiBuilder.cxx:197
 TRootGuiBuilder.cxx:198
 TRootGuiBuilder.cxx:199
 TRootGuiBuilder.cxx:200
 TRootGuiBuilder.cxx:201
 TRootGuiBuilder.cxx:202
 TRootGuiBuilder.cxx:203
 TRootGuiBuilder.cxx:204
 TRootGuiBuilder.cxx:205
 TRootGuiBuilder.cxx:206
 TRootGuiBuilder.cxx:207
 TRootGuiBuilder.cxx:208
 TRootGuiBuilder.cxx:209
 TRootGuiBuilder.cxx:210
 TRootGuiBuilder.cxx:211
 TRootGuiBuilder.cxx:212
 TRootGuiBuilder.cxx:213
 TRootGuiBuilder.cxx:214
 TRootGuiBuilder.cxx:215
 TRootGuiBuilder.cxx:216
 TRootGuiBuilder.cxx:217
 TRootGuiBuilder.cxx:218
 TRootGuiBuilder.cxx:219
 TRootGuiBuilder.cxx:220
 TRootGuiBuilder.cxx:221
 TRootGuiBuilder.cxx:222
 TRootGuiBuilder.cxx:223
 TRootGuiBuilder.cxx:224
 TRootGuiBuilder.cxx:225
 TRootGuiBuilder.cxx:226
 TRootGuiBuilder.cxx:227
 TRootGuiBuilder.cxx:228
 TRootGuiBuilder.cxx:229
 TRootGuiBuilder.cxx:230
 TRootGuiBuilder.cxx:231
 TRootGuiBuilder.cxx:232
 TRootGuiBuilder.cxx:233
 TRootGuiBuilder.cxx:234
 TRootGuiBuilder.cxx:235
 TRootGuiBuilder.cxx:236
 TRootGuiBuilder.cxx:237
 TRootGuiBuilder.cxx:238
 TRootGuiBuilder.cxx:239
 TRootGuiBuilder.cxx:240
 TRootGuiBuilder.cxx:241
 TRootGuiBuilder.cxx:242
 TRootGuiBuilder.cxx:243
 TRootGuiBuilder.cxx:244
 TRootGuiBuilder.cxx:245
 TRootGuiBuilder.cxx:246
 TRootGuiBuilder.cxx:247
 TRootGuiBuilder.cxx:248
 TRootGuiBuilder.cxx:249
 TRootGuiBuilder.cxx:250
 TRootGuiBuilder.cxx:251
 TRootGuiBuilder.cxx:252
 TRootGuiBuilder.cxx:253
 TRootGuiBuilder.cxx:254
 TRootGuiBuilder.cxx:255
 TRootGuiBuilder.cxx:256
 TRootGuiBuilder.cxx:257
 TRootGuiBuilder.cxx:258
 TRootGuiBuilder.cxx:259
 TRootGuiBuilder.cxx:260
 TRootGuiBuilder.cxx:261
 TRootGuiBuilder.cxx:262
 TRootGuiBuilder.cxx:263
 TRootGuiBuilder.cxx:264
 TRootGuiBuilder.cxx:265
 TRootGuiBuilder.cxx:266
 TRootGuiBuilder.cxx:267
 TRootGuiBuilder.cxx:268
 TRootGuiBuilder.cxx:269
 TRootGuiBuilder.cxx:270
 TRootGuiBuilder.cxx:271
 TRootGuiBuilder.cxx:272
 TRootGuiBuilder.cxx:273
 TRootGuiBuilder.cxx:274
 TRootGuiBuilder.cxx:275
 TRootGuiBuilder.cxx:276
 TRootGuiBuilder.cxx:277
 TRootGuiBuilder.cxx:278
 TRootGuiBuilder.cxx:279
 TRootGuiBuilder.cxx:280
 TRootGuiBuilder.cxx:281
 TRootGuiBuilder.cxx:282
 TRootGuiBuilder.cxx:283
 TRootGuiBuilder.cxx:284
 TRootGuiBuilder.cxx:285
 TRootGuiBuilder.cxx:286
 TRootGuiBuilder.cxx:287
 TRootGuiBuilder.cxx:288
 TRootGuiBuilder.cxx:289
 TRootGuiBuilder.cxx:290
 TRootGuiBuilder.cxx:291
 TRootGuiBuilder.cxx:292
 TRootGuiBuilder.cxx:293
 TRootGuiBuilder.cxx:294
 TRootGuiBuilder.cxx:295
 TRootGuiBuilder.cxx:296
 TRootGuiBuilder.cxx:297
 TRootGuiBuilder.cxx:298
 TRootGuiBuilder.cxx:299
 TRootGuiBuilder.cxx:300
 TRootGuiBuilder.cxx:301
 TRootGuiBuilder.cxx:302
 TRootGuiBuilder.cxx:303
 TRootGuiBuilder.cxx:304
 TRootGuiBuilder.cxx:305
 TRootGuiBuilder.cxx:306
 TRootGuiBuilder.cxx:307
 TRootGuiBuilder.cxx:308
 TRootGuiBuilder.cxx:309
 TRootGuiBuilder.cxx:310
 TRootGuiBuilder.cxx:311
 TRootGuiBuilder.cxx:312
 TRootGuiBuilder.cxx:313
 TRootGuiBuilder.cxx:314
 TRootGuiBuilder.cxx:315
 TRootGuiBuilder.cxx:316
 TRootGuiBuilder.cxx:317
 TRootGuiBuilder.cxx:318
 TRootGuiBuilder.cxx:319
 TRootGuiBuilder.cxx:320
 TRootGuiBuilder.cxx:321
 TRootGuiBuilder.cxx:322
 TRootGuiBuilder.cxx:323
 TRootGuiBuilder.cxx:324
 TRootGuiBuilder.cxx:325
 TRootGuiBuilder.cxx:326
 TRootGuiBuilder.cxx:327
 TRootGuiBuilder.cxx:328
 TRootGuiBuilder.cxx:329
 TRootGuiBuilder.cxx:330
 TRootGuiBuilder.cxx:331
 TRootGuiBuilder.cxx:332
 TRootGuiBuilder.cxx:333
 TRootGuiBuilder.cxx:334
 TRootGuiBuilder.cxx:335
 TRootGuiBuilder.cxx:336
 TRootGuiBuilder.cxx:337
 TRootGuiBuilder.cxx:338
 TRootGuiBuilder.cxx:339
 TRootGuiBuilder.cxx:340
 TRootGuiBuilder.cxx:341
 TRootGuiBuilder.cxx:342
 TRootGuiBuilder.cxx:343
 TRootGuiBuilder.cxx:344
 TRootGuiBuilder.cxx:345
 TRootGuiBuilder.cxx:346
 TRootGuiBuilder.cxx:347
 TRootGuiBuilder.cxx:348
 TRootGuiBuilder.cxx:349
 TRootGuiBuilder.cxx:350
 TRootGuiBuilder.cxx:351
 TRootGuiBuilder.cxx:352
 TRootGuiBuilder.cxx:353
 TRootGuiBuilder.cxx:354
 TRootGuiBuilder.cxx:355
 TRootGuiBuilder.cxx:356
 TRootGuiBuilder.cxx:357
 TRootGuiBuilder.cxx:358
 TRootGuiBuilder.cxx:359
 TRootGuiBuilder.cxx:360
 TRootGuiBuilder.cxx:361
 TRootGuiBuilder.cxx:362
 TRootGuiBuilder.cxx:363
 TRootGuiBuilder.cxx:364
 TRootGuiBuilder.cxx:365
 TRootGuiBuilder.cxx:366
 TRootGuiBuilder.cxx:367
 TRootGuiBuilder.cxx:368
 TRootGuiBuilder.cxx:369
 TRootGuiBuilder.cxx:370
 TRootGuiBuilder.cxx:371
 TRootGuiBuilder.cxx:372
 TRootGuiBuilder.cxx:373
 TRootGuiBuilder.cxx:374
 TRootGuiBuilder.cxx:375
 TRootGuiBuilder.cxx:376
 TRootGuiBuilder.cxx:377
 TRootGuiBuilder.cxx:378
 TRootGuiBuilder.cxx:379
 TRootGuiBuilder.cxx:380
 TRootGuiBuilder.cxx:381
 TRootGuiBuilder.cxx:382
 TRootGuiBuilder.cxx:383
 TRootGuiBuilder.cxx:384
 TRootGuiBuilder.cxx:385
 TRootGuiBuilder.cxx:386
 TRootGuiBuilder.cxx:387
 TRootGuiBuilder.cxx:388
 TRootGuiBuilder.cxx:389
 TRootGuiBuilder.cxx:390
 TRootGuiBuilder.cxx:391
 TRootGuiBuilder.cxx:392
 TRootGuiBuilder.cxx:393
 TRootGuiBuilder.cxx:394
 TRootGuiBuilder.cxx:395
 TRootGuiBuilder.cxx:396
 TRootGuiBuilder.cxx:397
 TRootGuiBuilder.cxx:398
 TRootGuiBuilder.cxx:399
 TRootGuiBuilder.cxx:400
 TRootGuiBuilder.cxx:401
 TRootGuiBuilder.cxx:402
 TRootGuiBuilder.cxx:403
 TRootGuiBuilder.cxx:404
 TRootGuiBuilder.cxx:405
 TRootGuiBuilder.cxx:406
 TRootGuiBuilder.cxx:407
 TRootGuiBuilder.cxx:408
 TRootGuiBuilder.cxx:409
 TRootGuiBuilder.cxx:410
 TRootGuiBuilder.cxx:411
 TRootGuiBuilder.cxx:412
 TRootGuiBuilder.cxx:413
 TRootGuiBuilder.cxx:414
 TRootGuiBuilder.cxx:415
 TRootGuiBuilder.cxx:416
 TRootGuiBuilder.cxx:417
 TRootGuiBuilder.cxx:418
 TRootGuiBuilder.cxx:419
 TRootGuiBuilder.cxx:420
 TRootGuiBuilder.cxx:421
 TRootGuiBuilder.cxx:422
 TRootGuiBuilder.cxx:423
 TRootGuiBuilder.cxx:424
 TRootGuiBuilder.cxx:425
 TRootGuiBuilder.cxx:426
 TRootGuiBuilder.cxx:427
 TRootGuiBuilder.cxx:428
 TRootGuiBuilder.cxx:429
 TRootGuiBuilder.cxx:430
 TRootGuiBuilder.cxx:431
 TRootGuiBuilder.cxx:432
 TRootGuiBuilder.cxx:433
 TRootGuiBuilder.cxx:434
 TRootGuiBuilder.cxx:435
 TRootGuiBuilder.cxx:436
 TRootGuiBuilder.cxx:437
 TRootGuiBuilder.cxx:438
 TRootGuiBuilder.cxx:439
 TRootGuiBuilder.cxx:440
 TRootGuiBuilder.cxx:441
 TRootGuiBuilder.cxx:442
 TRootGuiBuilder.cxx:443
 TRootGuiBuilder.cxx:444
 TRootGuiBuilder.cxx:445
 TRootGuiBuilder.cxx:446
 TRootGuiBuilder.cxx:447
 TRootGuiBuilder.cxx:448
 TRootGuiBuilder.cxx:449
 TRootGuiBuilder.cxx:450
 TRootGuiBuilder.cxx:451
 TRootGuiBuilder.cxx:452
 TRootGuiBuilder.cxx:453
 TRootGuiBuilder.cxx:454
 TRootGuiBuilder.cxx:455
 TRootGuiBuilder.cxx:456
 TRootGuiBuilder.cxx:457
 TRootGuiBuilder.cxx:458
 TRootGuiBuilder.cxx:459
 TRootGuiBuilder.cxx:460
 TRootGuiBuilder.cxx:461
 TRootGuiBuilder.cxx:462
 TRootGuiBuilder.cxx:463
 TRootGuiBuilder.cxx:464
 TRootGuiBuilder.cxx:465
 TRootGuiBuilder.cxx:466
 TRootGuiBuilder.cxx:467
 TRootGuiBuilder.cxx:468
 TRootGuiBuilder.cxx:469
 TRootGuiBuilder.cxx:470
 TRootGuiBuilder.cxx:471
 TRootGuiBuilder.cxx:472
 TRootGuiBuilder.cxx:473
 TRootGuiBuilder.cxx:474
 TRootGuiBuilder.cxx:475
 TRootGuiBuilder.cxx:476
 TRootGuiBuilder.cxx:477
 TRootGuiBuilder.cxx:478
 TRootGuiBuilder.cxx:479
 TRootGuiBuilder.cxx:480
 TRootGuiBuilder.cxx:481
 TRootGuiBuilder.cxx:482
 TRootGuiBuilder.cxx:483
 TRootGuiBuilder.cxx:484
 TRootGuiBuilder.cxx:485
 TRootGuiBuilder.cxx:486
 TRootGuiBuilder.cxx:487
 TRootGuiBuilder.cxx:488
 TRootGuiBuilder.cxx:489
 TRootGuiBuilder.cxx:490
 TRootGuiBuilder.cxx:491
 TRootGuiBuilder.cxx:492
 TRootGuiBuilder.cxx:493
 TRootGuiBuilder.cxx:494
 TRootGuiBuilder.cxx:495
 TRootGuiBuilder.cxx:496
 TRootGuiBuilder.cxx:497
 TRootGuiBuilder.cxx:498
 TRootGuiBuilder.cxx:499
 TRootGuiBuilder.cxx:500
 TRootGuiBuilder.cxx:501
 TRootGuiBuilder.cxx:502
 TRootGuiBuilder.cxx:503
 TRootGuiBuilder.cxx:504
 TRootGuiBuilder.cxx:505
 TRootGuiBuilder.cxx:506
 TRootGuiBuilder.cxx:507
 TRootGuiBuilder.cxx:508
 TRootGuiBuilder.cxx:509
 TRootGuiBuilder.cxx:510
 TRootGuiBuilder.cxx:511
 TRootGuiBuilder.cxx:512
 TRootGuiBuilder.cxx:513
 TRootGuiBuilder.cxx:514
 TRootGuiBuilder.cxx:515
 TRootGuiBuilder.cxx:516
 TRootGuiBuilder.cxx:517
 TRootGuiBuilder.cxx:518
 TRootGuiBuilder.cxx:519
 TRootGuiBuilder.cxx:520
 TRootGuiBuilder.cxx:521
 TRootGuiBuilder.cxx:522
 TRootGuiBuilder.cxx:523
 TRootGuiBuilder.cxx:524
 TRootGuiBuilder.cxx:525
 TRootGuiBuilder.cxx:526
 TRootGuiBuilder.cxx:527
 TRootGuiBuilder.cxx:528
 TRootGuiBuilder.cxx:529
 TRootGuiBuilder.cxx:530
 TRootGuiBuilder.cxx:531
 TRootGuiBuilder.cxx:532
 TRootGuiBuilder.cxx:533
 TRootGuiBuilder.cxx:534
 TRootGuiBuilder.cxx:535
 TRootGuiBuilder.cxx:536
 TRootGuiBuilder.cxx:537
 TRootGuiBuilder.cxx:538
 TRootGuiBuilder.cxx:539
 TRootGuiBuilder.cxx:540
 TRootGuiBuilder.cxx:541
 TRootGuiBuilder.cxx:542
 TRootGuiBuilder.cxx:543
 TRootGuiBuilder.cxx:544
 TRootGuiBuilder.cxx:545
 TRootGuiBuilder.cxx:546
 TRootGuiBuilder.cxx:547
 TRootGuiBuilder.cxx:548
 TRootGuiBuilder.cxx:549
 TRootGuiBuilder.cxx:550
 TRootGuiBuilder.cxx:551
 TRootGuiBuilder.cxx:552
 TRootGuiBuilder.cxx:553
 TRootGuiBuilder.cxx:554
 TRootGuiBuilder.cxx:555
 TRootGuiBuilder.cxx:556
 TRootGuiBuilder.cxx:557
 TRootGuiBuilder.cxx:558
 TRootGuiBuilder.cxx:559
 TRootGuiBuilder.cxx:560
 TRootGuiBuilder.cxx:561
 TRootGuiBuilder.cxx:562
 TRootGuiBuilder.cxx:563
 TRootGuiBuilder.cxx:564
 TRootGuiBuilder.cxx:565
 TRootGuiBuilder.cxx:566
 TRootGuiBuilder.cxx:567
 TRootGuiBuilder.cxx:568
 TRootGuiBuilder.cxx:569
 TRootGuiBuilder.cxx:570
 TRootGuiBuilder.cxx:571
 TRootGuiBuilder.cxx:572
 TRootGuiBuilder.cxx:573
 TRootGuiBuilder.cxx:574
 TRootGuiBuilder.cxx:575
 TRootGuiBuilder.cxx:576
 TRootGuiBuilder.cxx:577
 TRootGuiBuilder.cxx:578
 TRootGuiBuilder.cxx:579
 TRootGuiBuilder.cxx:580
 TRootGuiBuilder.cxx:581
 TRootGuiBuilder.cxx:582
 TRootGuiBuilder.cxx:583
 TRootGuiBuilder.cxx:584
 TRootGuiBuilder.cxx:585
 TRootGuiBuilder.cxx:586
 TRootGuiBuilder.cxx:587
 TRootGuiBuilder.cxx:588
 TRootGuiBuilder.cxx:589
 TRootGuiBuilder.cxx:590
 TRootGuiBuilder.cxx:591
 TRootGuiBuilder.cxx:592
 TRootGuiBuilder.cxx:593
 TRootGuiBuilder.cxx:594
 TRootGuiBuilder.cxx:595
 TRootGuiBuilder.cxx:596
 TRootGuiBuilder.cxx:597
 TRootGuiBuilder.cxx:598
 TRootGuiBuilder.cxx:599
 TRootGuiBuilder.cxx:600
 TRootGuiBuilder.cxx:601
 TRootGuiBuilder.cxx:602
 TRootGuiBuilder.cxx:603
 TRootGuiBuilder.cxx:604
 TRootGuiBuilder.cxx:605
 TRootGuiBuilder.cxx:606
 TRootGuiBuilder.cxx:607
 TRootGuiBuilder.cxx:608
 TRootGuiBuilder.cxx:609
 TRootGuiBuilder.cxx:610
 TRootGuiBuilder.cxx:611
 TRootGuiBuilder.cxx:612
 TRootGuiBuilder.cxx:613
 TRootGuiBuilder.cxx:614
 TRootGuiBuilder.cxx:615
 TRootGuiBuilder.cxx:616
 TRootGuiBuilder.cxx:617
 TRootGuiBuilder.cxx:618
 TRootGuiBuilder.cxx:619
 TRootGuiBuilder.cxx:620
 TRootGuiBuilder.cxx:621
 TRootGuiBuilder.cxx:622
 TRootGuiBuilder.cxx:623
 TRootGuiBuilder.cxx:624
 TRootGuiBuilder.cxx:625
 TRootGuiBuilder.cxx:626
 TRootGuiBuilder.cxx:627
 TRootGuiBuilder.cxx:628
 TRootGuiBuilder.cxx:629
 TRootGuiBuilder.cxx:630
 TRootGuiBuilder.cxx:631
 TRootGuiBuilder.cxx:632
 TRootGuiBuilder.cxx:633
 TRootGuiBuilder.cxx:634
 TRootGuiBuilder.cxx:635
 TRootGuiBuilder.cxx:636
 TRootGuiBuilder.cxx:637
 TRootGuiBuilder.cxx:638
 TRootGuiBuilder.cxx:639
 TRootGuiBuilder.cxx:640
 TRootGuiBuilder.cxx:641
 TRootGuiBuilder.cxx:642
 TRootGuiBuilder.cxx:643
 TRootGuiBuilder.cxx:644
 TRootGuiBuilder.cxx:645
 TRootGuiBuilder.cxx:646
 TRootGuiBuilder.cxx:647
 TRootGuiBuilder.cxx:648
 TRootGuiBuilder.cxx:649
 TRootGuiBuilder.cxx:650
 TRootGuiBuilder.cxx:651
 TRootGuiBuilder.cxx:652
 TRootGuiBuilder.cxx:653
 TRootGuiBuilder.cxx:654
 TRootGuiBuilder.cxx:655
 TRootGuiBuilder.cxx:656
 TRootGuiBuilder.cxx:657
 TRootGuiBuilder.cxx:658
 TRootGuiBuilder.cxx:659
 TRootGuiBuilder.cxx:660
 TRootGuiBuilder.cxx:661
 TRootGuiBuilder.cxx:662
 TRootGuiBuilder.cxx:663
 TRootGuiBuilder.cxx:664
 TRootGuiBuilder.cxx:665
 TRootGuiBuilder.cxx:666
 TRootGuiBuilder.cxx:667
 TRootGuiBuilder.cxx:668
 TRootGuiBuilder.cxx:669
 TRootGuiBuilder.cxx:670
 TRootGuiBuilder.cxx:671
 TRootGuiBuilder.cxx:672
 TRootGuiBuilder.cxx:673
 TRootGuiBuilder.cxx:674
 TRootGuiBuilder.cxx:675
 TRootGuiBuilder.cxx:676
 TRootGuiBuilder.cxx:677
 TRootGuiBuilder.cxx:678
 TRootGuiBuilder.cxx:679
 TRootGuiBuilder.cxx:680
 TRootGuiBuilder.cxx:681
 TRootGuiBuilder.cxx:682
 TRootGuiBuilder.cxx:683
 TRootGuiBuilder.cxx:684
 TRootGuiBuilder.cxx:685
 TRootGuiBuilder.cxx:686
 TRootGuiBuilder.cxx:687
 TRootGuiBuilder.cxx:688
 TRootGuiBuilder.cxx:689
 TRootGuiBuilder.cxx:690
 TRootGuiBuilder.cxx:691
 TRootGuiBuilder.cxx:692
 TRootGuiBuilder.cxx:693
 TRootGuiBuilder.cxx:694
 TRootGuiBuilder.cxx:695
 TRootGuiBuilder.cxx:696
 TRootGuiBuilder.cxx:697
 TRootGuiBuilder.cxx:698
 TRootGuiBuilder.cxx:699
 TRootGuiBuilder.cxx:700
 TRootGuiBuilder.cxx:701
 TRootGuiBuilder.cxx:702
 TRootGuiBuilder.cxx:703
 TRootGuiBuilder.cxx:704
 TRootGuiBuilder.cxx:705
 TRootGuiBuilder.cxx:706
 TRootGuiBuilder.cxx:707
 TRootGuiBuilder.cxx:708
 TRootGuiBuilder.cxx:709
 TRootGuiBuilder.cxx:710
 TRootGuiBuilder.cxx:711
 TRootGuiBuilder.cxx:712
 TRootGuiBuilder.cxx:713
 TRootGuiBuilder.cxx:714
 TRootGuiBuilder.cxx:715
 TRootGuiBuilder.cxx:716
 TRootGuiBuilder.cxx:717
 TRootGuiBuilder.cxx:718
 TRootGuiBuilder.cxx:719
 TRootGuiBuilder.cxx:720
 TRootGuiBuilder.cxx:721
 TRootGuiBuilder.cxx:722
 TRootGuiBuilder.cxx:723
 TRootGuiBuilder.cxx:724
 TRootGuiBuilder.cxx:725
 TRootGuiBuilder.cxx:726
 TRootGuiBuilder.cxx:727
 TRootGuiBuilder.cxx:728
 TRootGuiBuilder.cxx:729
 TRootGuiBuilder.cxx:730
 TRootGuiBuilder.cxx:731
 TRootGuiBuilder.cxx:732
 TRootGuiBuilder.cxx:733
 TRootGuiBuilder.cxx:734
 TRootGuiBuilder.cxx:735
 TRootGuiBuilder.cxx:736
 TRootGuiBuilder.cxx:737
 TRootGuiBuilder.cxx:738
 TRootGuiBuilder.cxx:739
 TRootGuiBuilder.cxx:740
 TRootGuiBuilder.cxx:741
 TRootGuiBuilder.cxx:742
 TRootGuiBuilder.cxx:743
 TRootGuiBuilder.cxx:744
 TRootGuiBuilder.cxx:745
 TRootGuiBuilder.cxx:746
 TRootGuiBuilder.cxx:747
 TRootGuiBuilder.cxx:748
 TRootGuiBuilder.cxx:749
 TRootGuiBuilder.cxx:750
 TRootGuiBuilder.cxx:751
 TRootGuiBuilder.cxx:752
 TRootGuiBuilder.cxx:753
 TRootGuiBuilder.cxx:754
 TRootGuiBuilder.cxx:755
 TRootGuiBuilder.cxx:756
 TRootGuiBuilder.cxx:757
 TRootGuiBuilder.cxx:758
 TRootGuiBuilder.cxx:759
 TRootGuiBuilder.cxx:760
 TRootGuiBuilder.cxx:761
 TRootGuiBuilder.cxx:762
 TRootGuiBuilder.cxx:763
 TRootGuiBuilder.cxx:764
 TRootGuiBuilder.cxx:765
 TRootGuiBuilder.cxx:766
 TRootGuiBuilder.cxx:767
 TRootGuiBuilder.cxx:768
 TRootGuiBuilder.cxx:769
 TRootGuiBuilder.cxx:770
 TRootGuiBuilder.cxx:771
 TRootGuiBuilder.cxx:772
 TRootGuiBuilder.cxx:773
 TRootGuiBuilder.cxx:774
 TRootGuiBuilder.cxx:775
 TRootGuiBuilder.cxx:776
 TRootGuiBuilder.cxx:777
 TRootGuiBuilder.cxx:778
 TRootGuiBuilder.cxx:779
 TRootGuiBuilder.cxx:780
 TRootGuiBuilder.cxx:781
 TRootGuiBuilder.cxx:782
 TRootGuiBuilder.cxx:783
 TRootGuiBuilder.cxx:784
 TRootGuiBuilder.cxx:785
 TRootGuiBuilder.cxx:786
 TRootGuiBuilder.cxx:787
 TRootGuiBuilder.cxx:788
 TRootGuiBuilder.cxx:789
 TRootGuiBuilder.cxx:790
 TRootGuiBuilder.cxx:791
 TRootGuiBuilder.cxx:792
 TRootGuiBuilder.cxx:793
 TRootGuiBuilder.cxx:794
 TRootGuiBuilder.cxx:795
 TRootGuiBuilder.cxx:796
 TRootGuiBuilder.cxx:797
 TRootGuiBuilder.cxx:798
 TRootGuiBuilder.cxx:799
 TRootGuiBuilder.cxx:800
 TRootGuiBuilder.cxx:801
 TRootGuiBuilder.cxx:802
 TRootGuiBuilder.cxx:803
 TRootGuiBuilder.cxx:804
 TRootGuiBuilder.cxx:805
 TRootGuiBuilder.cxx:806
 TRootGuiBuilder.cxx:807
 TRootGuiBuilder.cxx:808
 TRootGuiBuilder.cxx:809
 TRootGuiBuilder.cxx:810
 TRootGuiBuilder.cxx:811
 TRootGuiBuilder.cxx:812
 TRootGuiBuilder.cxx:813
 TRootGuiBuilder.cxx:814
 TRootGuiBuilder.cxx:815
 TRootGuiBuilder.cxx:816
 TRootGuiBuilder.cxx:817
 TRootGuiBuilder.cxx:818
 TRootGuiBuilder.cxx:819
 TRootGuiBuilder.cxx:820
 TRootGuiBuilder.cxx:821
 TRootGuiBuilder.cxx:822
 TRootGuiBuilder.cxx:823
 TRootGuiBuilder.cxx:824
 TRootGuiBuilder.cxx:825
 TRootGuiBuilder.cxx:826
 TRootGuiBuilder.cxx:827
 TRootGuiBuilder.cxx:828
 TRootGuiBuilder.cxx:829
 TRootGuiBuilder.cxx:830
 TRootGuiBuilder.cxx:831
 TRootGuiBuilder.cxx:832
 TRootGuiBuilder.cxx:833
 TRootGuiBuilder.cxx:834
 TRootGuiBuilder.cxx:835
 TRootGuiBuilder.cxx:836
 TRootGuiBuilder.cxx:837
 TRootGuiBuilder.cxx:838
 TRootGuiBuilder.cxx:839
 TRootGuiBuilder.cxx:840
 TRootGuiBuilder.cxx:841
 TRootGuiBuilder.cxx:842
 TRootGuiBuilder.cxx:843
 TRootGuiBuilder.cxx:844
 TRootGuiBuilder.cxx:845
 TRootGuiBuilder.cxx:846
 TRootGuiBuilder.cxx:847
 TRootGuiBuilder.cxx:848
 TRootGuiBuilder.cxx:849
 TRootGuiBuilder.cxx:850
 TRootGuiBuilder.cxx:851
 TRootGuiBuilder.cxx:852
 TRootGuiBuilder.cxx:853
 TRootGuiBuilder.cxx:854
 TRootGuiBuilder.cxx:855
 TRootGuiBuilder.cxx:856
 TRootGuiBuilder.cxx:857
 TRootGuiBuilder.cxx:858
 TRootGuiBuilder.cxx:859
 TRootGuiBuilder.cxx:860
 TRootGuiBuilder.cxx:861
 TRootGuiBuilder.cxx:862
 TRootGuiBuilder.cxx:863
 TRootGuiBuilder.cxx:864
 TRootGuiBuilder.cxx:865
 TRootGuiBuilder.cxx:866
 TRootGuiBuilder.cxx:867
 TRootGuiBuilder.cxx:868
 TRootGuiBuilder.cxx:869
 TRootGuiBuilder.cxx:870
 TRootGuiBuilder.cxx:871
 TRootGuiBuilder.cxx:872
 TRootGuiBuilder.cxx:873
 TRootGuiBuilder.cxx:874
 TRootGuiBuilder.cxx:875
 TRootGuiBuilder.cxx:876
 TRootGuiBuilder.cxx:877
 TRootGuiBuilder.cxx:878
 TRootGuiBuilder.cxx:879
 TRootGuiBuilder.cxx:880
 TRootGuiBuilder.cxx:881
 TRootGuiBuilder.cxx:882
 TRootGuiBuilder.cxx:883
 TRootGuiBuilder.cxx:884
 TRootGuiBuilder.cxx:885
 TRootGuiBuilder.cxx:886
 TRootGuiBuilder.cxx:887
 TRootGuiBuilder.cxx:888
 TRootGuiBuilder.cxx:889
 TRootGuiBuilder.cxx:890
 TRootGuiBuilder.cxx:891
 TRootGuiBuilder.cxx:892
 TRootGuiBuilder.cxx:893
 TRootGuiBuilder.cxx:894
 TRootGuiBuilder.cxx:895
 TRootGuiBuilder.cxx:896
 TRootGuiBuilder.cxx:897
 TRootGuiBuilder.cxx:898
 TRootGuiBuilder.cxx:899
 TRootGuiBuilder.cxx:900
 TRootGuiBuilder.cxx:901
 TRootGuiBuilder.cxx:902
 TRootGuiBuilder.cxx:903
 TRootGuiBuilder.cxx:904
 TRootGuiBuilder.cxx:905
 TRootGuiBuilder.cxx:906
 TRootGuiBuilder.cxx:907
 TRootGuiBuilder.cxx:908
 TRootGuiBuilder.cxx:909
 TRootGuiBuilder.cxx:910
 TRootGuiBuilder.cxx:911
 TRootGuiBuilder.cxx:912
 TRootGuiBuilder.cxx:913
 TRootGuiBuilder.cxx:914
 TRootGuiBuilder.cxx:915
 TRootGuiBuilder.cxx:916
 TRootGuiBuilder.cxx:917
 TRootGuiBuilder.cxx:918
 TRootGuiBuilder.cxx:919
 TRootGuiBuilder.cxx:920
 TRootGuiBuilder.cxx:921
 TRootGuiBuilder.cxx:922
 TRootGuiBuilder.cxx:923
 TRootGuiBuilder.cxx:924
 TRootGuiBuilder.cxx:925
 TRootGuiBuilder.cxx:926
 TRootGuiBuilder.cxx:927
 TRootGuiBuilder.cxx:928
 TRootGuiBuilder.cxx:929
 TRootGuiBuilder.cxx:930
 TRootGuiBuilder.cxx:931
 TRootGuiBuilder.cxx:932
 TRootGuiBuilder.cxx:933
 TRootGuiBuilder.cxx:934
 TRootGuiBuilder.cxx:935
 TRootGuiBuilder.cxx:936
 TRootGuiBuilder.cxx:937
 TRootGuiBuilder.cxx:938
 TRootGuiBuilder.cxx:939
 TRootGuiBuilder.cxx:940
 TRootGuiBuilder.cxx:941
 TRootGuiBuilder.cxx:942
 TRootGuiBuilder.cxx:943
 TRootGuiBuilder.cxx:944
 TRootGuiBuilder.cxx:945
 TRootGuiBuilder.cxx:946
 TRootGuiBuilder.cxx:947
 TRootGuiBuilder.cxx:948
 TRootGuiBuilder.cxx:949
 TRootGuiBuilder.cxx:950
 TRootGuiBuilder.cxx:951
 TRootGuiBuilder.cxx:952
 TRootGuiBuilder.cxx:953
 TRootGuiBuilder.cxx:954
 TRootGuiBuilder.cxx:955
 TRootGuiBuilder.cxx:956
 TRootGuiBuilder.cxx:957
 TRootGuiBuilder.cxx:958
 TRootGuiBuilder.cxx:959
 TRootGuiBuilder.cxx:960
 TRootGuiBuilder.cxx:961
 TRootGuiBuilder.cxx:962
 TRootGuiBuilder.cxx:963
 TRootGuiBuilder.cxx:964
 TRootGuiBuilder.cxx:965
 TRootGuiBuilder.cxx:966
 TRootGuiBuilder.cxx:967
 TRootGuiBuilder.cxx:968
 TRootGuiBuilder.cxx:969
 TRootGuiBuilder.cxx:970
 TRootGuiBuilder.cxx:971
 TRootGuiBuilder.cxx:972
 TRootGuiBuilder.cxx:973
 TRootGuiBuilder.cxx:974
 TRootGuiBuilder.cxx:975
 TRootGuiBuilder.cxx:976
 TRootGuiBuilder.cxx:977
 TRootGuiBuilder.cxx:978
 TRootGuiBuilder.cxx:979
 TRootGuiBuilder.cxx:980
 TRootGuiBuilder.cxx:981
 TRootGuiBuilder.cxx:982
 TRootGuiBuilder.cxx:983
 TRootGuiBuilder.cxx:984
 TRootGuiBuilder.cxx:985
 TRootGuiBuilder.cxx:986
 TRootGuiBuilder.cxx:987
 TRootGuiBuilder.cxx:988
 TRootGuiBuilder.cxx:989
 TRootGuiBuilder.cxx:990
 TRootGuiBuilder.cxx:991
 TRootGuiBuilder.cxx:992
 TRootGuiBuilder.cxx:993
 TRootGuiBuilder.cxx:994
 TRootGuiBuilder.cxx:995
 TRootGuiBuilder.cxx:996
 TRootGuiBuilder.cxx:997
 TRootGuiBuilder.cxx:998
 TRootGuiBuilder.cxx:999
 TRootGuiBuilder.cxx:1000
 TRootGuiBuilder.cxx:1001
 TRootGuiBuilder.cxx:1002
 TRootGuiBuilder.cxx:1003
 TRootGuiBuilder.cxx:1004
 TRootGuiBuilder.cxx:1005
 TRootGuiBuilder.cxx:1006
 TRootGuiBuilder.cxx:1007
 TRootGuiBuilder.cxx:1008
 TRootGuiBuilder.cxx:1009
 TRootGuiBuilder.cxx:1010
 TRootGuiBuilder.cxx:1011
 TRootGuiBuilder.cxx:1012
 TRootGuiBuilder.cxx:1013
 TRootGuiBuilder.cxx:1014
 TRootGuiBuilder.cxx:1015
 TRootGuiBuilder.cxx:1016
 TRootGuiBuilder.cxx:1017
 TRootGuiBuilder.cxx:1018
 TRootGuiBuilder.cxx:1019
 TRootGuiBuilder.cxx:1020
 TRootGuiBuilder.cxx:1021
 TRootGuiBuilder.cxx:1022
 TRootGuiBuilder.cxx:1023
 TRootGuiBuilder.cxx:1024
 TRootGuiBuilder.cxx:1025
 TRootGuiBuilder.cxx:1026
 TRootGuiBuilder.cxx:1027
 TRootGuiBuilder.cxx:1028
 TRootGuiBuilder.cxx:1029
 TRootGuiBuilder.cxx:1030
 TRootGuiBuilder.cxx:1031
 TRootGuiBuilder.cxx:1032
 TRootGuiBuilder.cxx:1033
 TRootGuiBuilder.cxx:1034
 TRootGuiBuilder.cxx:1035
 TRootGuiBuilder.cxx:1036
 TRootGuiBuilder.cxx:1037
 TRootGuiBuilder.cxx:1038
 TRootGuiBuilder.cxx:1039
 TRootGuiBuilder.cxx:1040
 TRootGuiBuilder.cxx:1041
 TRootGuiBuilder.cxx:1042
 TRootGuiBuilder.cxx:1043
 TRootGuiBuilder.cxx:1044
 TRootGuiBuilder.cxx:1045
 TRootGuiBuilder.cxx:1046
 TRootGuiBuilder.cxx:1047
 TRootGuiBuilder.cxx:1048
 TRootGuiBuilder.cxx:1049
 TRootGuiBuilder.cxx:1050
 TRootGuiBuilder.cxx:1051
 TRootGuiBuilder.cxx:1052
 TRootGuiBuilder.cxx:1053
 TRootGuiBuilder.cxx:1054
 TRootGuiBuilder.cxx:1055
 TRootGuiBuilder.cxx:1056
 TRootGuiBuilder.cxx:1057
 TRootGuiBuilder.cxx:1058
 TRootGuiBuilder.cxx:1059
 TRootGuiBuilder.cxx:1060
 TRootGuiBuilder.cxx:1061
 TRootGuiBuilder.cxx:1062
 TRootGuiBuilder.cxx:1063
 TRootGuiBuilder.cxx:1064
 TRootGuiBuilder.cxx:1065
 TRootGuiBuilder.cxx:1066
 TRootGuiBuilder.cxx:1067
 TRootGuiBuilder.cxx:1068
 TRootGuiBuilder.cxx:1069
 TRootGuiBuilder.cxx:1070
 TRootGuiBuilder.cxx:1071
 TRootGuiBuilder.cxx:1072
 TRootGuiBuilder.cxx:1073
 TRootGuiBuilder.cxx:1074
 TRootGuiBuilder.cxx:1075
 TRootGuiBuilder.cxx:1076
 TRootGuiBuilder.cxx:1077
 TRootGuiBuilder.cxx:1078
 TRootGuiBuilder.cxx:1079
 TRootGuiBuilder.cxx:1080
 TRootGuiBuilder.cxx:1081
 TRootGuiBuilder.cxx:1082
 TRootGuiBuilder.cxx:1083
 TRootGuiBuilder.cxx:1084
 TRootGuiBuilder.cxx:1085
 TRootGuiBuilder.cxx:1086
 TRootGuiBuilder.cxx:1087
 TRootGuiBuilder.cxx:1088
 TRootGuiBuilder.cxx:1089
 TRootGuiBuilder.cxx:1090
 TRootGuiBuilder.cxx:1091
 TRootGuiBuilder.cxx:1092
 TRootGuiBuilder.cxx:1093
 TRootGuiBuilder.cxx:1094
 TRootGuiBuilder.cxx:1095
 TRootGuiBuilder.cxx:1096
 TRootGuiBuilder.cxx:1097
 TRootGuiBuilder.cxx:1098
 TRootGuiBuilder.cxx:1099
 TRootGuiBuilder.cxx:1100
 TRootGuiBuilder.cxx:1101
 TRootGuiBuilder.cxx:1102
 TRootGuiBuilder.cxx:1103
 TRootGuiBuilder.cxx:1104
 TRootGuiBuilder.cxx:1105
 TRootGuiBuilder.cxx:1106
 TRootGuiBuilder.cxx:1107
 TRootGuiBuilder.cxx:1108
 TRootGuiBuilder.cxx:1109
 TRootGuiBuilder.cxx:1110
 TRootGuiBuilder.cxx:1111
 TRootGuiBuilder.cxx:1112
 TRootGuiBuilder.cxx:1113
 TRootGuiBuilder.cxx:1114
 TRootGuiBuilder.cxx:1115
 TRootGuiBuilder.cxx:1116
 TRootGuiBuilder.cxx:1117
 TRootGuiBuilder.cxx:1118
 TRootGuiBuilder.cxx:1119
 TRootGuiBuilder.cxx:1120
 TRootGuiBuilder.cxx:1121
 TRootGuiBuilder.cxx:1122
 TRootGuiBuilder.cxx:1123
 TRootGuiBuilder.cxx:1124
 TRootGuiBuilder.cxx:1125
 TRootGuiBuilder.cxx:1126
 TRootGuiBuilder.cxx:1127
 TRootGuiBuilder.cxx:1128
 TRootGuiBuilder.cxx:1129
 TRootGuiBuilder.cxx:1130
 TRootGuiBuilder.cxx:1131
 TRootGuiBuilder.cxx:1132
 TRootGuiBuilder.cxx:1133
 TRootGuiBuilder.cxx:1134
 TRootGuiBuilder.cxx:1135
 TRootGuiBuilder.cxx:1136
 TRootGuiBuilder.cxx:1137
 TRootGuiBuilder.cxx:1138
 TRootGuiBuilder.cxx:1139
 TRootGuiBuilder.cxx:1140
 TRootGuiBuilder.cxx:1141
 TRootGuiBuilder.cxx:1142
 TRootGuiBuilder.cxx:1143
 TRootGuiBuilder.cxx:1144
 TRootGuiBuilder.cxx:1145
 TRootGuiBuilder.cxx:1146
 TRootGuiBuilder.cxx:1147
 TRootGuiBuilder.cxx:1148
 TRootGuiBuilder.cxx:1149
 TRootGuiBuilder.cxx:1150
 TRootGuiBuilder.cxx:1151
 TRootGuiBuilder.cxx:1152
 TRootGuiBuilder.cxx:1153
 TRootGuiBuilder.cxx:1154
 TRootGuiBuilder.cxx:1155
 TRootGuiBuilder.cxx:1156
 TRootGuiBuilder.cxx:1157
 TRootGuiBuilder.cxx:1158
 TRootGuiBuilder.cxx:1159
 TRootGuiBuilder.cxx:1160
 TRootGuiBuilder.cxx:1161
 TRootGuiBuilder.cxx:1162
 TRootGuiBuilder.cxx:1163
 TRootGuiBuilder.cxx:1164
 TRootGuiBuilder.cxx:1165
 TRootGuiBuilder.cxx:1166
 TRootGuiBuilder.cxx:1167
 TRootGuiBuilder.cxx:1168
 TRootGuiBuilder.cxx:1169
 TRootGuiBuilder.cxx:1170
 TRootGuiBuilder.cxx:1171
 TRootGuiBuilder.cxx:1172
 TRootGuiBuilder.cxx:1173
 TRootGuiBuilder.cxx:1174
 TRootGuiBuilder.cxx:1175
 TRootGuiBuilder.cxx:1176
 TRootGuiBuilder.cxx:1177
 TRootGuiBuilder.cxx:1178
 TRootGuiBuilder.cxx:1179
 TRootGuiBuilder.cxx:1180
 TRootGuiBuilder.cxx:1181
 TRootGuiBuilder.cxx:1182
 TRootGuiBuilder.cxx:1183
 TRootGuiBuilder.cxx:1184
 TRootGuiBuilder.cxx:1185
 TRootGuiBuilder.cxx:1186
 TRootGuiBuilder.cxx:1187
 TRootGuiBuilder.cxx:1188
 TRootGuiBuilder.cxx:1189
 TRootGuiBuilder.cxx:1190
 TRootGuiBuilder.cxx:1191
 TRootGuiBuilder.cxx:1192
 TRootGuiBuilder.cxx:1193
 TRootGuiBuilder.cxx:1194
 TRootGuiBuilder.cxx:1195
 TRootGuiBuilder.cxx:1196
 TRootGuiBuilder.cxx:1197
 TRootGuiBuilder.cxx:1198
 TRootGuiBuilder.cxx:1199
 TRootGuiBuilder.cxx:1200
 TRootGuiBuilder.cxx:1201
 TRootGuiBuilder.cxx:1202
 TRootGuiBuilder.cxx:1203
 TRootGuiBuilder.cxx:1204
 TRootGuiBuilder.cxx:1205
 TRootGuiBuilder.cxx:1206
 TRootGuiBuilder.cxx:1207
 TRootGuiBuilder.cxx:1208
 TRootGuiBuilder.cxx:1209
 TRootGuiBuilder.cxx:1210
 TRootGuiBuilder.cxx:1211
 TRootGuiBuilder.cxx:1212
 TRootGuiBuilder.cxx:1213
 TRootGuiBuilder.cxx:1214
 TRootGuiBuilder.cxx:1215
 TRootGuiBuilder.cxx:1216
 TRootGuiBuilder.cxx:1217
 TRootGuiBuilder.cxx:1218
 TRootGuiBuilder.cxx:1219
 TRootGuiBuilder.cxx:1220
 TRootGuiBuilder.cxx:1221
 TRootGuiBuilder.cxx:1222
 TRootGuiBuilder.cxx:1223
 TRootGuiBuilder.cxx:1224
 TRootGuiBuilder.cxx:1225
 TRootGuiBuilder.cxx:1226
 TRootGuiBuilder.cxx:1227
 TRootGuiBuilder.cxx:1228
 TRootGuiBuilder.cxx:1229
 TRootGuiBuilder.cxx:1230
 TRootGuiBuilder.cxx:1231
 TRootGuiBuilder.cxx:1232
 TRootGuiBuilder.cxx:1233
 TRootGuiBuilder.cxx:1234
 TRootGuiBuilder.cxx:1235
 TRootGuiBuilder.cxx:1236
 TRootGuiBuilder.cxx:1237
 TRootGuiBuilder.cxx:1238
 TRootGuiBuilder.cxx:1239
 TRootGuiBuilder.cxx:1240
 TRootGuiBuilder.cxx:1241
 TRootGuiBuilder.cxx:1242
 TRootGuiBuilder.cxx:1243
 TRootGuiBuilder.cxx:1244
 TRootGuiBuilder.cxx:1245
 TRootGuiBuilder.cxx:1246
 TRootGuiBuilder.cxx:1247
 TRootGuiBuilder.cxx:1248
 TRootGuiBuilder.cxx:1249
 TRootGuiBuilder.cxx:1250
 TRootGuiBuilder.cxx:1251
 TRootGuiBuilder.cxx:1252
 TRootGuiBuilder.cxx:1253
 TRootGuiBuilder.cxx:1254
 TRootGuiBuilder.cxx:1255
 TRootGuiBuilder.cxx:1256
 TRootGuiBuilder.cxx:1257
 TRootGuiBuilder.cxx:1258
 TRootGuiBuilder.cxx:1259
 TRootGuiBuilder.cxx:1260
 TRootGuiBuilder.cxx:1261
 TRootGuiBuilder.cxx:1262
 TRootGuiBuilder.cxx:1263
 TRootGuiBuilder.cxx:1264
 TRootGuiBuilder.cxx:1265
 TRootGuiBuilder.cxx:1266
 TRootGuiBuilder.cxx:1267
 TRootGuiBuilder.cxx:1268
 TRootGuiBuilder.cxx:1269
 TRootGuiBuilder.cxx:1270
 TRootGuiBuilder.cxx:1271
 TRootGuiBuilder.cxx:1272
 TRootGuiBuilder.cxx:1273
 TRootGuiBuilder.cxx:1274
 TRootGuiBuilder.cxx:1275
 TRootGuiBuilder.cxx:1276
 TRootGuiBuilder.cxx:1277
 TRootGuiBuilder.cxx:1278
 TRootGuiBuilder.cxx:1279
 TRootGuiBuilder.cxx:1280
 TRootGuiBuilder.cxx:1281
 TRootGuiBuilder.cxx:1282
 TRootGuiBuilder.cxx:1283
 TRootGuiBuilder.cxx:1284
 TRootGuiBuilder.cxx:1285
 TRootGuiBuilder.cxx:1286
 TRootGuiBuilder.cxx:1287
 TRootGuiBuilder.cxx:1288
 TRootGuiBuilder.cxx:1289
 TRootGuiBuilder.cxx:1290
 TRootGuiBuilder.cxx:1291
 TRootGuiBuilder.cxx:1292
 TRootGuiBuilder.cxx:1293
 TRootGuiBuilder.cxx:1294
 TRootGuiBuilder.cxx:1295
 TRootGuiBuilder.cxx:1296
 TRootGuiBuilder.cxx:1297
 TRootGuiBuilder.cxx:1298
 TRootGuiBuilder.cxx:1299
 TRootGuiBuilder.cxx:1300
 TRootGuiBuilder.cxx:1301
 TRootGuiBuilder.cxx:1302
 TRootGuiBuilder.cxx:1303
 TRootGuiBuilder.cxx:1304
 TRootGuiBuilder.cxx:1305
 TRootGuiBuilder.cxx:1306
 TRootGuiBuilder.cxx:1307
 TRootGuiBuilder.cxx:1308
 TRootGuiBuilder.cxx:1309
 TRootGuiBuilder.cxx:1310
 TRootGuiBuilder.cxx:1311
 TRootGuiBuilder.cxx:1312
 TRootGuiBuilder.cxx:1313
 TRootGuiBuilder.cxx:1314
 TRootGuiBuilder.cxx:1315
 TRootGuiBuilder.cxx:1316
 TRootGuiBuilder.cxx:1317
 TRootGuiBuilder.cxx:1318
 TRootGuiBuilder.cxx:1319
 TRootGuiBuilder.cxx:1320
 TRootGuiBuilder.cxx:1321
 TRootGuiBuilder.cxx:1322
 TRootGuiBuilder.cxx:1323
 TRootGuiBuilder.cxx:1324
 TRootGuiBuilder.cxx:1325
 TRootGuiBuilder.cxx:1326
 TRootGuiBuilder.cxx:1327
 TRootGuiBuilder.cxx:1328
 TRootGuiBuilder.cxx:1329
 TRootGuiBuilder.cxx:1330
 TRootGuiBuilder.cxx:1331
 TRootGuiBuilder.cxx:1332
 TRootGuiBuilder.cxx:1333
 TRootGuiBuilder.cxx:1334
 TRootGuiBuilder.cxx:1335
 TRootGuiBuilder.cxx:1336
 TRootGuiBuilder.cxx:1337
 TRootGuiBuilder.cxx:1338
 TRootGuiBuilder.cxx:1339
 TRootGuiBuilder.cxx:1340
 TRootGuiBuilder.cxx:1341
 TRootGuiBuilder.cxx:1342
 TRootGuiBuilder.cxx:1343
 TRootGuiBuilder.cxx:1344
 TRootGuiBuilder.cxx:1345
 TRootGuiBuilder.cxx:1346
 TRootGuiBuilder.cxx:1347
 TRootGuiBuilder.cxx:1348
 TRootGuiBuilder.cxx:1349
 TRootGuiBuilder.cxx:1350
 TRootGuiBuilder.cxx:1351
 TRootGuiBuilder.cxx:1352
 TRootGuiBuilder.cxx:1353
 TRootGuiBuilder.cxx:1354
 TRootGuiBuilder.cxx:1355
 TRootGuiBuilder.cxx:1356
 TRootGuiBuilder.cxx:1357
 TRootGuiBuilder.cxx:1358
 TRootGuiBuilder.cxx:1359
 TRootGuiBuilder.cxx:1360
 TRootGuiBuilder.cxx:1361
 TRootGuiBuilder.cxx:1362
 TRootGuiBuilder.cxx:1363
 TRootGuiBuilder.cxx:1364
 TRootGuiBuilder.cxx:1365
 TRootGuiBuilder.cxx:1366
 TRootGuiBuilder.cxx:1367
 TRootGuiBuilder.cxx:1368
 TRootGuiBuilder.cxx:1369
 TRootGuiBuilder.cxx:1370
 TRootGuiBuilder.cxx:1371
 TRootGuiBuilder.cxx:1372
 TRootGuiBuilder.cxx:1373
 TRootGuiBuilder.cxx:1374
 TRootGuiBuilder.cxx:1375
 TRootGuiBuilder.cxx:1376
 TRootGuiBuilder.cxx:1377
 TRootGuiBuilder.cxx:1378
 TRootGuiBuilder.cxx:1379
 TRootGuiBuilder.cxx:1380
 TRootGuiBuilder.cxx:1381
 TRootGuiBuilder.cxx:1382
 TRootGuiBuilder.cxx:1383
 TRootGuiBuilder.cxx:1384
 TRootGuiBuilder.cxx:1385
 TRootGuiBuilder.cxx:1386
 TRootGuiBuilder.cxx:1387
 TRootGuiBuilder.cxx:1388
 TRootGuiBuilder.cxx:1389
 TRootGuiBuilder.cxx:1390
 TRootGuiBuilder.cxx:1391
 TRootGuiBuilder.cxx:1392
 TRootGuiBuilder.cxx:1393
 TRootGuiBuilder.cxx:1394
 TRootGuiBuilder.cxx:1395
 TRootGuiBuilder.cxx:1396
 TRootGuiBuilder.cxx:1397
 TRootGuiBuilder.cxx:1398
 TRootGuiBuilder.cxx:1399
 TRootGuiBuilder.cxx:1400
 TRootGuiBuilder.cxx:1401
 TRootGuiBuilder.cxx:1402
 TRootGuiBuilder.cxx:1403
 TRootGuiBuilder.cxx:1404
 TRootGuiBuilder.cxx:1405
 TRootGuiBuilder.cxx:1406
 TRootGuiBuilder.cxx:1407
 TRootGuiBuilder.cxx:1408
 TRootGuiBuilder.cxx:1409
 TRootGuiBuilder.cxx:1410
 TRootGuiBuilder.cxx:1411
 TRootGuiBuilder.cxx:1412
 TRootGuiBuilder.cxx:1413
 TRootGuiBuilder.cxx:1414
 TRootGuiBuilder.cxx:1415
 TRootGuiBuilder.cxx:1416
 TRootGuiBuilder.cxx:1417
 TRootGuiBuilder.cxx:1418
 TRootGuiBuilder.cxx:1419
 TRootGuiBuilder.cxx:1420
 TRootGuiBuilder.cxx:1421
 TRootGuiBuilder.cxx:1422
 TRootGuiBuilder.cxx:1423
 TRootGuiBuilder.cxx:1424
 TRootGuiBuilder.cxx:1425
 TRootGuiBuilder.cxx:1426
 TRootGuiBuilder.cxx:1427
 TRootGuiBuilder.cxx:1428
 TRootGuiBuilder.cxx:1429
 TRootGuiBuilder.cxx:1430
 TRootGuiBuilder.cxx:1431
 TRootGuiBuilder.cxx:1432
 TRootGuiBuilder.cxx:1433
 TRootGuiBuilder.cxx:1434
 TRootGuiBuilder.cxx:1435
 TRootGuiBuilder.cxx:1436
 TRootGuiBuilder.cxx:1437
 TRootGuiBuilder.cxx:1438
 TRootGuiBuilder.cxx:1439
 TRootGuiBuilder.cxx:1440
 TRootGuiBuilder.cxx:1441
 TRootGuiBuilder.cxx:1442
 TRootGuiBuilder.cxx:1443
 TRootGuiBuilder.cxx:1444
 TRootGuiBuilder.cxx:1445
 TRootGuiBuilder.cxx:1446
 TRootGuiBuilder.cxx:1447
 TRootGuiBuilder.cxx:1448
 TRootGuiBuilder.cxx:1449
 TRootGuiBuilder.cxx:1450
 TRootGuiBuilder.cxx:1451
 TRootGuiBuilder.cxx:1452
 TRootGuiBuilder.cxx:1453
 TRootGuiBuilder.cxx:1454
 TRootGuiBuilder.cxx:1455
 TRootGuiBuilder.cxx:1456
 TRootGuiBuilder.cxx:1457
 TRootGuiBuilder.cxx:1458
 TRootGuiBuilder.cxx:1459
 TRootGuiBuilder.cxx:1460
 TRootGuiBuilder.cxx:1461
 TRootGuiBuilder.cxx:1462
 TRootGuiBuilder.cxx:1463
 TRootGuiBuilder.cxx:1464
 TRootGuiBuilder.cxx:1465
 TRootGuiBuilder.cxx:1466
 TRootGuiBuilder.cxx:1467
 TRootGuiBuilder.cxx:1468
 TRootGuiBuilder.cxx:1469
 TRootGuiBuilder.cxx:1470
 TRootGuiBuilder.cxx:1471
 TRootGuiBuilder.cxx:1472
 TRootGuiBuilder.cxx:1473
 TRootGuiBuilder.cxx:1474
 TRootGuiBuilder.cxx:1475
 TRootGuiBuilder.cxx:1476
 TRootGuiBuilder.cxx:1477
 TRootGuiBuilder.cxx:1478
 TRootGuiBuilder.cxx:1479
 TRootGuiBuilder.cxx:1480
 TRootGuiBuilder.cxx:1481
 TRootGuiBuilder.cxx:1482
 TRootGuiBuilder.cxx:1483
 TRootGuiBuilder.cxx:1484
 TRootGuiBuilder.cxx:1485
 TRootGuiBuilder.cxx:1486
 TRootGuiBuilder.cxx:1487
 TRootGuiBuilder.cxx:1488
 TRootGuiBuilder.cxx:1489
 TRootGuiBuilder.cxx:1490
 TRootGuiBuilder.cxx:1491
 TRootGuiBuilder.cxx:1492
 TRootGuiBuilder.cxx:1493
 TRootGuiBuilder.cxx:1494
 TRootGuiBuilder.cxx:1495
 TRootGuiBuilder.cxx:1496
 TRootGuiBuilder.cxx:1497
 TRootGuiBuilder.cxx:1498
 TRootGuiBuilder.cxx:1499
 TRootGuiBuilder.cxx:1500
 TRootGuiBuilder.cxx:1501
 TRootGuiBuilder.cxx:1502
 TRootGuiBuilder.cxx:1503
 TRootGuiBuilder.cxx:1504
 TRootGuiBuilder.cxx:1505
 TRootGuiBuilder.cxx:1506
 TRootGuiBuilder.cxx:1507
 TRootGuiBuilder.cxx:1508
 TRootGuiBuilder.cxx:1509
 TRootGuiBuilder.cxx:1510
 TRootGuiBuilder.cxx:1511
 TRootGuiBuilder.cxx:1512
 TRootGuiBuilder.cxx:1513
 TRootGuiBuilder.cxx:1514
 TRootGuiBuilder.cxx:1515
 TRootGuiBuilder.cxx:1516
 TRootGuiBuilder.cxx:1517
 TRootGuiBuilder.cxx:1518
 TRootGuiBuilder.cxx:1519
 TRootGuiBuilder.cxx:1520
 TRootGuiBuilder.cxx:1521
 TRootGuiBuilder.cxx:1522
 TRootGuiBuilder.cxx:1523
 TRootGuiBuilder.cxx:1524
 TRootGuiBuilder.cxx:1525
 TRootGuiBuilder.cxx:1526
 TRootGuiBuilder.cxx:1527
 TRootGuiBuilder.cxx:1528
 TRootGuiBuilder.cxx:1529
 TRootGuiBuilder.cxx:1530
 TRootGuiBuilder.cxx:1531
 TRootGuiBuilder.cxx:1532
 TRootGuiBuilder.cxx:1533
 TRootGuiBuilder.cxx:1534
 TRootGuiBuilder.cxx:1535
 TRootGuiBuilder.cxx:1536
 TRootGuiBuilder.cxx:1537
 TRootGuiBuilder.cxx:1538
 TRootGuiBuilder.cxx:1539
 TRootGuiBuilder.cxx:1540
 TRootGuiBuilder.cxx:1541
 TRootGuiBuilder.cxx:1542
 TRootGuiBuilder.cxx:1543
 TRootGuiBuilder.cxx:1544
 TRootGuiBuilder.cxx:1545
 TRootGuiBuilder.cxx:1546
 TRootGuiBuilder.cxx:1547
 TRootGuiBuilder.cxx:1548
 TRootGuiBuilder.cxx:1549
 TRootGuiBuilder.cxx:1550
 TRootGuiBuilder.cxx:1551
 TRootGuiBuilder.cxx:1552
 TRootGuiBuilder.cxx:1553
 TRootGuiBuilder.cxx:1554
 TRootGuiBuilder.cxx:1555
 TRootGuiBuilder.cxx:1556
 TRootGuiBuilder.cxx:1557
 TRootGuiBuilder.cxx:1558
 TRootGuiBuilder.cxx:1559
 TRootGuiBuilder.cxx:1560
 TRootGuiBuilder.cxx:1561
 TRootGuiBuilder.cxx:1562
 TRootGuiBuilder.cxx:1563
 TRootGuiBuilder.cxx:1564
 TRootGuiBuilder.cxx:1565
 TRootGuiBuilder.cxx:1566
 TRootGuiBuilder.cxx:1567
 TRootGuiBuilder.cxx:1568
 TRootGuiBuilder.cxx:1569
 TRootGuiBuilder.cxx:1570
 TRootGuiBuilder.cxx:1571
 TRootGuiBuilder.cxx:1572
 TRootGuiBuilder.cxx:1573
 TRootGuiBuilder.cxx:1574
 TRootGuiBuilder.cxx:1575
 TRootGuiBuilder.cxx:1576
 TRootGuiBuilder.cxx:1577
 TRootGuiBuilder.cxx:1578
 TRootGuiBuilder.cxx:1579
 TRootGuiBuilder.cxx:1580
 TRootGuiBuilder.cxx:1581
 TRootGuiBuilder.cxx:1582
 TRootGuiBuilder.cxx:1583
 TRootGuiBuilder.cxx:1584
 TRootGuiBuilder.cxx:1585
 TRootGuiBuilder.cxx:1586
 TRootGuiBuilder.cxx:1587
 TRootGuiBuilder.cxx:1588
 TRootGuiBuilder.cxx:1589
 TRootGuiBuilder.cxx:1590
 TRootGuiBuilder.cxx:1591
 TRootGuiBuilder.cxx:1592
 TRootGuiBuilder.cxx:1593
 TRootGuiBuilder.cxx:1594
 TRootGuiBuilder.cxx:1595
 TRootGuiBuilder.cxx:1596
 TRootGuiBuilder.cxx:1597
 TRootGuiBuilder.cxx:1598
 TRootGuiBuilder.cxx:1599
 TRootGuiBuilder.cxx:1600
 TRootGuiBuilder.cxx:1601
 TRootGuiBuilder.cxx:1602
 TRootGuiBuilder.cxx:1603
 TRootGuiBuilder.cxx:1604
 TRootGuiBuilder.cxx:1605
 TRootGuiBuilder.cxx:1606
 TRootGuiBuilder.cxx:1607
 TRootGuiBuilder.cxx:1608
 TRootGuiBuilder.cxx:1609
 TRootGuiBuilder.cxx:1610
 TRootGuiBuilder.cxx:1611
 TRootGuiBuilder.cxx:1612
 TRootGuiBuilder.cxx:1613
 TRootGuiBuilder.cxx:1614
 TRootGuiBuilder.cxx:1615
 TRootGuiBuilder.cxx:1616
 TRootGuiBuilder.cxx:1617
 TRootGuiBuilder.cxx:1618
 TRootGuiBuilder.cxx:1619
 TRootGuiBuilder.cxx:1620
 TRootGuiBuilder.cxx:1621
 TRootGuiBuilder.cxx:1622
 TRootGuiBuilder.cxx:1623
 TRootGuiBuilder.cxx:1624
 TRootGuiBuilder.cxx:1625
 TRootGuiBuilder.cxx:1626
 TRootGuiBuilder.cxx:1627
 TRootGuiBuilder.cxx:1628
 TRootGuiBuilder.cxx:1629
 TRootGuiBuilder.cxx:1630
 TRootGuiBuilder.cxx:1631
 TRootGuiBuilder.cxx:1632
 TRootGuiBuilder.cxx:1633
 TRootGuiBuilder.cxx:1634
 TRootGuiBuilder.cxx:1635
 TRootGuiBuilder.cxx:1636
 TRootGuiBuilder.cxx:1637
 TRootGuiBuilder.cxx:1638
 TRootGuiBuilder.cxx:1639
 TRootGuiBuilder.cxx:1640
 TRootGuiBuilder.cxx:1641
 TRootGuiBuilder.cxx:1642
 TRootGuiBuilder.cxx:1643
 TRootGuiBuilder.cxx:1644
 TRootGuiBuilder.cxx:1645
 TRootGuiBuilder.cxx:1646
 TRootGuiBuilder.cxx:1647
 TRootGuiBuilder.cxx:1648
 TRootGuiBuilder.cxx:1649
 TRootGuiBuilder.cxx:1650
 TRootGuiBuilder.cxx:1651
 TRootGuiBuilder.cxx:1652
 TRootGuiBuilder.cxx:1653
 TRootGuiBuilder.cxx:1654
 TRootGuiBuilder.cxx:1655
 TRootGuiBuilder.cxx:1656
 TRootGuiBuilder.cxx:1657
 TRootGuiBuilder.cxx:1658
 TRootGuiBuilder.cxx:1659
 TRootGuiBuilder.cxx:1660
 TRootGuiBuilder.cxx:1661
 TRootGuiBuilder.cxx:1662
 TRootGuiBuilder.cxx:1663
 TRootGuiBuilder.cxx:1664
 TRootGuiBuilder.cxx:1665
 TRootGuiBuilder.cxx:1666
 TRootGuiBuilder.cxx:1667
 TRootGuiBuilder.cxx:1668
 TRootGuiBuilder.cxx:1669
 TRootGuiBuilder.cxx:1670
 TRootGuiBuilder.cxx:1671
 TRootGuiBuilder.cxx:1672
 TRootGuiBuilder.cxx:1673
 TRootGuiBuilder.cxx:1674
 TRootGuiBuilder.cxx:1675
 TRootGuiBuilder.cxx:1676
 TRootGuiBuilder.cxx:1677
 TRootGuiBuilder.cxx:1678
 TRootGuiBuilder.cxx:1679
 TRootGuiBuilder.cxx:1680
 TRootGuiBuilder.cxx:1681
 TRootGuiBuilder.cxx:1682
 TRootGuiBuilder.cxx:1683
 TRootGuiBuilder.cxx:1684
 TRootGuiBuilder.cxx:1685
 TRootGuiBuilder.cxx:1686
 TRootGuiBuilder.cxx:1687
 TRootGuiBuilder.cxx:1688
 TRootGuiBuilder.cxx:1689
 TRootGuiBuilder.cxx:1690
 TRootGuiBuilder.cxx:1691
 TRootGuiBuilder.cxx:1692
 TRootGuiBuilder.cxx:1693
 TRootGuiBuilder.cxx:1694
 TRootGuiBuilder.cxx:1695
 TRootGuiBuilder.cxx:1696
 TRootGuiBuilder.cxx:1697
 TRootGuiBuilder.cxx:1698
 TRootGuiBuilder.cxx:1699
 TRootGuiBuilder.cxx:1700
 TRootGuiBuilder.cxx:1701
 TRootGuiBuilder.cxx:1702
 TRootGuiBuilder.cxx:1703
 TRootGuiBuilder.cxx:1704
 TRootGuiBuilder.cxx:1705
 TRootGuiBuilder.cxx:1706
 TRootGuiBuilder.cxx:1707
 TRootGuiBuilder.cxx:1708
 TRootGuiBuilder.cxx:1709
 TRootGuiBuilder.cxx:1710
 TRootGuiBuilder.cxx:1711
 TRootGuiBuilder.cxx:1712
 TRootGuiBuilder.cxx:1713
 TRootGuiBuilder.cxx:1714
 TRootGuiBuilder.cxx:1715
 TRootGuiBuilder.cxx:1716
 TRootGuiBuilder.cxx:1717
 TRootGuiBuilder.cxx:1718
 TRootGuiBuilder.cxx:1719
 TRootGuiBuilder.cxx:1720
 TRootGuiBuilder.cxx:1721
 TRootGuiBuilder.cxx:1722
 TRootGuiBuilder.cxx:1723
 TRootGuiBuilder.cxx:1724
 TRootGuiBuilder.cxx:1725
 TRootGuiBuilder.cxx:1726
 TRootGuiBuilder.cxx:1727
 TRootGuiBuilder.cxx:1728
 TRootGuiBuilder.cxx:1729
 TRootGuiBuilder.cxx:1730
 TRootGuiBuilder.cxx:1731
 TRootGuiBuilder.cxx:1732
 TRootGuiBuilder.cxx:1733
 TRootGuiBuilder.cxx:1734
 TRootGuiBuilder.cxx:1735
 TRootGuiBuilder.cxx:1736
 TRootGuiBuilder.cxx:1737
 TRootGuiBuilder.cxx:1738
 TRootGuiBuilder.cxx:1739
 TRootGuiBuilder.cxx:1740
 TRootGuiBuilder.cxx:1741
 TRootGuiBuilder.cxx:1742
 TRootGuiBuilder.cxx:1743
 TRootGuiBuilder.cxx:1744
 TRootGuiBuilder.cxx:1745
 TRootGuiBuilder.cxx:1746
 TRootGuiBuilder.cxx:1747
 TRootGuiBuilder.cxx:1748
 TRootGuiBuilder.cxx:1749
 TRootGuiBuilder.cxx:1750
 TRootGuiBuilder.cxx:1751
 TRootGuiBuilder.cxx:1752
 TRootGuiBuilder.cxx:1753
 TRootGuiBuilder.cxx:1754
 TRootGuiBuilder.cxx:1755
 TRootGuiBuilder.cxx:1756
 TRootGuiBuilder.cxx:1757
 TRootGuiBuilder.cxx:1758
 TRootGuiBuilder.cxx:1759
 TRootGuiBuilder.cxx:1760
 TRootGuiBuilder.cxx:1761
 TRootGuiBuilder.cxx:1762
 TRootGuiBuilder.cxx:1763
 TRootGuiBuilder.cxx:1764
 TRootGuiBuilder.cxx:1765
 TRootGuiBuilder.cxx:1766
 TRootGuiBuilder.cxx:1767
 TRootGuiBuilder.cxx:1768
 TRootGuiBuilder.cxx:1769
 TRootGuiBuilder.cxx:1770
 TRootGuiBuilder.cxx:1771
 TRootGuiBuilder.cxx:1772
 TRootGuiBuilder.cxx:1773
 TRootGuiBuilder.cxx:1774
 TRootGuiBuilder.cxx:1775
 TRootGuiBuilder.cxx:1776
 TRootGuiBuilder.cxx:1777
 TRootGuiBuilder.cxx:1778
 TRootGuiBuilder.cxx:1779
 TRootGuiBuilder.cxx:1780
 TRootGuiBuilder.cxx:1781
 TRootGuiBuilder.cxx:1782
 TRootGuiBuilder.cxx:1783
 TRootGuiBuilder.cxx:1784
 TRootGuiBuilder.cxx:1785
 TRootGuiBuilder.cxx:1786
 TRootGuiBuilder.cxx:1787
 TRootGuiBuilder.cxx:1788
 TRootGuiBuilder.cxx:1789
 TRootGuiBuilder.cxx:1790
 TRootGuiBuilder.cxx:1791
 TRootGuiBuilder.cxx:1792
 TRootGuiBuilder.cxx:1793
 TRootGuiBuilder.cxx:1794
 TRootGuiBuilder.cxx:1795
 TRootGuiBuilder.cxx:1796
 TRootGuiBuilder.cxx:1797
 TRootGuiBuilder.cxx:1798
 TRootGuiBuilder.cxx:1799
 TRootGuiBuilder.cxx:1800
 TRootGuiBuilder.cxx:1801
 TRootGuiBuilder.cxx:1802
 TRootGuiBuilder.cxx:1803
 TRootGuiBuilder.cxx:1804
 TRootGuiBuilder.cxx:1805
 TRootGuiBuilder.cxx:1806
 TRootGuiBuilder.cxx:1807
 TRootGuiBuilder.cxx:1808
 TRootGuiBuilder.cxx:1809
 TRootGuiBuilder.cxx:1810
 TRootGuiBuilder.cxx:1811
 TRootGuiBuilder.cxx:1812
 TRootGuiBuilder.cxx:1813
 TRootGuiBuilder.cxx:1814
 TRootGuiBuilder.cxx:1815
 TRootGuiBuilder.cxx:1816
 TRootGuiBuilder.cxx:1817
 TRootGuiBuilder.cxx:1818
 TRootGuiBuilder.cxx:1819
 TRootGuiBuilder.cxx:1820
 TRootGuiBuilder.cxx:1821
 TRootGuiBuilder.cxx:1822
 TRootGuiBuilder.cxx:1823
 TRootGuiBuilder.cxx:1824
 TRootGuiBuilder.cxx:1825
 TRootGuiBuilder.cxx:1826
 TRootGuiBuilder.cxx:1827
 TRootGuiBuilder.cxx:1828
 TRootGuiBuilder.cxx:1829
 TRootGuiBuilder.cxx:1830
 TRootGuiBuilder.cxx:1831
 TRootGuiBuilder.cxx:1832
 TRootGuiBuilder.cxx:1833
 TRootGuiBuilder.cxx:1834
 TRootGuiBuilder.cxx:1835
 TRootGuiBuilder.cxx:1836
 TRootGuiBuilder.cxx:1837
 TRootGuiBuilder.cxx:1838
 TRootGuiBuilder.cxx:1839
 TRootGuiBuilder.cxx:1840
 TRootGuiBuilder.cxx:1841
 TRootGuiBuilder.cxx:1842
 TRootGuiBuilder.cxx:1843
 TRootGuiBuilder.cxx:1844
 TRootGuiBuilder.cxx:1845
 TRootGuiBuilder.cxx:1846
 TRootGuiBuilder.cxx:1847
 TRootGuiBuilder.cxx:1848
 TRootGuiBuilder.cxx:1849
 TRootGuiBuilder.cxx:1850
 TRootGuiBuilder.cxx:1851
 TRootGuiBuilder.cxx:1852
 TRootGuiBuilder.cxx:1853
 TRootGuiBuilder.cxx:1854
 TRootGuiBuilder.cxx:1855
 TRootGuiBuilder.cxx:1856
 TRootGuiBuilder.cxx:1857
 TRootGuiBuilder.cxx:1858
 TRootGuiBuilder.cxx:1859
 TRootGuiBuilder.cxx:1860
 TRootGuiBuilder.cxx:1861
 TRootGuiBuilder.cxx:1862
 TRootGuiBuilder.cxx:1863
 TRootGuiBuilder.cxx:1864
 TRootGuiBuilder.cxx:1865
 TRootGuiBuilder.cxx:1866
 TRootGuiBuilder.cxx:1867
 TRootGuiBuilder.cxx:1868
 TRootGuiBuilder.cxx:1869
 TRootGuiBuilder.cxx:1870
 TRootGuiBuilder.cxx:1871
 TRootGuiBuilder.cxx:1872
 TRootGuiBuilder.cxx:1873
 TRootGuiBuilder.cxx:1874
 TRootGuiBuilder.cxx:1875
 TRootGuiBuilder.cxx:1876
 TRootGuiBuilder.cxx:1877
 TRootGuiBuilder.cxx:1878
 TRootGuiBuilder.cxx:1879
 TRootGuiBuilder.cxx:1880
 TRootGuiBuilder.cxx:1881
 TRootGuiBuilder.cxx:1882
 TRootGuiBuilder.cxx:1883
 TRootGuiBuilder.cxx:1884
 TRootGuiBuilder.cxx:1885
 TRootGuiBuilder.cxx:1886
 TRootGuiBuilder.cxx:1887
 TRootGuiBuilder.cxx:1888
 TRootGuiBuilder.cxx:1889
 TRootGuiBuilder.cxx:1890
 TRootGuiBuilder.cxx:1891
 TRootGuiBuilder.cxx:1892
 TRootGuiBuilder.cxx:1893
 TRootGuiBuilder.cxx:1894
 TRootGuiBuilder.cxx:1895
 TRootGuiBuilder.cxx:1896
 TRootGuiBuilder.cxx:1897
 TRootGuiBuilder.cxx:1898
 TRootGuiBuilder.cxx:1899
 TRootGuiBuilder.cxx:1900
 TRootGuiBuilder.cxx:1901
 TRootGuiBuilder.cxx:1902
 TRootGuiBuilder.cxx:1903
 TRootGuiBuilder.cxx:1904
 TRootGuiBuilder.cxx:1905
 TRootGuiBuilder.cxx:1906
 TRootGuiBuilder.cxx:1907
 TRootGuiBuilder.cxx:1908
 TRootGuiBuilder.cxx:1909
 TRootGuiBuilder.cxx:1910
 TRootGuiBuilder.cxx:1911
 TRootGuiBuilder.cxx:1912
 TRootGuiBuilder.cxx:1913
 TRootGuiBuilder.cxx:1914
 TRootGuiBuilder.cxx:1915
 TRootGuiBuilder.cxx:1916
 TRootGuiBuilder.cxx:1917
 TRootGuiBuilder.cxx:1918
 TRootGuiBuilder.cxx:1919
 TRootGuiBuilder.cxx:1920
 TRootGuiBuilder.cxx:1921
 TRootGuiBuilder.cxx:1922
 TRootGuiBuilder.cxx:1923
 TRootGuiBuilder.cxx:1924
 TRootGuiBuilder.cxx:1925
 TRootGuiBuilder.cxx:1926
 TRootGuiBuilder.cxx:1927
 TRootGuiBuilder.cxx:1928
 TRootGuiBuilder.cxx:1929
 TRootGuiBuilder.cxx:1930
 TRootGuiBuilder.cxx:1931
 TRootGuiBuilder.cxx:1932
 TRootGuiBuilder.cxx:1933
 TRootGuiBuilder.cxx:1934
 TRootGuiBuilder.cxx:1935
 TRootGuiBuilder.cxx:1936
 TRootGuiBuilder.cxx:1937
 TRootGuiBuilder.cxx:1938
 TRootGuiBuilder.cxx:1939
 TRootGuiBuilder.cxx:1940
 TRootGuiBuilder.cxx:1941
 TRootGuiBuilder.cxx:1942
 TRootGuiBuilder.cxx:1943
 TRootGuiBuilder.cxx:1944
 TRootGuiBuilder.cxx:1945
 TRootGuiBuilder.cxx:1946
 TRootGuiBuilder.cxx:1947
 TRootGuiBuilder.cxx:1948
 TRootGuiBuilder.cxx:1949
 TRootGuiBuilder.cxx:1950
 TRootGuiBuilder.cxx:1951
 TRootGuiBuilder.cxx:1952
 TRootGuiBuilder.cxx:1953
 TRootGuiBuilder.cxx:1954
 TRootGuiBuilder.cxx:1955
 TRootGuiBuilder.cxx:1956
 TRootGuiBuilder.cxx:1957
 TRootGuiBuilder.cxx:1958
 TRootGuiBuilder.cxx:1959
 TRootGuiBuilder.cxx:1960
 TRootGuiBuilder.cxx:1961
 TRootGuiBuilder.cxx:1962
 TRootGuiBuilder.cxx:1963
 TRootGuiBuilder.cxx:1964
 TRootGuiBuilder.cxx:1965
 TRootGuiBuilder.cxx:1966
 TRootGuiBuilder.cxx:1967
 TRootGuiBuilder.cxx:1968
 TRootGuiBuilder.cxx:1969
 TRootGuiBuilder.cxx:1970
 TRootGuiBuilder.cxx:1971
 TRootGuiBuilder.cxx:1972
 TRootGuiBuilder.cxx:1973
 TRootGuiBuilder.cxx:1974
 TRootGuiBuilder.cxx:1975
 TRootGuiBuilder.cxx:1976
 TRootGuiBuilder.cxx:1977
 TRootGuiBuilder.cxx:1978
 TRootGuiBuilder.cxx:1979
 TRootGuiBuilder.cxx:1980
 TRootGuiBuilder.cxx:1981
 TRootGuiBuilder.cxx:1982
 TRootGuiBuilder.cxx:1983
 TRootGuiBuilder.cxx:1984
 TRootGuiBuilder.cxx:1985
 TRootGuiBuilder.cxx:1986
 TRootGuiBuilder.cxx:1987
 TRootGuiBuilder.cxx:1988
 TRootGuiBuilder.cxx:1989
 TRootGuiBuilder.cxx:1990
 TRootGuiBuilder.cxx:1991
 TRootGuiBuilder.cxx:1992
 TRootGuiBuilder.cxx:1993
 TRootGuiBuilder.cxx:1994
 TRootGuiBuilder.cxx:1995
 TRootGuiBuilder.cxx:1996
 TRootGuiBuilder.cxx:1997
 TRootGuiBuilder.cxx:1998
 TRootGuiBuilder.cxx:1999
 TRootGuiBuilder.cxx:2000
 TRootGuiBuilder.cxx:2001
 TRootGuiBuilder.cxx:2002
 TRootGuiBuilder.cxx:2003
 TRootGuiBuilder.cxx:2004
 TRootGuiBuilder.cxx:2005
 TRootGuiBuilder.cxx:2006
 TRootGuiBuilder.cxx:2007
 TRootGuiBuilder.cxx:2008
 TRootGuiBuilder.cxx:2009
 TRootGuiBuilder.cxx:2010
 TRootGuiBuilder.cxx:2011
 TRootGuiBuilder.cxx:2012
 TRootGuiBuilder.cxx:2013
 TRootGuiBuilder.cxx:2014
 TRootGuiBuilder.cxx:2015
 TRootGuiBuilder.cxx:2016
 TRootGuiBuilder.cxx:2017
 TRootGuiBuilder.cxx:2018
 TRootGuiBuilder.cxx:2019
 TRootGuiBuilder.cxx:2020
 TRootGuiBuilder.cxx:2021
 TRootGuiBuilder.cxx:2022
 TRootGuiBuilder.cxx:2023
 TRootGuiBuilder.cxx:2024
 TRootGuiBuilder.cxx:2025
 TRootGuiBuilder.cxx:2026
 TRootGuiBuilder.cxx:2027
 TRootGuiBuilder.cxx:2028
 TRootGuiBuilder.cxx:2029
 TRootGuiBuilder.cxx:2030
 TRootGuiBuilder.cxx:2031
 TRootGuiBuilder.cxx:2032
 TRootGuiBuilder.cxx:2033
 TRootGuiBuilder.cxx:2034
 TRootGuiBuilder.cxx:2035
 TRootGuiBuilder.cxx:2036
 TRootGuiBuilder.cxx:2037
 TRootGuiBuilder.cxx:2038
 TRootGuiBuilder.cxx:2039
 TRootGuiBuilder.cxx:2040
 TRootGuiBuilder.cxx:2041
 TRootGuiBuilder.cxx:2042
 TRootGuiBuilder.cxx:2043
 TRootGuiBuilder.cxx:2044
 TRootGuiBuilder.cxx:2045
 TRootGuiBuilder.cxx:2046
 TRootGuiBuilder.cxx:2047
 TRootGuiBuilder.cxx:2048
 TRootGuiBuilder.cxx:2049
 TRootGuiBuilder.cxx:2050
 TRootGuiBuilder.cxx:2051
 TRootGuiBuilder.cxx:2052
 TRootGuiBuilder.cxx:2053
 TRootGuiBuilder.cxx:2054
 TRootGuiBuilder.cxx:2055
 TRootGuiBuilder.cxx:2056
 TRootGuiBuilder.cxx:2057
 TRootGuiBuilder.cxx:2058
 TRootGuiBuilder.cxx:2059
 TRootGuiBuilder.cxx:2060
 TRootGuiBuilder.cxx:2061
 TRootGuiBuilder.cxx:2062
 TRootGuiBuilder.cxx:2063
 TRootGuiBuilder.cxx:2064
 TRootGuiBuilder.cxx:2065
 TRootGuiBuilder.cxx:2066
 TRootGuiBuilder.cxx:2067
 TRootGuiBuilder.cxx:2068
 TRootGuiBuilder.cxx:2069
 TRootGuiBuilder.cxx:2070
 TRootGuiBuilder.cxx:2071
 TRootGuiBuilder.cxx:2072
 TRootGuiBuilder.cxx:2073
 TRootGuiBuilder.cxx:2074
 TRootGuiBuilder.cxx:2075
 TRootGuiBuilder.cxx:2076
 TRootGuiBuilder.cxx:2077
 TRootGuiBuilder.cxx:2078
 TRootGuiBuilder.cxx:2079
 TRootGuiBuilder.cxx:2080
 TRootGuiBuilder.cxx:2081
 TRootGuiBuilder.cxx:2082
 TRootGuiBuilder.cxx:2083
 TRootGuiBuilder.cxx:2084
 TRootGuiBuilder.cxx:2085
 TRootGuiBuilder.cxx:2086
 TRootGuiBuilder.cxx:2087
 TRootGuiBuilder.cxx:2088
 TRootGuiBuilder.cxx:2089
 TRootGuiBuilder.cxx:2090
 TRootGuiBuilder.cxx:2091
 TRootGuiBuilder.cxx:2092
 TRootGuiBuilder.cxx:2093
 TRootGuiBuilder.cxx:2094
 TRootGuiBuilder.cxx:2095
 TRootGuiBuilder.cxx:2096
 TRootGuiBuilder.cxx:2097
 TRootGuiBuilder.cxx:2098
 TRootGuiBuilder.cxx:2099
 TRootGuiBuilder.cxx:2100
 TRootGuiBuilder.cxx:2101
 TRootGuiBuilder.cxx:2102
 TRootGuiBuilder.cxx:2103
 TRootGuiBuilder.cxx:2104
 TRootGuiBuilder.cxx:2105
 TRootGuiBuilder.cxx:2106
 TRootGuiBuilder.cxx:2107
 TRootGuiBuilder.cxx:2108
 TRootGuiBuilder.cxx:2109
 TRootGuiBuilder.cxx:2110
 TRootGuiBuilder.cxx:2111
 TRootGuiBuilder.cxx:2112
 TRootGuiBuilder.cxx:2113
 TRootGuiBuilder.cxx:2114
 TRootGuiBuilder.cxx:2115
 TRootGuiBuilder.cxx:2116
 TRootGuiBuilder.cxx:2117
 TRootGuiBuilder.cxx:2118
 TRootGuiBuilder.cxx:2119
 TRootGuiBuilder.cxx:2120
 TRootGuiBuilder.cxx:2121
 TRootGuiBuilder.cxx:2122
 TRootGuiBuilder.cxx:2123
 TRootGuiBuilder.cxx:2124
 TRootGuiBuilder.cxx:2125
 TRootGuiBuilder.cxx:2126
 TRootGuiBuilder.cxx:2127
 TRootGuiBuilder.cxx:2128
 TRootGuiBuilder.cxx:2129
 TRootGuiBuilder.cxx:2130
 TRootGuiBuilder.cxx:2131
 TRootGuiBuilder.cxx:2132
 TRootGuiBuilder.cxx:2133
 TRootGuiBuilder.cxx:2134
 TRootGuiBuilder.cxx:2135
 TRootGuiBuilder.cxx:2136
 TRootGuiBuilder.cxx:2137
 TRootGuiBuilder.cxx:2138
 TRootGuiBuilder.cxx:2139
 TRootGuiBuilder.cxx:2140
 TRootGuiBuilder.cxx:2141
 TRootGuiBuilder.cxx:2142
 TRootGuiBuilder.cxx:2143
 TRootGuiBuilder.cxx:2144
 TRootGuiBuilder.cxx:2145
 TRootGuiBuilder.cxx:2146
 TRootGuiBuilder.cxx:2147
 TRootGuiBuilder.cxx:2148
 TRootGuiBuilder.cxx:2149
 TRootGuiBuilder.cxx:2150
 TRootGuiBuilder.cxx:2151
 TRootGuiBuilder.cxx:2152
 TRootGuiBuilder.cxx:2153
 TRootGuiBuilder.cxx:2154
 TRootGuiBuilder.cxx:2155
 TRootGuiBuilder.cxx:2156
 TRootGuiBuilder.cxx:2157
 TRootGuiBuilder.cxx:2158
 TRootGuiBuilder.cxx:2159
 TRootGuiBuilder.cxx:2160
 TRootGuiBuilder.cxx:2161
 TRootGuiBuilder.cxx:2162
 TRootGuiBuilder.cxx:2163
 TRootGuiBuilder.cxx:2164
 TRootGuiBuilder.cxx:2165
 TRootGuiBuilder.cxx:2166
 TRootGuiBuilder.cxx:2167
 TRootGuiBuilder.cxx:2168
 TRootGuiBuilder.cxx:2169
 TRootGuiBuilder.cxx:2170
 TRootGuiBuilder.cxx:2171
 TRootGuiBuilder.cxx:2172
 TRootGuiBuilder.cxx:2173
 TRootGuiBuilder.cxx:2174
 TRootGuiBuilder.cxx:2175
 TRootGuiBuilder.cxx:2176
 TRootGuiBuilder.cxx:2177
 TRootGuiBuilder.cxx:2178
 TRootGuiBuilder.cxx:2179
 TRootGuiBuilder.cxx:2180
 TRootGuiBuilder.cxx:2181
 TRootGuiBuilder.cxx:2182
 TRootGuiBuilder.cxx:2183
 TRootGuiBuilder.cxx:2184
 TRootGuiBuilder.cxx:2185
 TRootGuiBuilder.cxx:2186
 TRootGuiBuilder.cxx:2187
 TRootGuiBuilder.cxx:2188
 TRootGuiBuilder.cxx:2189
 TRootGuiBuilder.cxx:2190
 TRootGuiBuilder.cxx:2191
 TRootGuiBuilder.cxx:2192
 TRootGuiBuilder.cxx:2193
 TRootGuiBuilder.cxx:2194
 TRootGuiBuilder.cxx:2195
 TRootGuiBuilder.cxx:2196
 TRootGuiBuilder.cxx:2197
 TRootGuiBuilder.cxx:2198
 TRootGuiBuilder.cxx:2199
 TRootGuiBuilder.cxx:2200
 TRootGuiBuilder.cxx:2201
 TRootGuiBuilder.cxx:2202
 TRootGuiBuilder.cxx:2203
 TRootGuiBuilder.cxx:2204
 TRootGuiBuilder.cxx:2205
 TRootGuiBuilder.cxx:2206
 TRootGuiBuilder.cxx:2207
 TRootGuiBuilder.cxx:2208
 TRootGuiBuilder.cxx:2209
 TRootGuiBuilder.cxx:2210
 TRootGuiBuilder.cxx:2211
 TRootGuiBuilder.cxx:2212
 TRootGuiBuilder.cxx:2213
 TRootGuiBuilder.cxx:2214
 TRootGuiBuilder.cxx:2215
 TRootGuiBuilder.cxx:2216
 TRootGuiBuilder.cxx:2217
 TRootGuiBuilder.cxx:2218
 TRootGuiBuilder.cxx:2219
 TRootGuiBuilder.cxx:2220
 TRootGuiBuilder.cxx:2221
 TRootGuiBuilder.cxx:2222
 TRootGuiBuilder.cxx:2223
 TRootGuiBuilder.cxx:2224
 TRootGuiBuilder.cxx:2225
 TRootGuiBuilder.cxx:2226
 TRootGuiBuilder.cxx:2227
 TRootGuiBuilder.cxx:2228
 TRootGuiBuilder.cxx:2229
 TRootGuiBuilder.cxx:2230
 TRootGuiBuilder.cxx:2231
 TRootGuiBuilder.cxx:2232
 TRootGuiBuilder.cxx:2233
 TRootGuiBuilder.cxx:2234
 TRootGuiBuilder.cxx:2235
 TRootGuiBuilder.cxx:2236
 TRootGuiBuilder.cxx:2237
 TRootGuiBuilder.cxx:2238
 TRootGuiBuilder.cxx:2239
 TRootGuiBuilder.cxx:2240
 TRootGuiBuilder.cxx:2241
 TRootGuiBuilder.cxx:2242
 TRootGuiBuilder.cxx:2243
 TRootGuiBuilder.cxx:2244
 TRootGuiBuilder.cxx:2245
 TRootGuiBuilder.cxx:2246
 TRootGuiBuilder.cxx:2247
 TRootGuiBuilder.cxx:2248
 TRootGuiBuilder.cxx:2249
 TRootGuiBuilder.cxx:2250
 TRootGuiBuilder.cxx:2251
 TRootGuiBuilder.cxx:2252
 TRootGuiBuilder.cxx:2253
 TRootGuiBuilder.cxx:2254
 TRootGuiBuilder.cxx:2255
 TRootGuiBuilder.cxx:2256
 TRootGuiBuilder.cxx:2257
 TRootGuiBuilder.cxx:2258
 TRootGuiBuilder.cxx:2259
 TRootGuiBuilder.cxx:2260
 TRootGuiBuilder.cxx:2261
 TRootGuiBuilder.cxx:2262
 TRootGuiBuilder.cxx:2263
 TRootGuiBuilder.cxx:2264
 TRootGuiBuilder.cxx:2265
 TRootGuiBuilder.cxx:2266
 TRootGuiBuilder.cxx:2267
 TRootGuiBuilder.cxx:2268
 TRootGuiBuilder.cxx:2269
 TRootGuiBuilder.cxx:2270
 TRootGuiBuilder.cxx:2271
 TRootGuiBuilder.cxx:2272
 TRootGuiBuilder.cxx:2273
 TRootGuiBuilder.cxx:2274
 TRootGuiBuilder.cxx:2275
 TRootGuiBuilder.cxx:2276
 TRootGuiBuilder.cxx:2277
 TRootGuiBuilder.cxx:2278
 TRootGuiBuilder.cxx:2279
 TRootGuiBuilder.cxx:2280
 TRootGuiBuilder.cxx:2281
 TRootGuiBuilder.cxx:2282
 TRootGuiBuilder.cxx:2283
 TRootGuiBuilder.cxx:2284
 TRootGuiBuilder.cxx:2285
 TRootGuiBuilder.cxx:2286
 TRootGuiBuilder.cxx:2287
 TRootGuiBuilder.cxx:2288
 TRootGuiBuilder.cxx:2289
 TRootGuiBuilder.cxx:2290
 TRootGuiBuilder.cxx:2291
 TRootGuiBuilder.cxx:2292
 TRootGuiBuilder.cxx:2293
 TRootGuiBuilder.cxx:2294
 TRootGuiBuilder.cxx:2295
 TRootGuiBuilder.cxx:2296
 TRootGuiBuilder.cxx:2297
 TRootGuiBuilder.cxx:2298
 TRootGuiBuilder.cxx:2299
 TRootGuiBuilder.cxx:2300
 TRootGuiBuilder.cxx:2301
 TRootGuiBuilder.cxx:2302
 TRootGuiBuilder.cxx:2303
 TRootGuiBuilder.cxx:2304
 TRootGuiBuilder.cxx:2305
 TRootGuiBuilder.cxx:2306
 TRootGuiBuilder.cxx:2307
 TRootGuiBuilder.cxx:2308
 TRootGuiBuilder.cxx:2309
 TRootGuiBuilder.cxx:2310
 TRootGuiBuilder.cxx:2311
 TRootGuiBuilder.cxx:2312
 TRootGuiBuilder.cxx:2313
 TRootGuiBuilder.cxx:2314
 TRootGuiBuilder.cxx:2315
 TRootGuiBuilder.cxx:2316
 TRootGuiBuilder.cxx:2317
 TRootGuiBuilder.cxx:2318
 TRootGuiBuilder.cxx:2319
 TRootGuiBuilder.cxx:2320
 TRootGuiBuilder.cxx:2321
 TRootGuiBuilder.cxx:2322
 TRootGuiBuilder.cxx:2323
 TRootGuiBuilder.cxx:2324
 TRootGuiBuilder.cxx:2325
 TRootGuiBuilder.cxx:2326
 TRootGuiBuilder.cxx:2327
 TRootGuiBuilder.cxx:2328
 TRootGuiBuilder.cxx:2329
 TRootGuiBuilder.cxx:2330
 TRootGuiBuilder.cxx:2331
 TRootGuiBuilder.cxx:2332
 TRootGuiBuilder.cxx:2333
 TRootGuiBuilder.cxx:2334
 TRootGuiBuilder.cxx:2335
 TRootGuiBuilder.cxx:2336
 TRootGuiBuilder.cxx:2337
 TRootGuiBuilder.cxx:2338
 TRootGuiBuilder.cxx:2339
 TRootGuiBuilder.cxx:2340
 TRootGuiBuilder.cxx:2341
 TRootGuiBuilder.cxx:2342
 TRootGuiBuilder.cxx:2343
 TRootGuiBuilder.cxx:2344
 TRootGuiBuilder.cxx:2345
 TRootGuiBuilder.cxx:2346
 TRootGuiBuilder.cxx:2347
 TRootGuiBuilder.cxx:2348
 TRootGuiBuilder.cxx:2349
 TRootGuiBuilder.cxx:2350
 TRootGuiBuilder.cxx:2351
 TRootGuiBuilder.cxx:2352
 TRootGuiBuilder.cxx:2353
 TRootGuiBuilder.cxx:2354
 TRootGuiBuilder.cxx:2355
 TRootGuiBuilder.cxx:2356
 TRootGuiBuilder.cxx:2357
 TRootGuiBuilder.cxx:2358
 TRootGuiBuilder.cxx:2359
 TRootGuiBuilder.cxx:2360
 TRootGuiBuilder.cxx:2361
 TRootGuiBuilder.cxx:2362
 TRootGuiBuilder.cxx:2363
 TRootGuiBuilder.cxx:2364
 TRootGuiBuilder.cxx:2365
 TRootGuiBuilder.cxx:2366
 TRootGuiBuilder.cxx:2367
 TRootGuiBuilder.cxx:2368
 TRootGuiBuilder.cxx:2369
 TRootGuiBuilder.cxx:2370
 TRootGuiBuilder.cxx:2371
 TRootGuiBuilder.cxx:2372
 TRootGuiBuilder.cxx:2373
 TRootGuiBuilder.cxx:2374
 TRootGuiBuilder.cxx:2375
 TRootGuiBuilder.cxx:2376
 TRootGuiBuilder.cxx:2377
 TRootGuiBuilder.cxx:2378
 TRootGuiBuilder.cxx:2379
 TRootGuiBuilder.cxx:2380
 TRootGuiBuilder.cxx:2381
 TRootGuiBuilder.cxx:2382
 TRootGuiBuilder.cxx:2383
 TRootGuiBuilder.cxx:2384
 TRootGuiBuilder.cxx:2385
 TRootGuiBuilder.cxx:2386
 TRootGuiBuilder.cxx:2387
 TRootGuiBuilder.cxx:2388
 TRootGuiBuilder.cxx:2389
 TRootGuiBuilder.cxx:2390
 TRootGuiBuilder.cxx:2391
 TRootGuiBuilder.cxx:2392
 TRootGuiBuilder.cxx:2393
 TRootGuiBuilder.cxx:2394
 TRootGuiBuilder.cxx:2395
 TRootGuiBuilder.cxx:2396
 TRootGuiBuilder.cxx:2397
 TRootGuiBuilder.cxx:2398
 TRootGuiBuilder.cxx:2399
 TRootGuiBuilder.cxx:2400
 TRootGuiBuilder.cxx:2401
 TRootGuiBuilder.cxx:2402
 TRootGuiBuilder.cxx:2403
 TRootGuiBuilder.cxx:2404
 TRootGuiBuilder.cxx:2405
 TRootGuiBuilder.cxx:2406
 TRootGuiBuilder.cxx:2407
 TRootGuiBuilder.cxx:2408
 TRootGuiBuilder.cxx:2409
 TRootGuiBuilder.cxx:2410
 TRootGuiBuilder.cxx:2411
 TRootGuiBuilder.cxx:2412
 TRootGuiBuilder.cxx:2413
 TRootGuiBuilder.cxx:2414
 TRootGuiBuilder.cxx:2415
 TRootGuiBuilder.cxx:2416
 TRootGuiBuilder.cxx:2417
 TRootGuiBuilder.cxx:2418
 TRootGuiBuilder.cxx:2419
 TRootGuiBuilder.cxx:2420
 TRootGuiBuilder.cxx:2421
 TRootGuiBuilder.cxx:2422
 TRootGuiBuilder.cxx:2423
 TRootGuiBuilder.cxx:2424
 TRootGuiBuilder.cxx:2425
 TRootGuiBuilder.cxx:2426
 TRootGuiBuilder.cxx:2427
 TRootGuiBuilder.cxx:2428
 TRootGuiBuilder.cxx:2429
 TRootGuiBuilder.cxx:2430
 TRootGuiBuilder.cxx:2431
 TRootGuiBuilder.cxx:2432
 TRootGuiBuilder.cxx:2433
 TRootGuiBuilder.cxx:2434
 TRootGuiBuilder.cxx:2435
 TRootGuiBuilder.cxx:2436
 TRootGuiBuilder.cxx:2437
 TRootGuiBuilder.cxx:2438
 TRootGuiBuilder.cxx:2439
 TRootGuiBuilder.cxx:2440
 TRootGuiBuilder.cxx:2441
 TRootGuiBuilder.cxx:2442
 TRootGuiBuilder.cxx:2443
 TRootGuiBuilder.cxx:2444
 TRootGuiBuilder.cxx:2445
 TRootGuiBuilder.cxx:2446
 TRootGuiBuilder.cxx:2447
 TRootGuiBuilder.cxx:2448
 TRootGuiBuilder.cxx:2449
 TRootGuiBuilder.cxx:2450
 TRootGuiBuilder.cxx:2451
 TRootGuiBuilder.cxx:2452
 TRootGuiBuilder.cxx:2453
 TRootGuiBuilder.cxx:2454
 TRootGuiBuilder.cxx:2455
 TRootGuiBuilder.cxx:2456
 TRootGuiBuilder.cxx:2457
 TRootGuiBuilder.cxx:2458
 TRootGuiBuilder.cxx:2459
 TRootGuiBuilder.cxx:2460
 TRootGuiBuilder.cxx:2461
 TRootGuiBuilder.cxx:2462
 TRootGuiBuilder.cxx:2463
 TRootGuiBuilder.cxx:2464
 TRootGuiBuilder.cxx:2465
 TRootGuiBuilder.cxx:2466
 TRootGuiBuilder.cxx:2467
 TRootGuiBuilder.cxx:2468
 TRootGuiBuilder.cxx:2469
 TRootGuiBuilder.cxx:2470
 TRootGuiBuilder.cxx:2471
 TRootGuiBuilder.cxx:2472
 TRootGuiBuilder.cxx:2473
 TRootGuiBuilder.cxx:2474
 TRootGuiBuilder.cxx:2475
 TRootGuiBuilder.cxx:2476
 TRootGuiBuilder.cxx:2477
 TRootGuiBuilder.cxx:2478
 TRootGuiBuilder.cxx:2479
 TRootGuiBuilder.cxx:2480
 TRootGuiBuilder.cxx:2481
 TRootGuiBuilder.cxx:2482
 TRootGuiBuilder.cxx:2483
 TRootGuiBuilder.cxx:2484
 TRootGuiBuilder.cxx:2485
 TRootGuiBuilder.cxx:2486
 TRootGuiBuilder.cxx:2487
 TRootGuiBuilder.cxx:2488
 TRootGuiBuilder.cxx:2489
 TRootGuiBuilder.cxx:2490
 TRootGuiBuilder.cxx:2491
 TRootGuiBuilder.cxx:2492
 TRootGuiBuilder.cxx:2493
 TRootGuiBuilder.cxx:2494
 TRootGuiBuilder.cxx:2495
 TRootGuiBuilder.cxx:2496
 TRootGuiBuilder.cxx:2497
 TRootGuiBuilder.cxx:2498
 TRootGuiBuilder.cxx:2499
 TRootGuiBuilder.cxx:2500
 TRootGuiBuilder.cxx:2501
 TRootGuiBuilder.cxx:2502
 TRootGuiBuilder.cxx:2503
 TRootGuiBuilder.cxx:2504
 TRootGuiBuilder.cxx:2505
 TRootGuiBuilder.cxx:2506
 TRootGuiBuilder.cxx:2507
 TRootGuiBuilder.cxx:2508
 TRootGuiBuilder.cxx:2509
 TRootGuiBuilder.cxx:2510
 TRootGuiBuilder.cxx:2511
 TRootGuiBuilder.cxx:2512
 TRootGuiBuilder.cxx:2513
 TRootGuiBuilder.cxx:2514
 TRootGuiBuilder.cxx:2515
 TRootGuiBuilder.cxx:2516
 TRootGuiBuilder.cxx:2517
 TRootGuiBuilder.cxx:2518
 TRootGuiBuilder.cxx:2519
 TRootGuiBuilder.cxx:2520
 TRootGuiBuilder.cxx:2521
 TRootGuiBuilder.cxx:2522
 TRootGuiBuilder.cxx:2523
 TRootGuiBuilder.cxx:2524
 TRootGuiBuilder.cxx:2525
 TRootGuiBuilder.cxx:2526
 TRootGuiBuilder.cxx:2527
 TRootGuiBuilder.cxx:2528
 TRootGuiBuilder.cxx:2529
 TRootGuiBuilder.cxx:2530
 TRootGuiBuilder.cxx:2531
 TRootGuiBuilder.cxx:2532
 TRootGuiBuilder.cxx:2533
 TRootGuiBuilder.cxx:2534
 TRootGuiBuilder.cxx:2535
 TRootGuiBuilder.cxx:2536
 TRootGuiBuilder.cxx:2537
 TRootGuiBuilder.cxx:2538
 TRootGuiBuilder.cxx:2539
 TRootGuiBuilder.cxx:2540
 TRootGuiBuilder.cxx:2541
 TRootGuiBuilder.cxx:2542
 TRootGuiBuilder.cxx:2543
 TRootGuiBuilder.cxx:2544
 TRootGuiBuilder.cxx:2545
 TRootGuiBuilder.cxx:2546
 TRootGuiBuilder.cxx:2547
 TRootGuiBuilder.cxx:2548
 TRootGuiBuilder.cxx:2549
 TRootGuiBuilder.cxx:2550
 TRootGuiBuilder.cxx:2551
 TRootGuiBuilder.cxx:2552
 TRootGuiBuilder.cxx:2553
 TRootGuiBuilder.cxx:2554
 TRootGuiBuilder.cxx:2555
 TRootGuiBuilder.cxx:2556
 TRootGuiBuilder.cxx:2557
 TRootGuiBuilder.cxx:2558
 TRootGuiBuilder.cxx:2559
 TRootGuiBuilder.cxx:2560
 TRootGuiBuilder.cxx:2561
 TRootGuiBuilder.cxx:2562
 TRootGuiBuilder.cxx:2563
 TRootGuiBuilder.cxx:2564
 TRootGuiBuilder.cxx:2565
 TRootGuiBuilder.cxx:2566
 TRootGuiBuilder.cxx:2567
 TRootGuiBuilder.cxx:2568
 TRootGuiBuilder.cxx:2569
 TRootGuiBuilder.cxx:2570
 TRootGuiBuilder.cxx:2571
 TRootGuiBuilder.cxx:2572
 TRootGuiBuilder.cxx:2573
 TRootGuiBuilder.cxx:2574
 TRootGuiBuilder.cxx:2575
 TRootGuiBuilder.cxx:2576
 TRootGuiBuilder.cxx:2577
 TRootGuiBuilder.cxx:2578
 TRootGuiBuilder.cxx:2579
 TRootGuiBuilder.cxx:2580
 TRootGuiBuilder.cxx:2581
 TRootGuiBuilder.cxx:2582
 TRootGuiBuilder.cxx:2583
 TRootGuiBuilder.cxx:2584
 TRootGuiBuilder.cxx:2585
 TRootGuiBuilder.cxx:2586
 TRootGuiBuilder.cxx:2587
 TRootGuiBuilder.cxx:2588
 TRootGuiBuilder.cxx:2589
 TRootGuiBuilder.cxx:2590
 TRootGuiBuilder.cxx:2591
 TRootGuiBuilder.cxx:2592
 TRootGuiBuilder.cxx:2593
 TRootGuiBuilder.cxx:2594
 TRootGuiBuilder.cxx:2595
 TRootGuiBuilder.cxx:2596
 TRootGuiBuilder.cxx:2597