ROOT logo
// @(#)root/gui:$Id: TGMdiMainFrame.cxx 35582 2010-09-22 13:38:27Z bellenot $
// Author: Bertrand Bellenot   20/08/2004

/*************************************************************************
 * 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.             *
 *************************************************************************/

/**************************************************************************

    This file is part of TGMdi an extension to the xclass toolkit.
    Copyright (C) 1998-2002 by Harald Radke, Hector Peraza.

    This application is free software; you can redistribute it and/or
    modify it under the terms of the GNU Library General Public
    License as published by the Free Software Foundation; either
    version 2 of the License, or (at your option) any later version.

    This application is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.

    You should have received a copy of the GNU Library General Public
    License along with this library; if not, write to the Free
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

**************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGMdiMainFrame.                                                      //
//                                                                      //
// This file contains the TGMdiMainFrame class.                         //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include "KeySymbols.h"
#include "TGFrame.h"
#include "TGMdiMainFrame.h"
#include "TGMdiDecorFrame.h"
#include "TGMdiFrame.h"
#include "TGMdiMenu.h"
#include "TGGC.h"
#include "TGResourcePool.h"
#include "Riostream.h"
#include "TList.h"

ClassImp(TGMdiMainFrame)
ClassImp(TGMdiContainer)
ClassImp(TGMdiGeometry)
ClassImp(TGMdiFrameList)

//______________________________________________________________________________
TGMdiMainFrame::TGMdiMainFrame(const TGWindow *p, TGMdiMenuBar *menuBar,
                               Int_t w, Int_t h, UInt_t options,
                               Pixel_t back) :
   TGCanvas(p, w, h, options | kDoubleBorder | kSunkenFrame | kMdiMainFrame, back)
{
   // Create a MDI main frame.

   fContainer = new TGMdiContainer(this, 10, 10, kOwnBackground,
                         fClient->GetShadow(GetDefaultFrameBackground()));
   TGCanvas::SetContainer(fContainer);

   fNumberOfFrames = 0;
   fMenuBar = menuBar;
   fChildren = 0;
   fCurrent = 0;
   fArrangementMode = 0;

   const TGResourcePool *res = GetResourcePool();
   fBackCurrent = res->GetSelectedBgndColor();
   fForeCurrent = res->GetSelectedFgndColor();
   fForeNotCurrent = res->GetFrameBgndColor();
   fBackNotCurrent = res->GetFrameShadowColor();
   fFontCurrent = (TGFont *)res->GetMenuFont();
   fFontNotCurrent = fFontCurrent;

   fBoxGC = new TGGC(*gClient->GetResourcePool()->GetFrameGC());
   fBoxGC->SetForeground(fForeNotCurrent);
   fBoxGC->SetBackground(fBackNotCurrent);
   fBoxGC->SetFunction(kGXxor);
   fBoxGC->SetLineWidth(TGMdiDecorFrame::kMdiBorderWidth-3);
   fBoxGC->SetSubwindowMode(kIncludeInferiors);
   fBoxGC->SetStipple(fClient->GetResourcePool()->GetCheckeredBitmap());
   fBoxGC->SetFillStyle(kFillOpaqueStippled);

   fCurrentX = fCurrentY = 0;
   fResizeMode = kMdiDefaultResizeMode;

   fWinListMenu = new TGPopupMenu(fClient->GetDefaultRoot());

   const TGMainFrame *main = (TGMainFrame *) GetMainFrame();
   if (main){
      Int_t keycode = gVirtualX->KeysymToKeycode(kKey_Tab);
      main->BindKey(this, keycode, kKeyControlMask);
      main->BindKey(this, keycode, kKeyControlMask | kKeyShiftMask);
      keycode = gVirtualX->KeysymToKeycode(kKey_F4);
      main->BindKey(this, keycode, kKeyControlMask);
   }

   MapSubwindows();
   Layout();
   MapWindow();
   SetWindowName();
}

//______________________________________________________________________________
TGMdiMainFrame::~TGMdiMainFrame()
{
   // MDI main frame destructor.

   TGMdiFrameList *tmp, *travel = fChildren;

   while (travel) {
      tmp = travel->GetNext();
      delete travel;
      travel = tmp;
   }

   if (fFontCurrent) fClient->FreeFont((TGFont *)fFontCurrent);
   if (fFontNotCurrent != fFontCurrent) fClient->FreeFont((TGFont *)fFontNotCurrent);

   delete fBoxGC;

   if (!MustCleanup()) {

      const TGMainFrame *main = (TGMainFrame *) GetMainFrame();

      if (main && main->InheritsFrom("TGMainFrame")) {
         Int_t keycode = gVirtualX->KeysymToKeycode(kKey_Tab);
         main->RemoveBind(this, keycode, kKeyControlMask);
         main->RemoveBind(this, keycode, kKeyControlMask | kKeyShiftMask);
         keycode = gVirtualX->KeysymToKeycode(kKey_F4);
         main->RemoveBind(this, keycode, kKeyControlMask);
      }
   }
}

//______________________________________________________________________________
void TGMdiMainFrame::SetResizeMode(Int_t mode)
{
   // Set MDI windows resize mode (opaque or transparent).

   TGMdiFrameList *travel;

   fResizeMode = mode;
   for (travel = fChildren; travel; travel = travel->GetNext()) {
      travel->GetDecorFrame()->SetResizeMode(mode);
   }
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::HandleKey(Event_t *event)
{
   // Handle keyboards events into MDI main frame.

   char   input[10];
   UInt_t keysym;

   if (event->fType == kGKeyPress) {
      gVirtualX->LookupString(event, input, sizeof(input), keysym);
      if ((EKeySym)keysym == kKey_Tab) {
         if (event->fState & kKeyControlMask) {
            if (event->fState & kKeyShiftMask) {
               CirculateUp();
            } else {
               CirculateDown();
            }
            return kTRUE;
         }
      } else if ((EKeySym)keysym == kKey_F4) {
         if (event->fState & kKeyControlMask) {
            Close(GetCurrent());
            return kTRUE;
         }
      }
   }
   return kFALSE;
}

//______________________________________________________________________________
void TGMdiMainFrame::AddMdiFrame(TGMdiFrame *frame)
{
   // Add new MDI child window.

   TGMdiFrameList *travel;

   frame->UnmapWindow();

   travel = new TGMdiFrameList;
   travel->SetCyclePrev(travel);
   travel->SetCycleNext(travel);
   travel->SetPrev(0);
   if (fChildren) fChildren->SetPrev(travel);
   travel->SetNext(fChildren);
   fChildren = travel;

   travel->SetDecorFrame(new TGMdiDecorFrame(this, frame, frame->GetWidth(),
                                       frame->GetHeight(), fBoxGC));

   travel->SetFrameId(frame->GetId());
   travel->GetDecorFrame()->SetResizeMode(fResizeMode);

   if (fCurrentX + travel->GetDecorFrame()->GetWidth() > fWidth) fCurrentX = 0;
   if (fCurrentY + travel->GetDecorFrame()->GetHeight() > fHeight) fCurrentY = 0;
   travel->GetDecorFrame()->Move(fCurrentX, fCurrentY);

   fCurrentX += travel->GetDecorFrame()->GetTitleBar()->GetHeight() + fBorderWidth * 2;
   fCurrentY += travel->GetDecorFrame()->GetTitleBar()->GetHeight() + fBorderWidth * 2;

   fNumberOfFrames++;

   UpdateWinListMenu();
   SetCurrent(travel);
   Layout();

   SendMessage(fParent, MK_MSG(kC_MDI, kMDI_CREATE), travel->GetDecorFrame()->GetId(), 0);
   FrameCreated(travel->GetDecorFrame()->GetId());
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::RemoveMdiFrame(TGMdiFrame *frame)
{
   // Remove MDI child window.

   TGMdiFrameList *travel = fChildren;

   if (!frame) return kFALSE;
   
   if (frame->IsEditable()) frame->SetEditable(kFALSE);

   while (travel && (travel->GetFrameId() != frame->GetId()))
      travel = travel->GetNext();
   if (!travel) return kFALSE;

   if (travel == fCurrent) fCurrent = 0;

   // unlink the element from the fCycle list
   travel->GetCyclePrev()->SetCycleNext(travel->GetCycleNext());
   travel->GetCycleNext()->SetCyclePrev(travel->GetCyclePrev());

   // and from the main list
   if (travel->GetNext()) {
      travel->GetNext()->SetPrev(travel->GetPrev());
   }
   if (travel->GetPrev()) {
      travel->GetPrev()->SetNext(travel->GetNext());
   } else {
      fChildren = travel->GetNext();
   }

   if (!fCurrent) {
      if (fChildren) SetCurrent(travel->GetCyclePrev());
   }

   travel->GetDecorFrame()->RemoveFrame(frame);

   UInt_t old_id = frame->GetId();

   delete travel->fDecor;

   fNumberOfFrames--;

   UpdateWinListMenu();
   Layout();

   SendMessage(fParent, MK_MSG(kC_MDI, kMDI_CLOSE), old_id, 0);
   FrameClosed(old_id);

   return kTRUE;
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::SetCurrent(UInt_t id)
{
   // Set current (active) MDI child window (by id).

   if (fCurrent && (fCurrent->GetDecorFrame()->GetId() == id)) {
      fCurrent->GetDecorFrame()->RaiseWindow();
      if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
         fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                              fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());
      
      Emit("SetCurrent(TGMdiFrame*)", (long)fCurrent->GetDecorFrame()->GetMdiFrame());
      return kTRUE;
   }

   TGMdiFrameList *travel = fChildren;
   while (travel && (travel->GetDecorFrame()->GetId() != id)) travel = travel->GetNext();
   if (!travel) return kFALSE;

   return SetCurrent(travel);
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::SetCurrent(TGMdiFrame *f)
{
   // Set current (active) MDI child window (by frame pointer).

   if (fCurrent && (fCurrent->GetDecorFrame()->GetMdiFrame() == f)) {
      fCurrent->GetDecorFrame()->RaiseWindow();
      if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
         fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                              fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());
      Emit("SetCurrent(TGMdiFrame*)", (long)fCurrent->GetDecorFrame()->GetMdiFrame());
      return kTRUE;
   }

   TGMdiFrameList *travel = fChildren;
   while (travel && (travel->GetDecorFrame()->GetMdiFrame() != f)) travel = travel->GetNext();
   if (!travel) return kFALSE;

   return SetCurrent(travel);
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::SetCurrent(TGMdiFrameList *newcurrent)
{
   // Set current (active) MDI child window (by frame list).

   if (fCurrent && (fCurrent == newcurrent)) {
      fCurrent->GetDecorFrame()->RaiseWindow();
      if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
         fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                              fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());
      Emit("SetCurrent(TGMdiFrame*)", (long)fCurrent->GetDecorFrame()->GetMdiFrame());
      return kTRUE;
   }

   if (fCurrent) {
      if (!fCurrent->GetDecorFrame()->IsMaximized())
         fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeNotCurrent,
                                                        fBackNotCurrent,
                                                        fFontNotCurrent);
   }

   if (newcurrent) {
      if (fCurrent) {
         // unlink the element from the old position
         newcurrent->GetCyclePrev()->SetCycleNext(newcurrent->GetCycleNext());
         newcurrent->GetCycleNext()->SetCyclePrev(newcurrent->GetCyclePrev());
         // and link it to the top of the window fCycle stack
         newcurrent->SetCyclePrev(fCurrent);
         newcurrent->SetCycleNext(fCurrent->GetCycleNext());
         fCurrent->SetCycleNext(newcurrent);
         newcurrent->GetCycleNext()->SetCyclePrev(newcurrent);
      } else {
         // no current? well, put it at the head of the list...
         if (fChildren && newcurrent != fChildren) {
            // unlink the element from the old position
            newcurrent->GetCyclePrev()->SetCycleNext(newcurrent->GetCycleNext());
            newcurrent->GetCycleNext()->SetCyclePrev(newcurrent->GetCyclePrev());
            // and link it to the beginning of the window list
            newcurrent->SetCyclePrev(fChildren);
            newcurrent->SetCycleNext(fChildren->GetCycleNext());
            fChildren->SetCycleNext(newcurrent);
            newcurrent->GetCycleNext()->SetCyclePrev(newcurrent);
         }
      }
   }

   fCurrent = newcurrent;

   if (!fCurrent) return kFALSE;

   if (!fCurrent->GetDecorFrame()->IsMaximized())
      fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeCurrent,
                                                                  fBackCurrent,
                                                                  fFontCurrent);

   fCurrent->GetDecorFrame()->RaiseWindow();
   Emit("SetCurrent(TGMdiFrame*)", (long)fCurrent->GetDecorFrame()->GetMdiFrame());

   fWinListMenu->RCheckEntry(fCurrent->GetDecorFrame()->GetId(), 0, kMaxInt);

   if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
      fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                           fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());

   return kTRUE;
}

//______________________________________________________________________________
void TGMdiMainFrame::CirculateUp()
{
   // Bring the lowest window to the top.

   if (fCurrent) {
      fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeNotCurrent,
                                                     fBackNotCurrent,
                                                     fFontNotCurrent);

      fCurrent = fCurrent->GetCycleNext();

      fCurrent->GetDecorFrame()->RaiseWindow();
      fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeCurrent,
                                                     fBackCurrent,
                                                     fFontCurrent);
      if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
         fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                              fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());

   } else if (fChildren) {
      SetCurrent(fChildren);
   }
}

//______________________________________________________________________________
void TGMdiMainFrame::CirculateDown()
{
   // Send the highest window to the bottom.

   if (fCurrent) {
      fCurrent->GetDecorFrame()->LowerWindow();
      fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeNotCurrent,
                                                     fBackNotCurrent,
                                                     fFontNotCurrent);

      fCurrent = fCurrent->GetCyclePrev();   // do not call SetCurrent in order
                                         // to not to alter the stacking order
      fCurrent->GetDecorFrame()->RaiseWindow();
      fCurrent->GetDecorFrame()->GetTitleBar()->SetTitleBarColors(fForeCurrent,
                                                     fBackCurrent,
                                                     fFontCurrent);
      if (fCurrent->GetDecorFrame()->IsMaximized() && fMenuBar)
         fMenuBar->ShowFrames(fCurrent->GetDecorFrame()->GetTitleBar()->GetWinIcon(),
                              fCurrent->GetDecorFrame()->GetTitleBar()->GetButtons());
   } else if (fChildren) {
      SetCurrent(fChildren);
   }
}

//______________________________________________________________________________
TGMdiDecorFrame *TGMdiMainFrame::GetDecorFrame(TGMdiFrame *frame) const
{
   // Return decor frame of MDI child window (by frame pointer).

   TGMdiFrameList *travel = fChildren;
   while (travel && (travel->GetDecorFrame()->GetMdiFrame() != frame))
      travel = travel->GetNext();
   if (!travel) return 0;
   return travel->GetDecorFrame();
}

//______________________________________________________________________________
TGMdiDecorFrame *TGMdiMainFrame::GetDecorFrame(UInt_t id) const
{
   // Return decor frame of MDI child window (by id).

   TGMdiFrameList *travel = fChildren;
   while (travel && (travel->GetDecorFrame()->GetId() != id)) travel = travel->GetNext();
   if (!travel) return 0;
   return travel->GetDecorFrame();
}

//______________________________________________________________________________
TGMdiFrame *TGMdiMainFrame::GetMdiFrame(UInt_t id) const
{
   // Return frame of MDI child window (by id).

   TGMdiDecorFrame *frame = GetDecorFrame(id);
   if (!frame) return 0;
   return frame->GetMdiFrame();
}

//______________________________________________________________________________
TGRectangle TGMdiMainFrame::GetBBox() const
{
   // Return resizing box (rectangle) for current MDI child.

   if (fCurrent && fCurrent->GetDecorFrame()->IsMaximized()) {
      return TGRectangle(0, 0, fWidth - 2 * fBorderWidth, fHeight - 2 * fBorderWidth);
   } else {
      TGRectangle rect;
      TGMdiFrameList *travel;

      for (travel = fChildren; travel; travel = travel->GetNext()) {
         Int_t x = travel->GetDecorFrame()->GetX();
         Int_t y = travel->GetDecorFrame()->GetY();
         UInt_t w = travel->GetDecorFrame()->GetWidth();
         UInt_t h = travel->GetDecorFrame()->GetHeight();
         TGRectangle wrect(x, y, w, h);
         rect.Merge(wrect);
      }
      return rect;
   }
}

//______________________________________________________________________________
TGRectangle TGMdiMainFrame::GetMinimizedBBox() const
{
   // Return minimized box (rectangle) for current MDI child.

   TGRectangle rect;
   TGMdiFrameList *travel;
   Int_t first = kTRUE;

   for (travel = fChildren; travel; travel = travel->GetNext()) {
      if (travel->GetDecorFrame()->IsMinimized()) {
         TGRectangle wrect(travel->GetDecorFrame()->GetX(), travel->GetDecorFrame()->GetY(),
                           travel->GetDecorFrame()->GetWidth(), travel->GetDecorFrame()->GetHeight());
         if (first) rect = wrect; 
         else rect.Merge(wrect);
         first = kFALSE;
      }
   }
   return rect;
}

//______________________________________________________________________________
void TGMdiMainFrame::UpdateWinListMenu()
{
   // Update MDI menu entries with current list of MDI child windows.

   TString buf;
   char scut;
   TGMdiFrameList *travel;
   const TGPicture *pic;

   TGMenuEntry *e;
   TIter fNext(fWinListMenu->GetListOfEntries());
   while ((e = (TGMenuEntry*)fNext())) {
      fWinListMenu->DeleteEntry(e);
   }
   scut = '0';

   if (!fChildren) {
      fWinListMenu->AddEntry(new TGHotString("(None)"), 1000);
      fWinListMenu->DisableEntry(1000);
      return;
   }

   for (travel = fChildren; travel; travel = travel->GetNext()) {
      scut++;
      if (scut == ('9' + 1)) scut = 'A';
      buf = TString::Format("&%c. %s", scut, travel->GetDecorFrame()->GetWindowName());
      if (travel->GetDecorFrame()->GetMdiButtons() & kMdiMenu)
         pic = travel->GetDecorFrame()->GetWindowIcon();
      else
         pic = 0;
      fWinListMenu->AddEntry(new TGHotString(buf.Data()), travel->GetDecorFrame()->GetId(), 0, pic);
   }

   if (fCurrent)
      fWinListMenu->RCheckEntry(fCurrent->GetDecorFrame()->GetId(), 0, kMaxInt);
}

//______________________________________________________________________________
void TGMdiMainFrame::Layout()
{
   // Recalculates the postion and the size of all MDI child windows.

   TGCanvas::Layout();
   if (fCurrent && fCurrent->GetDecorFrame()->IsMaximized())
      fCurrent->GetDecorFrame()->MoveResize(0, 0, fWidth - 2 *fBorderWidth, fHeight -
                                   2 * fBorderWidth);
}

//______________________________________________________________________________
void TGMdiMainFrame::ArrangeFrames(Int_t mode)
{
   // Automatic repositionning and resizing of every MDI child window.
   // depending on mode : tile horizontal, tile vertical, or cascade.

   Int_t factor_x = 0;
   Int_t factor_y = 0;
   Int_t num_mapped = 0;
   Int_t x = 0;
   Int_t y = 0;
   Int_t w = fWidth - 2 * fBorderWidth;  //GetContainer()->GetWidth();
   Int_t h = fHeight - 2 * fBorderWidth;  //GetContainer()->GetHeight();
   
   fArrangementMode = mode;

   TGMdiFrameList *tmp, *travel;

   for (travel = fChildren; travel; travel = travel->GetNext()) {
      if (travel->GetDecorFrame()->IsMaximized())
         Restore(travel->GetDecorFrame()->GetMdiFrame());
      if (!travel->GetDecorFrame()->IsMinimized())
         ++num_mapped;
   }

   // must also restore view to 0,0
   GetViewPort()->SetHPos(0);
   GetViewPort()->SetVPos(0);

   ArrangeMinimized();

   travel = fChildren;

   if (num_mapped == 0) return;

   TGRectangle irect = GetMinimizedBBox();
   h -= irect.fH;

   switch (mode) {
      case kMdiTileHorizontal:
         factor_y = h / num_mapped;
         for (travel = fChildren; travel; travel = travel->GetNext()) {
            if (!travel->GetDecorFrame()->IsMinimized()) {
               travel->GetDecorFrame()->MoveResize(x, y, w, factor_y);
               y = y + factor_y;
            }
         }
         break;

      case kMdiTileVertical:
         factor_x = w / num_mapped;
         for (travel = fChildren; travel; travel = travel->GetNext()) {
            if (!travel->GetDecorFrame()->IsMinimized()) {
               travel->GetDecorFrame()->MoveResize(x, y, factor_x, h);
               x = x + factor_x;
            }
         }
         break;

      case kMdiCascade:
         y = travel->GetDecorFrame()->GetTitleBar()->GetX() +
             travel->GetDecorFrame()->GetTitleBar()->GetHeight();
         x = y;
         factor_y = (h * 2) / 3;
         factor_x = (w * 2) / 3;

         travel = fCurrent;
         if (!travel) travel = fChildren;
         tmp = travel;
         if (travel) {
            do {
               travel = travel->GetCycleNext();
               if (!travel->GetDecorFrame()->IsMinimized()) {
                  travel->GetDecorFrame()->MoveResize(x - y, x - y, factor_x, factor_y);
                  x += y;
               }
            } while (travel != tmp);
         }
         break;
   }

   FramesArranged(mode);

   Layout();
}

//______________________________________________________________________________
void TGMdiMainFrame::ArrangeMinimized()
{
   // This is an attempt to an "smart" minimized window re-arrangement.

   TGMdiFrameList *travel, *closest;
   Int_t x, y, w, h;

   Bool_t arranged = kTRUE;

   for (travel = fChildren; travel && arranged; travel = travel->GetNext())
      if (travel->GetDecorFrame()->IsMinimized()) arranged = kFALSE;

   // return if there is nothing to do

   if (arranged || !fChildren) return;

   h = fChildren->GetDecorFrame()->GetTitleBar()->GetDefaultHeight() +
       fChildren->GetDecorFrame()->GetBorderWidth();
   w = kMinimizedWidth * h + fChildren->GetDecorFrame()->GetBorderWidth();

   x = 0;
   y = GetViewPort()->GetHeight() - h;

   // we'll use the _minimizedUserPlacement variable as a "not arranged" flag

   for (travel = fChildren; travel; travel = travel->GetNext())
      travel->GetDecorFrame()->SetMinUserPlacement();

   do {
      closest = 0;
      Int_t cdist = 0;
      for (travel = fChildren; travel; travel = travel->GetNext()) {
         if (travel->GetDecorFrame()->IsMinimized()) {
            if (travel->GetDecorFrame()->GetMinUserPlacement()) {
               Int_t dx = travel->GetDecorFrame()->GetX() - x;
               Int_t dy = y - travel->GetDecorFrame()->GetY();
               Int_t dist = dx * dx + dy * dy;
               if (!closest || (dist < cdist)) {
                  closest = travel;
                  cdist = dist;
               }
            }
         }
      }

      if (closest) {
         closest->GetDecorFrame()->SetMinimizedX(x);
         closest->GetDecorFrame()->SetMinimizedY(y);
         closest->GetDecorFrame()->MoveResize(x, y, w, h);
         closest->GetDecorFrame()->SetMinUserPlacement(kFALSE);

         x += w;
         if (x + w > (Int_t)GetViewPort()->GetWidth()) {
            x = 0;
            y -= h;
         }
      }

   } while (closest);

   // reset the fMinimizedUserPlacement settings for all windows

   for (travel = fChildren; travel; travel = travel->GetNext())
      travel->GetDecorFrame()->SetMinUserPlacement(kFALSE);
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
   // Process messages MDI main frame.

   switch (GET_MSG(msg)) {
      case kC_MDI:
         SetCurrent(parm1);
         switch (GET_SUBMSG(msg)) {

            case kMDI_MINIMIZE:
               Minimize(GetCurrent());
               break;

            case kMDI_MAXIMIZE:
               Maximize(GetCurrent());
               break;

            case kMDI_RESTORE:
               Restore(GetCurrent());
               break;

            case kMDI_CLOSE:
               Close(GetCurrent());
               break;

            case kMDI_MOVE:
               FreeMove(GetCurrent());
               break;

            case kMDI_SIZE:
               FreeSize(GetCurrent());
               break;

            case kMDI_HELP:
               ContextHelp(GetCurrent());
               break;
         }
         break;

      default:
         return TGCanvas::ProcessMessage(msg, parm1, parm2);
   }

   return kTRUE;
}

//______________________________________________________________________________
void TGMdiMainFrame::Maximize(TGMdiFrame *mdiframe)
{
   // Maximize MDI child window mdiframe.

   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);

   if (!frame) return;

   if (frame->IsMaximized()) return;

   if (frame->IsMinimized()) Restore(mdiframe);

   frame->SetDecorBorderWidth(0);
   frame->SetPreResizeX(frame->GetX());
   frame->SetPreResizeY(frame->GetY());
   frame->SetPreResizeWidth(frame->GetWidth());
   frame->SetPreResizeHeight(frame->GetHeight());
   frame->GetUpperHR()->UnmapWindow();
   frame->GetLowerHR()->UnmapWindow();
   frame->GetLeftVR()->UnmapWindow();
   frame->GetRightVR()->UnmapWindow();
   frame->GetUpperLeftCR()->UnmapWindow();
   frame->GetUpperRightCR()->UnmapWindow();
   frame->GetLowerLeftCR()->UnmapWindow();
   frame->GetLowerRightCR()->UnmapWindow();

   frame->MoveResize(fBorderWidth, fBorderWidth, fWidth - 2 *fBorderWidth,
       fHeight - 2 * fBorderWidth);
   frame->Maximize();
   frame->GetTitleBar()->LayoutButtons(frame->GetMdiButtons(), frame->IsMinimized(),
                                   frame->IsMaximized());
   frame->GetTitleBar()->RemoveFrames(frame->GetTitleBar()->GetWinIcon(),
                                  frame->GetTitleBar()->GetButtons());
   frame->HideFrame(frame->GetTitleBar());

   if (fMenuBar) {
      frame->GetTitleBar()->GetWinIcon()->SetBackgroundColor(GetDefaultFrameBackground());
      frame->GetTitleBar()->GetButtons()->SetBackgroundColor(GetDefaultFrameBackground());
      fMenuBar->AddFrames(frame->GetTitleBar()->GetWinIcon(),
                          frame->GetTitleBar()->GetButtons());
      fMenuBar->Layout();
   }

   SendMessage(fParent, MK_MSG(kC_MDI, kMDI_MAXIMIZE), frame->GetId(), 0);
   FrameMaximized(frame->GetId());

   Layout();
}

//______________________________________________________________________________
void TGMdiMainFrame::Restore(TGMdiFrame *mdiframe)
{
   // Restore size of MDI child window mdiframe.

   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);

   if (!frame) return;

   if (frame->IsMinimized() == kFALSE && frame->IsMaximized() == kFALSE) return;

   if (frame->IsMinimized()) {
      frame->SetMinimizedX(frame->GetX());
      frame->SetMinimizedY(frame->GetY());
      frame->Minimize(kFALSE);
      frame->GetTitleBar()->SetTitleBarColors(fForeCurrent,
                                          fBackCurrent,
                                          fFontCurrent);
   } else if (frame->IsMaximized()) {
      frame->SetDecorBorderWidth(TGMdiDecorFrame::kMdiBorderWidth);
      frame->MapSubwindows();

      if (fMenuBar) {
         fMenuBar->RemoveFrames(frame->GetTitleBar()->GetWinIcon(),
                                frame->GetTitleBar()->GetButtons());
         fMenuBar->Layout();
      }

      frame->GetTitleBar()->AddFrames(frame->GetTitleBar()->GetWinIcon(),
                                      frame->GetTitleBar()->GetButtons());
      frame->GetTitleBar()->SetTitleBarColors(fForeCurrent, fBackCurrent,
                                              fFontCurrent);
      frame->ShowFrame(frame->GetTitleBar());
   }
   frame->Minimize(kFALSE);
   frame->Maximize(kFALSE);
   frame->GetTitleBar()->LayoutButtons(frame->GetMdiButtons(), kFALSE, kFALSE);
   frame->MoveResize(frame->GetPreResizeX(), frame->GetPreResizeY(),
                     frame->GetPreResizeWidth(), frame->GetPreResizeHeight());
   SetCurrent(mdiframe);
   SendMessage(fParent, MK_MSG(kC_MDI, kMDI_RESTORE), frame->GetId(), 0);
   FrameRestored(frame->GetId());

   Layout();
}

//______________________________________________________________________________
void TGMdiMainFrame::Minimize(TGMdiFrame *mdiframe)
{
   // Minimize MDI child window mdiframe.

   Int_t x, y, w, h;
   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);

   if (!frame) return;

   if (frame->IsMinimized()) return;

   if (frame->IsMaximized()) Restore(mdiframe);

   frame->SetPreResizeX(frame->GetX());
   frame->SetPreResizeY(frame->GetY());
   frame->SetPreResizeWidth(frame->GetWidth());
   frame->SetPreResizeHeight(frame->GetHeight());

   h = frame->GetTitleBar()->GetDefaultHeight() + frame->GetBorderWidth();
   w = kMinimizedWidth * h + frame->GetBorderWidth();

   if (!frame->GetMinUserPlacement()) {

      x = 0;
      y = GetViewPort()->GetHeight() - h;

      while (1) {
         TGMdiFrameList *travel;
         Bool_t taken = kFALSE;

         // find an empty spot...
         for (travel = fChildren; travel; travel = travel->GetNext()) {
            if (travel->GetDecorFrame()->IsMinimized()) {
               TGPosition p(travel->GetDecorFrame()->GetX(),
                            travel->GetDecorFrame()->GetY());
               TGDimension s(travel->GetDecorFrame()->GetWidth(),
                             travel->GetDecorFrame()->GetHeight());
               if ((x <= p.fX + (Int_t) s.fWidth - 1) && (x + w - 1 >= p.fX) &&
                   (y <= p.fY + (Int_t) s.fHeight - 1) && (y + h - 1 >= p.fY)) {
                  taken = kTRUE;
                  break;
               }
            }
         }
         if (!taken) break;

         x += w;
         if (x + w > (Int_t)GetViewPort()->GetWidth()) {
            x = 0;
            y -= h;
         }
      }

      frame->SetMinimizedX(x);
      frame->SetMinimizedY(y);
   }

   frame->Minimize();

   frame->MoveResize(frame->GetMinimizedX(), frame->GetMinimizedY(), w, h);
   frame->LowerWindow();
   frame->GetTitleBar()->LayoutButtons(frame->GetMdiButtons(),
                                       frame->IsMinimized(),
                                       frame->IsMaximized());
   frame->Layout();

   SendMessage(fParent, MK_MSG(kC_MDI, kMDI_MINIMIZE), frame->GetId(), 0);
   FrameMinimized(frame->GetId());

   Layout();
}

//______________________________________________________________________________
Int_t TGMdiMainFrame::Close(TGMdiFrame *mdiframe)
{
   // Close MDI child window mdiframe.

   if (!mdiframe) return kFALSE;

   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);
   Restore(mdiframe);
   mdiframe->Emit("CloseWindow()");
   if (frame && mdiframe->TestBit(kNotDeleted) && !mdiframe->TestBit(TGMdiFrame::kDontCallClose))
      return frame->CloseWindow();
   return kTRUE;
}

//______________________________________________________________________________
void TGMdiMainFrame::FreeMove(TGMdiFrame *mdiframe)
{
   // Allow to move MDI child window mdiframe.

   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);
   if (!frame) return;

   Int_t x = frame->GetTitleBar()->GetWidth() / 2;
   Int_t y = frame->GetTitleBar()->GetHeight() - 1;

   gVirtualX->Warp(x, y, frame->GetTitleBar()->GetId());

   frame->GetTitleBar()->SetLeftButPressed();
   frame->GetTitleBar()->SetX0(x);
   frame->GetTitleBar()->SetY0(y);
   Cursor_t cursor = gVirtualX->CreateCursor(kMove);
   gVirtualX->SetCursor(frame->GetTitleBar()->GetId(), cursor);

   gVirtualX->GrabPointer(frame->GetTitleBar()->GetId(),
                          kButtonReleaseMask | kPointerMotionMask,
                          kNone, cursor, kTRUE, kFALSE);
}

//______________________________________________________________________________
void TGMdiMainFrame::FreeSize(TGMdiFrame *mdiframe)
{
   // Allow to resize MDI child window mdiframe.

   TGMdiDecorFrame *frame = GetDecorFrame(mdiframe);
   if (!frame) return;

   Int_t x = frame->GetLowerRightCR()->GetWidth() - 5;
   Int_t y = frame->GetLowerRightCR()->GetHeight() - 5;

   Int_t xroot, yroot;
   Window_t win;

   gVirtualX->TranslateCoordinates(frame->GetLowerRightCR()->GetId(),
              fClient->GetDefaultRoot()->GetId(), x, y, xroot, yroot, win);

   gVirtualX->Warp(x, y, frame->GetLowerRightCR()->GetId());

   Event_t event;

   event.fType = kButtonPress;
   event.fWindow = frame->GetLowerRightCR()->GetId();
   event.fCode = kButton1;
   event.fX = x;
   event.fY = y;
   event.fXRoot = xroot;
   event.fYRoot = yroot;

   Cursor_t cursor = gVirtualX->CreateCursor(kBottomRight);
   gVirtualX->SetCursor(frame->GetLowerRightCR()->GetId(), cursor);

   gVirtualX->GrabPointer(frame->GetLowerRightCR()->GetId(),
                           kButtonReleaseMask | kPointerMotionMask,
                           kNone, cursor, kTRUE, kFALSE);

   frame->GetLowerRightCR()->HandleButton(&event);
}

//______________________________________________________________________________
Int_t TGMdiMainFrame::ContextHelp(TGMdiFrame *mdiframe)
{
   // Calls Help() method of MDI child window mdiframe.

   if (mdiframe)
      return mdiframe->Help();
   else
      return kFALSE;
}

//______________________________________________________________________________
TGMdiFrame *TGMdiMainFrame::GetCurrent() const
{
   // Return pointer on current (active) MDI child window.

   if (fCurrent)
      return fCurrent->GetDecorFrame()->GetMdiFrame();
   else
      return 0;
}

//______________________________________________________________________________
TGMdiGeometry TGMdiMainFrame::GetWindowGeometry(TGMdiFrame *f) const
{
   // Get MDI geometry of MDI child window f.

   TGMdiGeometry geom;

   geom.fValueMask = 0;

   const TGMdiDecorFrame *frame = GetDecorFrame(f);
   if (frame) {
      Int_t th = frame->GetTitleBar()->GetDefaultHeight();
      Int_t bw = frame->GetBorderWidth();

      if (frame->IsMinimized() || frame->IsMaximized()) {
         geom.fDecoration = TGRectangle(frame->GetPreResizeX(),
                                        frame->GetPreResizeY(),
                                        (unsigned) frame->GetPreResizeWidth(),
                                        (unsigned) frame->GetPreResizeHeight());
      } else {
         geom.fDecoration = TGRectangle(frame->GetX(),
                                        frame->GetY(),
                                        (unsigned) frame->GetWidth(),
                                        (unsigned) frame->GetHeight());
      }
      geom.fValueMask |= kMdiDecorGeometry;

      geom.fClient = TGRectangle(geom.fDecoration.fX + bw,
                                 geom.fDecoration.fY + bw + th,
                                 (unsigned) (geom.fDecoration.fW - 2 * bw),
                                 (unsigned) (geom.fDecoration.fH - 2 * bw - th));
      geom.fValueMask |= kMdiClientGeometry;

      if (frame->GetMinUserPlacement()) {
         Int_t mh = th + 2 * bw;
         Int_t mw = kMinimizedWidth * mh;

         geom.fIcon = TGRectangle(frame->GetMinimizedX(),
                                  frame->GetMinimizedY(),
                                  (unsigned) mw,
                                  (unsigned) mh);
         geom.fValueMask |= kMdiIconGeometry;
      }

   }

   return geom;
}

//______________________________________________________________________________
void TGMdiMainFrame::ConfigureWindow(TGMdiFrame *f, TGMdiGeometry &geom)
{
   // Set MDI geometry for MDI child window f.

   TGMdiDecorFrame *frame = GetDecorFrame(f);
   if (frame) {
      if (geom.fValueMask & kMdiDecorGeometry) {
         if (frame->IsMinimized() || frame->IsMaximized()) {
            frame->SetPreResizeX(geom.fDecoration.fX);
            frame->SetPreResizeY(geom.fDecoration.fY);
            frame->SetPreResizeWidth(geom.fDecoration.fW);
            frame->SetPreResizeHeight(geom.fDecoration.fH);
         } else {
            frame->MoveResize(geom.fDecoration.fX, geom.fDecoration.fY,
                              geom.fDecoration.fW, geom.fDecoration.fH);
         }
      } else if (geom.fValueMask & kMdiClientGeometry) {

      }
      if (geom.fValueMask & kMdiIconGeometry) {
         frame->SetMinimizedX(geom.fIcon.fX);
         frame->SetMinimizedY(geom.fIcon.fY);
         frame->SetMinUserPlacement();
         if (frame->IsMinimized())
            frame->Move(frame->GetMinimizedX(), frame->GetMinimizedY());
      }
      Layout();
   }
}

//_____________________________________________________________________________
void TGMdiMainFrame::CloseAll()
{
   // Close all MDI child windows.

   TGMdiFrameList *tmp, *travel = fChildren;

   while (travel) {
      tmp = travel->GetNext();
      SetCurrent(travel);
      Close(GetCurrent());
      travel = tmp;
   }
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::IsMaximized(TGMdiFrame *f)
{
   // Check if MDI child window f is maximized;

   TGMdiDecorFrame *frame = GetDecorFrame(f);
   if (frame) return frame->IsMaximized();
   return kFALSE;
}

//______________________________________________________________________________
Bool_t TGMdiMainFrame::IsMinimized(TGMdiFrame *f)
{
   // Check if MDI child window f is minimized;

   TGMdiDecorFrame *frame = GetDecorFrame(f);
   if (frame) return frame->IsMinimized();
   return kFALSE;
}

//______________________________________________________________________________
TGMdiContainer::TGMdiContainer(const TGMdiMainFrame *p, Int_t w, Int_t h,
                               UInt_t options, ULong_t back) :
  TGFrame(p->GetViewPort(), w, h, options, back)
{
   // TGMdiContainer constructor.

   fMain = p;
   AddInput(kStructureNotifyMask);
}

//______________________________________________________________________________
TGDimension TGMdiContainer::GetDefaultSize() const
{
   // Return dimension of MDI container.

   TGRectangle rect = fMain->GetBBox();

   Int_t xpos = -fMain->GetViewPort()->GetHPos() - rect.LeftTop().fX;
   Int_t ypos = -fMain->GetViewPort()->GetVPos() - rect.LeftTop().fY;

   return TGDimension(TMath::Max(Int_t(xpos + fWidth), rect.RightBottom().fX + 1),
                      TMath::Max(Int_t(ypos + fHeight), rect.RightBottom().fY + 1));
}

//______________________________________________________________________________
Bool_t TGMdiContainer::HandleConfigureNotify(Event_t *event)
{
   // Handle configure notify events for MDI container.

   if (event->fWindow != fId) {
      TGRectangle rect = fMain->GetBBox();

      Int_t vw = fMain->GetViewPort()->GetWidth();
      Int_t vh = fMain->GetViewPort()->GetHeight();

      Int_t w = TMath::Max(vw, rect.RightBottom().fX + 1);
      Int_t h = TMath::Max(vh, rect.RightBottom().fY + 1);

      if ((w != (Int_t)fWidth) || (h != (Int_t)fHeight)) {
         ((TGMdiMainFrame*)fMain)->Layout();
         return kTRUE;
      }
   }
   return kFALSE;
}

//______________________________________________________________________________
void TGMdiMainFrame::SavePrimitive(ostream &out, Option_t *option /*= ""*/)
{
   // Save a MDI main frame as a C++ statement(s) on output stream out

   if (fBackground != GetDefaultFrameBackground()) SaveUserColor(out, option);

   out << endl << "   // MDI main frame" << endl;
   out << "   TGMdiMainFrame *";
   out << GetName() << " = new TGMdiMainFrame(" << fParent->GetName()
       << "," << GetMenu()->GetName() << "," << GetWidth() << "," << GetHeight();

   if (fBackground == GetDefaultFrameBackground()) {
      if (!GetOptions()) {
         out << ");" << endl;
      } else {
         out << "," << GetOptionString() <<");" << endl;
      }
   } else {
      out << "," << GetOptionString() << ",ucolor);" << endl;
   }
   if (option && strstr(option, "keep_names"))
      out << "   " << GetName() << "->SetName(\"" << GetName() << "\");" << endl;

   TGMdiFrameList *travel=fChildren;
   travel->SetCycleNext(travel);
   for (travel = fChildren; travel; travel = travel->GetNext()) {
      TGMdiFrame *mf = travel->GetDecorFrame()->GetMdiFrame();
      if (mf) mf->SavePrimitive(out, option);
   } 
   if (fArrangementMode) {
      out << "   " << GetName() << "->ArrangeFrames(";
      switch (fArrangementMode) {
      
         case kMdiTileHorizontal:
            out << "kMdiTileHorizontal);" << endl;
         break;

         case kMdiTileVertical:
            out << "kMdiTileVertical);" << endl;
         break;

         case kMdiCascade:
            out << "kMdiCascade);" << endl;
         break;
      }
   }
   if (fResizeMode != kMdiOpaque)
      out << "   " << GetName() << "->SetResizeMode(kMdiNonOpaque);" << endl;

   if (fCurrent)
      out << "   " << GetName() << "->SetCurrent(" << GetCurrent()->GetName() 
          << ");" << endl;
}


 TGMdiMainFrame.cxx:1
 TGMdiMainFrame.cxx:2
 TGMdiMainFrame.cxx:3
 TGMdiMainFrame.cxx:4
 TGMdiMainFrame.cxx:5
 TGMdiMainFrame.cxx:6
 TGMdiMainFrame.cxx:7
 TGMdiMainFrame.cxx:8
 TGMdiMainFrame.cxx:9
 TGMdiMainFrame.cxx:10
 TGMdiMainFrame.cxx:11
 TGMdiMainFrame.cxx:12
 TGMdiMainFrame.cxx:13
 TGMdiMainFrame.cxx:14
 TGMdiMainFrame.cxx:15
 TGMdiMainFrame.cxx:16
 TGMdiMainFrame.cxx:17
 TGMdiMainFrame.cxx:18
 TGMdiMainFrame.cxx:19
 TGMdiMainFrame.cxx:20
 TGMdiMainFrame.cxx:21
 TGMdiMainFrame.cxx:22
 TGMdiMainFrame.cxx:23
 TGMdiMainFrame.cxx:24
 TGMdiMainFrame.cxx:25
 TGMdiMainFrame.cxx:26
 TGMdiMainFrame.cxx:27
 TGMdiMainFrame.cxx:28
 TGMdiMainFrame.cxx:29
 TGMdiMainFrame.cxx:30
 TGMdiMainFrame.cxx:31
 TGMdiMainFrame.cxx:32
 TGMdiMainFrame.cxx:33
 TGMdiMainFrame.cxx:34
 TGMdiMainFrame.cxx:35
 TGMdiMainFrame.cxx:36
 TGMdiMainFrame.cxx:37
 TGMdiMainFrame.cxx:38
 TGMdiMainFrame.cxx:39
 TGMdiMainFrame.cxx:40
 TGMdiMainFrame.cxx:41
 TGMdiMainFrame.cxx:42
 TGMdiMainFrame.cxx:43
 TGMdiMainFrame.cxx:44
 TGMdiMainFrame.cxx:45
 TGMdiMainFrame.cxx:46
 TGMdiMainFrame.cxx:47
 TGMdiMainFrame.cxx:48
 TGMdiMainFrame.cxx:49
 TGMdiMainFrame.cxx:50
 TGMdiMainFrame.cxx:51
 TGMdiMainFrame.cxx:52
 TGMdiMainFrame.cxx:53
 TGMdiMainFrame.cxx:54
 TGMdiMainFrame.cxx:55
 TGMdiMainFrame.cxx:56
 TGMdiMainFrame.cxx:57
 TGMdiMainFrame.cxx:58
 TGMdiMainFrame.cxx:59
 TGMdiMainFrame.cxx:60
 TGMdiMainFrame.cxx:61
 TGMdiMainFrame.cxx:62
 TGMdiMainFrame.cxx:63
 TGMdiMainFrame.cxx:64
 TGMdiMainFrame.cxx:65
 TGMdiMainFrame.cxx:66
 TGMdiMainFrame.cxx:67
 TGMdiMainFrame.cxx:68
 TGMdiMainFrame.cxx:69
 TGMdiMainFrame.cxx:70
 TGMdiMainFrame.cxx:71
 TGMdiMainFrame.cxx:72
 TGMdiMainFrame.cxx:73
 TGMdiMainFrame.cxx:74
 TGMdiMainFrame.cxx:75
 TGMdiMainFrame.cxx:76
 TGMdiMainFrame.cxx:77
 TGMdiMainFrame.cxx:78
 TGMdiMainFrame.cxx:79
 TGMdiMainFrame.cxx:80
 TGMdiMainFrame.cxx:81
 TGMdiMainFrame.cxx:82
 TGMdiMainFrame.cxx:83
 TGMdiMainFrame.cxx:84
 TGMdiMainFrame.cxx:85
 TGMdiMainFrame.cxx:86
 TGMdiMainFrame.cxx:87
 TGMdiMainFrame.cxx:88
 TGMdiMainFrame.cxx:89
 TGMdiMainFrame.cxx:90
 TGMdiMainFrame.cxx:91
 TGMdiMainFrame.cxx:92
 TGMdiMainFrame.cxx:93
 TGMdiMainFrame.cxx:94
 TGMdiMainFrame.cxx:95
 TGMdiMainFrame.cxx:96
 TGMdiMainFrame.cxx:97
 TGMdiMainFrame.cxx:98
 TGMdiMainFrame.cxx:99
 TGMdiMainFrame.cxx:100
 TGMdiMainFrame.cxx:101
 TGMdiMainFrame.cxx:102
 TGMdiMainFrame.cxx:103
 TGMdiMainFrame.cxx:104
 TGMdiMainFrame.cxx:105
 TGMdiMainFrame.cxx:106
 TGMdiMainFrame.cxx:107
 TGMdiMainFrame.cxx:108
 TGMdiMainFrame.cxx:109
 TGMdiMainFrame.cxx:110
 TGMdiMainFrame.cxx:111
 TGMdiMainFrame.cxx:112
 TGMdiMainFrame.cxx:113
 TGMdiMainFrame.cxx:114
 TGMdiMainFrame.cxx:115
 TGMdiMainFrame.cxx:116
 TGMdiMainFrame.cxx:117
 TGMdiMainFrame.cxx:118
 TGMdiMainFrame.cxx:119
 TGMdiMainFrame.cxx:120
 TGMdiMainFrame.cxx:121
 TGMdiMainFrame.cxx:122
 TGMdiMainFrame.cxx:123
 TGMdiMainFrame.cxx:124
 TGMdiMainFrame.cxx:125
 TGMdiMainFrame.cxx:126
 TGMdiMainFrame.cxx:127
 TGMdiMainFrame.cxx:128
 TGMdiMainFrame.cxx:129
 TGMdiMainFrame.cxx:130
 TGMdiMainFrame.cxx:131
 TGMdiMainFrame.cxx:132
 TGMdiMainFrame.cxx:133
 TGMdiMainFrame.cxx:134
 TGMdiMainFrame.cxx:135
 TGMdiMainFrame.cxx:136
 TGMdiMainFrame.cxx:137
 TGMdiMainFrame.cxx:138
 TGMdiMainFrame.cxx:139
 TGMdiMainFrame.cxx:140
 TGMdiMainFrame.cxx:141
 TGMdiMainFrame.cxx:142
 TGMdiMainFrame.cxx:143
 TGMdiMainFrame.cxx:144
 TGMdiMainFrame.cxx:145
 TGMdiMainFrame.cxx:146
 TGMdiMainFrame.cxx:147
 TGMdiMainFrame.cxx:148
 TGMdiMainFrame.cxx:149
 TGMdiMainFrame.cxx:150
 TGMdiMainFrame.cxx:151
 TGMdiMainFrame.cxx:152
 TGMdiMainFrame.cxx:153
 TGMdiMainFrame.cxx:154
 TGMdiMainFrame.cxx:155
 TGMdiMainFrame.cxx:156
 TGMdiMainFrame.cxx:157
 TGMdiMainFrame.cxx:158
 TGMdiMainFrame.cxx:159
 TGMdiMainFrame.cxx:160
 TGMdiMainFrame.cxx:161
 TGMdiMainFrame.cxx:162
 TGMdiMainFrame.cxx:163
 TGMdiMainFrame.cxx:164
 TGMdiMainFrame.cxx:165
 TGMdiMainFrame.cxx:166
 TGMdiMainFrame.cxx:167
 TGMdiMainFrame.cxx:168
 TGMdiMainFrame.cxx:169
 TGMdiMainFrame.cxx:170
 TGMdiMainFrame.cxx:171
 TGMdiMainFrame.cxx:172
 TGMdiMainFrame.cxx:173
 TGMdiMainFrame.cxx:174
 TGMdiMainFrame.cxx:175
 TGMdiMainFrame.cxx:176
 TGMdiMainFrame.cxx:177
 TGMdiMainFrame.cxx:178
 TGMdiMainFrame.cxx:179
 TGMdiMainFrame.cxx:180
 TGMdiMainFrame.cxx:181
 TGMdiMainFrame.cxx:182
 TGMdiMainFrame.cxx:183
 TGMdiMainFrame.cxx:184
 TGMdiMainFrame.cxx:185
 TGMdiMainFrame.cxx:186
 TGMdiMainFrame.cxx:187
 TGMdiMainFrame.cxx:188
 TGMdiMainFrame.cxx:189
 TGMdiMainFrame.cxx:190
 TGMdiMainFrame.cxx:191
 TGMdiMainFrame.cxx:192
 TGMdiMainFrame.cxx:193
 TGMdiMainFrame.cxx:194
 TGMdiMainFrame.cxx:195
 TGMdiMainFrame.cxx:196
 TGMdiMainFrame.cxx:197
 TGMdiMainFrame.cxx:198
 TGMdiMainFrame.cxx:199
 TGMdiMainFrame.cxx:200
 TGMdiMainFrame.cxx:201
 TGMdiMainFrame.cxx:202
 TGMdiMainFrame.cxx:203
 TGMdiMainFrame.cxx:204
 TGMdiMainFrame.cxx:205
 TGMdiMainFrame.cxx:206
 TGMdiMainFrame.cxx:207
 TGMdiMainFrame.cxx:208
 TGMdiMainFrame.cxx:209
 TGMdiMainFrame.cxx:210
 TGMdiMainFrame.cxx:211
 TGMdiMainFrame.cxx:212
 TGMdiMainFrame.cxx:213
 TGMdiMainFrame.cxx:214
 TGMdiMainFrame.cxx:215
 TGMdiMainFrame.cxx:216
 TGMdiMainFrame.cxx:217
 TGMdiMainFrame.cxx:218
 TGMdiMainFrame.cxx:219
 TGMdiMainFrame.cxx:220
 TGMdiMainFrame.cxx:221
 TGMdiMainFrame.cxx:222
 TGMdiMainFrame.cxx:223
 TGMdiMainFrame.cxx:224
 TGMdiMainFrame.cxx:225
 TGMdiMainFrame.cxx:226
 TGMdiMainFrame.cxx:227
 TGMdiMainFrame.cxx:228
 TGMdiMainFrame.cxx:229
 TGMdiMainFrame.cxx:230
 TGMdiMainFrame.cxx:231
 TGMdiMainFrame.cxx:232
 TGMdiMainFrame.cxx:233
 TGMdiMainFrame.cxx:234
 TGMdiMainFrame.cxx:235
 TGMdiMainFrame.cxx:236
 TGMdiMainFrame.cxx:237
 TGMdiMainFrame.cxx:238
 TGMdiMainFrame.cxx:239
 TGMdiMainFrame.cxx:240
 TGMdiMainFrame.cxx:241
 TGMdiMainFrame.cxx:242
 TGMdiMainFrame.cxx:243
 TGMdiMainFrame.cxx:244
 TGMdiMainFrame.cxx:245
 TGMdiMainFrame.cxx:246
 TGMdiMainFrame.cxx:247
 TGMdiMainFrame.cxx:248
 TGMdiMainFrame.cxx:249
 TGMdiMainFrame.cxx:250
 TGMdiMainFrame.cxx:251
 TGMdiMainFrame.cxx:252
 TGMdiMainFrame.cxx:253
 TGMdiMainFrame.cxx:254
 TGMdiMainFrame.cxx:255
 TGMdiMainFrame.cxx:256
 TGMdiMainFrame.cxx:257
 TGMdiMainFrame.cxx:258
 TGMdiMainFrame.cxx:259
 TGMdiMainFrame.cxx:260
 TGMdiMainFrame.cxx:261
 TGMdiMainFrame.cxx:262
 TGMdiMainFrame.cxx:263
 TGMdiMainFrame.cxx:264
 TGMdiMainFrame.cxx:265
 TGMdiMainFrame.cxx:266
 TGMdiMainFrame.cxx:267
 TGMdiMainFrame.cxx:268
 TGMdiMainFrame.cxx:269
 TGMdiMainFrame.cxx:270
 TGMdiMainFrame.cxx:271
 TGMdiMainFrame.cxx:272
 TGMdiMainFrame.cxx:273
 TGMdiMainFrame.cxx:274
 TGMdiMainFrame.cxx:275
 TGMdiMainFrame.cxx:276
 TGMdiMainFrame.cxx:277
 TGMdiMainFrame.cxx:278
 TGMdiMainFrame.cxx:279
 TGMdiMainFrame.cxx:280
 TGMdiMainFrame.cxx:281
 TGMdiMainFrame.cxx:282
 TGMdiMainFrame.cxx:283
 TGMdiMainFrame.cxx:284
 TGMdiMainFrame.cxx:285
 TGMdiMainFrame.cxx:286
 TGMdiMainFrame.cxx:287
 TGMdiMainFrame.cxx:288
 TGMdiMainFrame.cxx:289
 TGMdiMainFrame.cxx:290
 TGMdiMainFrame.cxx:291
 TGMdiMainFrame.cxx:292
 TGMdiMainFrame.cxx:293
 TGMdiMainFrame.cxx:294
 TGMdiMainFrame.cxx:295
 TGMdiMainFrame.cxx:296
 TGMdiMainFrame.cxx:297
 TGMdiMainFrame.cxx:298
 TGMdiMainFrame.cxx:299
 TGMdiMainFrame.cxx:300
 TGMdiMainFrame.cxx:301
 TGMdiMainFrame.cxx:302
 TGMdiMainFrame.cxx:303
 TGMdiMainFrame.cxx:304
 TGMdiMainFrame.cxx:305
 TGMdiMainFrame.cxx:306
 TGMdiMainFrame.cxx:307
 TGMdiMainFrame.cxx:308
 TGMdiMainFrame.cxx:309
 TGMdiMainFrame.cxx:310
 TGMdiMainFrame.cxx:311
 TGMdiMainFrame.cxx:312
 TGMdiMainFrame.cxx:313
 TGMdiMainFrame.cxx:314
 TGMdiMainFrame.cxx:315
 TGMdiMainFrame.cxx:316
 TGMdiMainFrame.cxx:317
 TGMdiMainFrame.cxx:318
 TGMdiMainFrame.cxx:319
 TGMdiMainFrame.cxx:320
 TGMdiMainFrame.cxx:321
 TGMdiMainFrame.cxx:322
 TGMdiMainFrame.cxx:323
 TGMdiMainFrame.cxx:324
 TGMdiMainFrame.cxx:325
 TGMdiMainFrame.cxx:326
 TGMdiMainFrame.cxx:327
 TGMdiMainFrame.cxx:328
 TGMdiMainFrame.cxx:329
 TGMdiMainFrame.cxx:330
 TGMdiMainFrame.cxx:331
 TGMdiMainFrame.cxx:332
 TGMdiMainFrame.cxx:333
 TGMdiMainFrame.cxx:334
 TGMdiMainFrame.cxx:335
 TGMdiMainFrame.cxx:336
 TGMdiMainFrame.cxx:337
 TGMdiMainFrame.cxx:338
 TGMdiMainFrame.cxx:339
 TGMdiMainFrame.cxx:340
 TGMdiMainFrame.cxx:341
 TGMdiMainFrame.cxx:342
 TGMdiMainFrame.cxx:343
 TGMdiMainFrame.cxx:344
 TGMdiMainFrame.cxx:345
 TGMdiMainFrame.cxx:346
 TGMdiMainFrame.cxx:347
 TGMdiMainFrame.cxx:348
 TGMdiMainFrame.cxx:349
 TGMdiMainFrame.cxx:350
 TGMdiMainFrame.cxx:351
 TGMdiMainFrame.cxx:352
 TGMdiMainFrame.cxx:353
 TGMdiMainFrame.cxx:354
 TGMdiMainFrame.cxx:355
 TGMdiMainFrame.cxx:356
 TGMdiMainFrame.cxx:357
 TGMdiMainFrame.cxx:358
 TGMdiMainFrame.cxx:359
 TGMdiMainFrame.cxx:360
 TGMdiMainFrame.cxx:361
 TGMdiMainFrame.cxx:362
 TGMdiMainFrame.cxx:363
 TGMdiMainFrame.cxx:364
 TGMdiMainFrame.cxx:365
 TGMdiMainFrame.cxx:366
 TGMdiMainFrame.cxx:367
 TGMdiMainFrame.cxx:368
 TGMdiMainFrame.cxx:369
 TGMdiMainFrame.cxx:370
 TGMdiMainFrame.cxx:371
 TGMdiMainFrame.cxx:372
 TGMdiMainFrame.cxx:373
 TGMdiMainFrame.cxx:374
 TGMdiMainFrame.cxx:375
 TGMdiMainFrame.cxx:376
 TGMdiMainFrame.cxx:377
 TGMdiMainFrame.cxx:378
 TGMdiMainFrame.cxx:379
 TGMdiMainFrame.cxx:380
 TGMdiMainFrame.cxx:381
 TGMdiMainFrame.cxx:382
 TGMdiMainFrame.cxx:383
 TGMdiMainFrame.cxx:384
 TGMdiMainFrame.cxx:385
 TGMdiMainFrame.cxx:386
 TGMdiMainFrame.cxx:387
 TGMdiMainFrame.cxx:388
 TGMdiMainFrame.cxx:389
 TGMdiMainFrame.cxx:390
 TGMdiMainFrame.cxx:391
 TGMdiMainFrame.cxx:392
 TGMdiMainFrame.cxx:393
 TGMdiMainFrame.cxx:394
 TGMdiMainFrame.cxx:395
 TGMdiMainFrame.cxx:396
 TGMdiMainFrame.cxx:397
 TGMdiMainFrame.cxx:398
 TGMdiMainFrame.cxx:399
 TGMdiMainFrame.cxx:400
 TGMdiMainFrame.cxx:401
 TGMdiMainFrame.cxx:402
 TGMdiMainFrame.cxx:403
 TGMdiMainFrame.cxx:404
 TGMdiMainFrame.cxx:405
 TGMdiMainFrame.cxx:406
 TGMdiMainFrame.cxx:407
 TGMdiMainFrame.cxx:408
 TGMdiMainFrame.cxx:409
 TGMdiMainFrame.cxx:410
 TGMdiMainFrame.cxx:411
 TGMdiMainFrame.cxx:412
 TGMdiMainFrame.cxx:413
 TGMdiMainFrame.cxx:414
 TGMdiMainFrame.cxx:415
 TGMdiMainFrame.cxx:416
 TGMdiMainFrame.cxx:417
 TGMdiMainFrame.cxx:418
 TGMdiMainFrame.cxx:419
 TGMdiMainFrame.cxx:420
 TGMdiMainFrame.cxx:421
 TGMdiMainFrame.cxx:422
 TGMdiMainFrame.cxx:423
 TGMdiMainFrame.cxx:424
 TGMdiMainFrame.cxx:425
 TGMdiMainFrame.cxx:426
 TGMdiMainFrame.cxx:427
 TGMdiMainFrame.cxx:428
 TGMdiMainFrame.cxx:429
 TGMdiMainFrame.cxx:430
 TGMdiMainFrame.cxx:431
 TGMdiMainFrame.cxx:432
 TGMdiMainFrame.cxx:433
 TGMdiMainFrame.cxx:434
 TGMdiMainFrame.cxx:435
 TGMdiMainFrame.cxx:436
 TGMdiMainFrame.cxx:437
 TGMdiMainFrame.cxx:438
 TGMdiMainFrame.cxx:439
 TGMdiMainFrame.cxx:440
 TGMdiMainFrame.cxx:441
 TGMdiMainFrame.cxx:442
 TGMdiMainFrame.cxx:443
 TGMdiMainFrame.cxx:444
 TGMdiMainFrame.cxx:445
 TGMdiMainFrame.cxx:446
 TGMdiMainFrame.cxx:447
 TGMdiMainFrame.cxx:448
 TGMdiMainFrame.cxx:449
 TGMdiMainFrame.cxx:450
 TGMdiMainFrame.cxx:451
 TGMdiMainFrame.cxx:452
 TGMdiMainFrame.cxx:453
 TGMdiMainFrame.cxx:454
 TGMdiMainFrame.cxx:455
 TGMdiMainFrame.cxx:456
 TGMdiMainFrame.cxx:457
 TGMdiMainFrame.cxx:458
 TGMdiMainFrame.cxx:459
 TGMdiMainFrame.cxx:460
 TGMdiMainFrame.cxx:461
 TGMdiMainFrame.cxx:462
 TGMdiMainFrame.cxx:463
 TGMdiMainFrame.cxx:464
 TGMdiMainFrame.cxx:465
 TGMdiMainFrame.cxx:466
 TGMdiMainFrame.cxx:467
 TGMdiMainFrame.cxx:468
 TGMdiMainFrame.cxx:469
 TGMdiMainFrame.cxx:470
 TGMdiMainFrame.cxx:471
 TGMdiMainFrame.cxx:472
 TGMdiMainFrame.cxx:473
 TGMdiMainFrame.cxx:474
 TGMdiMainFrame.cxx:475
 TGMdiMainFrame.cxx:476
 TGMdiMainFrame.cxx:477
 TGMdiMainFrame.cxx:478
 TGMdiMainFrame.cxx:479
 TGMdiMainFrame.cxx:480
 TGMdiMainFrame.cxx:481
 TGMdiMainFrame.cxx:482
 TGMdiMainFrame.cxx:483
 TGMdiMainFrame.cxx:484
 TGMdiMainFrame.cxx:485
 TGMdiMainFrame.cxx:486
 TGMdiMainFrame.cxx:487
 TGMdiMainFrame.cxx:488
 TGMdiMainFrame.cxx:489
 TGMdiMainFrame.cxx:490
 TGMdiMainFrame.cxx:491
 TGMdiMainFrame.cxx:492
 TGMdiMainFrame.cxx:493
 TGMdiMainFrame.cxx:494
 TGMdiMainFrame.cxx:495
 TGMdiMainFrame.cxx:496
 TGMdiMainFrame.cxx:497
 TGMdiMainFrame.cxx:498
 TGMdiMainFrame.cxx:499
 TGMdiMainFrame.cxx:500
 TGMdiMainFrame.cxx:501
 TGMdiMainFrame.cxx:502
 TGMdiMainFrame.cxx:503
 TGMdiMainFrame.cxx:504
 TGMdiMainFrame.cxx:505
 TGMdiMainFrame.cxx:506
 TGMdiMainFrame.cxx:507
 TGMdiMainFrame.cxx:508
 TGMdiMainFrame.cxx:509
 TGMdiMainFrame.cxx:510
 TGMdiMainFrame.cxx:511
 TGMdiMainFrame.cxx:512
 TGMdiMainFrame.cxx:513
 TGMdiMainFrame.cxx:514
 TGMdiMainFrame.cxx:515
 TGMdiMainFrame.cxx:516
 TGMdiMainFrame.cxx:517
 TGMdiMainFrame.cxx:518
 TGMdiMainFrame.cxx:519
 TGMdiMainFrame.cxx:520
 TGMdiMainFrame.cxx:521
 TGMdiMainFrame.cxx:522
 TGMdiMainFrame.cxx:523
 TGMdiMainFrame.cxx:524
 TGMdiMainFrame.cxx:525
 TGMdiMainFrame.cxx:526
 TGMdiMainFrame.cxx:527
 TGMdiMainFrame.cxx:528
 TGMdiMainFrame.cxx:529
 TGMdiMainFrame.cxx:530
 TGMdiMainFrame.cxx:531
 TGMdiMainFrame.cxx:532
 TGMdiMainFrame.cxx:533
 TGMdiMainFrame.cxx:534
 TGMdiMainFrame.cxx:535
 TGMdiMainFrame.cxx:536
 TGMdiMainFrame.cxx:537
 TGMdiMainFrame.cxx:538
 TGMdiMainFrame.cxx:539
 TGMdiMainFrame.cxx:540
 TGMdiMainFrame.cxx:541
 TGMdiMainFrame.cxx:542
 TGMdiMainFrame.cxx:543
 TGMdiMainFrame.cxx:544
 TGMdiMainFrame.cxx:545
 TGMdiMainFrame.cxx:546
 TGMdiMainFrame.cxx:547
 TGMdiMainFrame.cxx:548
 TGMdiMainFrame.cxx:549
 TGMdiMainFrame.cxx:550
 TGMdiMainFrame.cxx:551
 TGMdiMainFrame.cxx:552
 TGMdiMainFrame.cxx:553
 TGMdiMainFrame.cxx:554
 TGMdiMainFrame.cxx:555
 TGMdiMainFrame.cxx:556
 TGMdiMainFrame.cxx:557
 TGMdiMainFrame.cxx:558
 TGMdiMainFrame.cxx:559
 TGMdiMainFrame.cxx:560
 TGMdiMainFrame.cxx:561
 TGMdiMainFrame.cxx:562
 TGMdiMainFrame.cxx:563
 TGMdiMainFrame.cxx:564
 TGMdiMainFrame.cxx:565
 TGMdiMainFrame.cxx:566
 TGMdiMainFrame.cxx:567
 TGMdiMainFrame.cxx:568
 TGMdiMainFrame.cxx:569
 TGMdiMainFrame.cxx:570
 TGMdiMainFrame.cxx:571
 TGMdiMainFrame.cxx:572
 TGMdiMainFrame.cxx:573
 TGMdiMainFrame.cxx:574
 TGMdiMainFrame.cxx:575
 TGMdiMainFrame.cxx:576
 TGMdiMainFrame.cxx:577
 TGMdiMainFrame.cxx:578
 TGMdiMainFrame.cxx:579
 TGMdiMainFrame.cxx:580
 TGMdiMainFrame.cxx:581
 TGMdiMainFrame.cxx:582
 TGMdiMainFrame.cxx:583
 TGMdiMainFrame.cxx:584
 TGMdiMainFrame.cxx:585
 TGMdiMainFrame.cxx:586
 TGMdiMainFrame.cxx:587
 TGMdiMainFrame.cxx:588
 TGMdiMainFrame.cxx:589
 TGMdiMainFrame.cxx:590
 TGMdiMainFrame.cxx:591
 TGMdiMainFrame.cxx:592
 TGMdiMainFrame.cxx:593
 TGMdiMainFrame.cxx:594
 TGMdiMainFrame.cxx:595
 TGMdiMainFrame.cxx:596
 TGMdiMainFrame.cxx:597
 TGMdiMainFrame.cxx:598
 TGMdiMainFrame.cxx:599
 TGMdiMainFrame.cxx:600
 TGMdiMainFrame.cxx:601
 TGMdiMainFrame.cxx:602
 TGMdiMainFrame.cxx:603
 TGMdiMainFrame.cxx:604
 TGMdiMainFrame.cxx:605
 TGMdiMainFrame.cxx:606
 TGMdiMainFrame.cxx:607
 TGMdiMainFrame.cxx:608
 TGMdiMainFrame.cxx:609
 TGMdiMainFrame.cxx:610
 TGMdiMainFrame.cxx:611
 TGMdiMainFrame.cxx:612
 TGMdiMainFrame.cxx:613
 TGMdiMainFrame.cxx:614
 TGMdiMainFrame.cxx:615
 TGMdiMainFrame.cxx:616
 TGMdiMainFrame.cxx:617
 TGMdiMainFrame.cxx:618
 TGMdiMainFrame.cxx:619
 TGMdiMainFrame.cxx:620
 TGMdiMainFrame.cxx:621
 TGMdiMainFrame.cxx:622
 TGMdiMainFrame.cxx:623
 TGMdiMainFrame.cxx:624
 TGMdiMainFrame.cxx:625
 TGMdiMainFrame.cxx:626
 TGMdiMainFrame.cxx:627
 TGMdiMainFrame.cxx:628
 TGMdiMainFrame.cxx:629
 TGMdiMainFrame.cxx:630
 TGMdiMainFrame.cxx:631
 TGMdiMainFrame.cxx:632
 TGMdiMainFrame.cxx:633
 TGMdiMainFrame.cxx:634
 TGMdiMainFrame.cxx:635
 TGMdiMainFrame.cxx:636
 TGMdiMainFrame.cxx:637
 TGMdiMainFrame.cxx:638
 TGMdiMainFrame.cxx:639
 TGMdiMainFrame.cxx:640
 TGMdiMainFrame.cxx:641
 TGMdiMainFrame.cxx:642
 TGMdiMainFrame.cxx:643
 TGMdiMainFrame.cxx:644
 TGMdiMainFrame.cxx:645
 TGMdiMainFrame.cxx:646
 TGMdiMainFrame.cxx:647
 TGMdiMainFrame.cxx:648
 TGMdiMainFrame.cxx:649
 TGMdiMainFrame.cxx:650
 TGMdiMainFrame.cxx:651
 TGMdiMainFrame.cxx:652
 TGMdiMainFrame.cxx:653
 TGMdiMainFrame.cxx:654
 TGMdiMainFrame.cxx:655
 TGMdiMainFrame.cxx:656
 TGMdiMainFrame.cxx:657
 TGMdiMainFrame.cxx:658
 TGMdiMainFrame.cxx:659
 TGMdiMainFrame.cxx:660
 TGMdiMainFrame.cxx:661
 TGMdiMainFrame.cxx:662
 TGMdiMainFrame.cxx:663
 TGMdiMainFrame.cxx:664
 TGMdiMainFrame.cxx:665
 TGMdiMainFrame.cxx:666
 TGMdiMainFrame.cxx:667
 TGMdiMainFrame.cxx:668
 TGMdiMainFrame.cxx:669
 TGMdiMainFrame.cxx:670
 TGMdiMainFrame.cxx:671
 TGMdiMainFrame.cxx:672
 TGMdiMainFrame.cxx:673
 TGMdiMainFrame.cxx:674
 TGMdiMainFrame.cxx:675
 TGMdiMainFrame.cxx:676
 TGMdiMainFrame.cxx:677
 TGMdiMainFrame.cxx:678
 TGMdiMainFrame.cxx:679
 TGMdiMainFrame.cxx:680
 TGMdiMainFrame.cxx:681
 TGMdiMainFrame.cxx:682
 TGMdiMainFrame.cxx:683
 TGMdiMainFrame.cxx:684
 TGMdiMainFrame.cxx:685
 TGMdiMainFrame.cxx:686
 TGMdiMainFrame.cxx:687
 TGMdiMainFrame.cxx:688
 TGMdiMainFrame.cxx:689
 TGMdiMainFrame.cxx:690
 TGMdiMainFrame.cxx:691
 TGMdiMainFrame.cxx:692
 TGMdiMainFrame.cxx:693
 TGMdiMainFrame.cxx:694
 TGMdiMainFrame.cxx:695
 TGMdiMainFrame.cxx:696
 TGMdiMainFrame.cxx:697
 TGMdiMainFrame.cxx:698
 TGMdiMainFrame.cxx:699
 TGMdiMainFrame.cxx:700
 TGMdiMainFrame.cxx:701
 TGMdiMainFrame.cxx:702
 TGMdiMainFrame.cxx:703
 TGMdiMainFrame.cxx:704
 TGMdiMainFrame.cxx:705
 TGMdiMainFrame.cxx:706
 TGMdiMainFrame.cxx:707
 TGMdiMainFrame.cxx:708
 TGMdiMainFrame.cxx:709
 TGMdiMainFrame.cxx:710
 TGMdiMainFrame.cxx:711
 TGMdiMainFrame.cxx:712
 TGMdiMainFrame.cxx:713
 TGMdiMainFrame.cxx:714
 TGMdiMainFrame.cxx:715
 TGMdiMainFrame.cxx:716
 TGMdiMainFrame.cxx:717
 TGMdiMainFrame.cxx:718
 TGMdiMainFrame.cxx:719
 TGMdiMainFrame.cxx:720
 TGMdiMainFrame.cxx:721
 TGMdiMainFrame.cxx:722
 TGMdiMainFrame.cxx:723
 TGMdiMainFrame.cxx:724
 TGMdiMainFrame.cxx:725
 TGMdiMainFrame.cxx:726
 TGMdiMainFrame.cxx:727
 TGMdiMainFrame.cxx:728
 TGMdiMainFrame.cxx:729
 TGMdiMainFrame.cxx:730
 TGMdiMainFrame.cxx:731
 TGMdiMainFrame.cxx:732
 TGMdiMainFrame.cxx:733
 TGMdiMainFrame.cxx:734
 TGMdiMainFrame.cxx:735
 TGMdiMainFrame.cxx:736
 TGMdiMainFrame.cxx:737
 TGMdiMainFrame.cxx:738
 TGMdiMainFrame.cxx:739
 TGMdiMainFrame.cxx:740
 TGMdiMainFrame.cxx:741
 TGMdiMainFrame.cxx:742
 TGMdiMainFrame.cxx:743
 TGMdiMainFrame.cxx:744
 TGMdiMainFrame.cxx:745
 TGMdiMainFrame.cxx:746
 TGMdiMainFrame.cxx:747
 TGMdiMainFrame.cxx:748
 TGMdiMainFrame.cxx:749
 TGMdiMainFrame.cxx:750
 TGMdiMainFrame.cxx:751
 TGMdiMainFrame.cxx:752
 TGMdiMainFrame.cxx:753
 TGMdiMainFrame.cxx:754
 TGMdiMainFrame.cxx:755
 TGMdiMainFrame.cxx:756
 TGMdiMainFrame.cxx:757
 TGMdiMainFrame.cxx:758
 TGMdiMainFrame.cxx:759
 TGMdiMainFrame.cxx:760
 TGMdiMainFrame.cxx:761
 TGMdiMainFrame.cxx:762
 TGMdiMainFrame.cxx:763
 TGMdiMainFrame.cxx:764
 TGMdiMainFrame.cxx:765
 TGMdiMainFrame.cxx:766
 TGMdiMainFrame.cxx:767
 TGMdiMainFrame.cxx:768
 TGMdiMainFrame.cxx:769
 TGMdiMainFrame.cxx:770
 TGMdiMainFrame.cxx:771
 TGMdiMainFrame.cxx:772
 TGMdiMainFrame.cxx:773
 TGMdiMainFrame.cxx:774
 TGMdiMainFrame.cxx:775
 TGMdiMainFrame.cxx:776
 TGMdiMainFrame.cxx:777
 TGMdiMainFrame.cxx:778
 TGMdiMainFrame.cxx:779
 TGMdiMainFrame.cxx:780
 TGMdiMainFrame.cxx:781
 TGMdiMainFrame.cxx:782
 TGMdiMainFrame.cxx:783
 TGMdiMainFrame.cxx:784
 TGMdiMainFrame.cxx:785
 TGMdiMainFrame.cxx:786
 TGMdiMainFrame.cxx:787
 TGMdiMainFrame.cxx:788
 TGMdiMainFrame.cxx:789
 TGMdiMainFrame.cxx:790
 TGMdiMainFrame.cxx:791
 TGMdiMainFrame.cxx:792
 TGMdiMainFrame.cxx:793
 TGMdiMainFrame.cxx:794
 TGMdiMainFrame.cxx:795
 TGMdiMainFrame.cxx:796
 TGMdiMainFrame.cxx:797
 TGMdiMainFrame.cxx:798
 TGMdiMainFrame.cxx:799
 TGMdiMainFrame.cxx:800
 TGMdiMainFrame.cxx:801
 TGMdiMainFrame.cxx:802
 TGMdiMainFrame.cxx:803
 TGMdiMainFrame.cxx:804
 TGMdiMainFrame.cxx:805
 TGMdiMainFrame.cxx:806
 TGMdiMainFrame.cxx:807
 TGMdiMainFrame.cxx:808
 TGMdiMainFrame.cxx:809
 TGMdiMainFrame.cxx:810
 TGMdiMainFrame.cxx:811
 TGMdiMainFrame.cxx:812
 TGMdiMainFrame.cxx:813
 TGMdiMainFrame.cxx:814
 TGMdiMainFrame.cxx:815
 TGMdiMainFrame.cxx:816
 TGMdiMainFrame.cxx:817
 TGMdiMainFrame.cxx:818
 TGMdiMainFrame.cxx:819
 TGMdiMainFrame.cxx:820
 TGMdiMainFrame.cxx:821
 TGMdiMainFrame.cxx:822
 TGMdiMainFrame.cxx:823
 TGMdiMainFrame.cxx:824
 TGMdiMainFrame.cxx:825
 TGMdiMainFrame.cxx:826
 TGMdiMainFrame.cxx:827
 TGMdiMainFrame.cxx:828
 TGMdiMainFrame.cxx:829
 TGMdiMainFrame.cxx:830
 TGMdiMainFrame.cxx:831
 TGMdiMainFrame.cxx:832
 TGMdiMainFrame.cxx:833
 TGMdiMainFrame.cxx:834
 TGMdiMainFrame.cxx:835
 TGMdiMainFrame.cxx:836
 TGMdiMainFrame.cxx:837
 TGMdiMainFrame.cxx:838
 TGMdiMainFrame.cxx:839
 TGMdiMainFrame.cxx:840
 TGMdiMainFrame.cxx:841
 TGMdiMainFrame.cxx:842
 TGMdiMainFrame.cxx:843
 TGMdiMainFrame.cxx:844
 TGMdiMainFrame.cxx:845
 TGMdiMainFrame.cxx:846
 TGMdiMainFrame.cxx:847
 TGMdiMainFrame.cxx:848
 TGMdiMainFrame.cxx:849
 TGMdiMainFrame.cxx:850
 TGMdiMainFrame.cxx:851
 TGMdiMainFrame.cxx:852
 TGMdiMainFrame.cxx:853
 TGMdiMainFrame.cxx:854
 TGMdiMainFrame.cxx:855
 TGMdiMainFrame.cxx:856
 TGMdiMainFrame.cxx:857
 TGMdiMainFrame.cxx:858
 TGMdiMainFrame.cxx:859
 TGMdiMainFrame.cxx:860
 TGMdiMainFrame.cxx:861
 TGMdiMainFrame.cxx:862
 TGMdiMainFrame.cxx:863
 TGMdiMainFrame.cxx:864
 TGMdiMainFrame.cxx:865
 TGMdiMainFrame.cxx:866
 TGMdiMainFrame.cxx:867
 TGMdiMainFrame.cxx:868
 TGMdiMainFrame.cxx:869
 TGMdiMainFrame.cxx:870
 TGMdiMainFrame.cxx:871
 TGMdiMainFrame.cxx:872
 TGMdiMainFrame.cxx:873
 TGMdiMainFrame.cxx:874
 TGMdiMainFrame.cxx:875
 TGMdiMainFrame.cxx:876
 TGMdiMainFrame.cxx:877
 TGMdiMainFrame.cxx:878
 TGMdiMainFrame.cxx:879
 TGMdiMainFrame.cxx:880
 TGMdiMainFrame.cxx:881
 TGMdiMainFrame.cxx:882
 TGMdiMainFrame.cxx:883
 TGMdiMainFrame.cxx:884
 TGMdiMainFrame.cxx:885
 TGMdiMainFrame.cxx:886
 TGMdiMainFrame.cxx:887
 TGMdiMainFrame.cxx:888
 TGMdiMainFrame.cxx:889
 TGMdiMainFrame.cxx:890
 TGMdiMainFrame.cxx:891
 TGMdiMainFrame.cxx:892
 TGMdiMainFrame.cxx:893
 TGMdiMainFrame.cxx:894
 TGMdiMainFrame.cxx:895
 TGMdiMainFrame.cxx:896
 TGMdiMainFrame.cxx:897
 TGMdiMainFrame.cxx:898
 TGMdiMainFrame.cxx:899
 TGMdiMainFrame.cxx:900
 TGMdiMainFrame.cxx:901
 TGMdiMainFrame.cxx:902
 TGMdiMainFrame.cxx:903
 TGMdiMainFrame.cxx:904
 TGMdiMainFrame.cxx:905
 TGMdiMainFrame.cxx:906
 TGMdiMainFrame.cxx:907
 TGMdiMainFrame.cxx:908
 TGMdiMainFrame.cxx:909
 TGMdiMainFrame.cxx:910
 TGMdiMainFrame.cxx:911
 TGMdiMainFrame.cxx:912
 TGMdiMainFrame.cxx:913
 TGMdiMainFrame.cxx:914
 TGMdiMainFrame.cxx:915
 TGMdiMainFrame.cxx:916
 TGMdiMainFrame.cxx:917
 TGMdiMainFrame.cxx:918
 TGMdiMainFrame.cxx:919
 TGMdiMainFrame.cxx:920
 TGMdiMainFrame.cxx:921
 TGMdiMainFrame.cxx:922
 TGMdiMainFrame.cxx:923
 TGMdiMainFrame.cxx:924
 TGMdiMainFrame.cxx:925
 TGMdiMainFrame.cxx:926
 TGMdiMainFrame.cxx:927
 TGMdiMainFrame.cxx:928
 TGMdiMainFrame.cxx:929
 TGMdiMainFrame.cxx:930
 TGMdiMainFrame.cxx:931
 TGMdiMainFrame.cxx:932
 TGMdiMainFrame.cxx:933
 TGMdiMainFrame.cxx:934
 TGMdiMainFrame.cxx:935
 TGMdiMainFrame.cxx:936
 TGMdiMainFrame.cxx:937
 TGMdiMainFrame.cxx:938
 TGMdiMainFrame.cxx:939
 TGMdiMainFrame.cxx:940
 TGMdiMainFrame.cxx:941
 TGMdiMainFrame.cxx:942
 TGMdiMainFrame.cxx:943
 TGMdiMainFrame.cxx:944
 TGMdiMainFrame.cxx:945
 TGMdiMainFrame.cxx:946
 TGMdiMainFrame.cxx:947
 TGMdiMainFrame.cxx:948
 TGMdiMainFrame.cxx:949
 TGMdiMainFrame.cxx:950
 TGMdiMainFrame.cxx:951
 TGMdiMainFrame.cxx:952
 TGMdiMainFrame.cxx:953
 TGMdiMainFrame.cxx:954
 TGMdiMainFrame.cxx:955
 TGMdiMainFrame.cxx:956
 TGMdiMainFrame.cxx:957
 TGMdiMainFrame.cxx:958
 TGMdiMainFrame.cxx:959
 TGMdiMainFrame.cxx:960
 TGMdiMainFrame.cxx:961
 TGMdiMainFrame.cxx:962
 TGMdiMainFrame.cxx:963
 TGMdiMainFrame.cxx:964
 TGMdiMainFrame.cxx:965
 TGMdiMainFrame.cxx:966
 TGMdiMainFrame.cxx:967
 TGMdiMainFrame.cxx:968
 TGMdiMainFrame.cxx:969
 TGMdiMainFrame.cxx:970
 TGMdiMainFrame.cxx:971
 TGMdiMainFrame.cxx:972
 TGMdiMainFrame.cxx:973
 TGMdiMainFrame.cxx:974
 TGMdiMainFrame.cxx:975
 TGMdiMainFrame.cxx:976
 TGMdiMainFrame.cxx:977
 TGMdiMainFrame.cxx:978
 TGMdiMainFrame.cxx:979
 TGMdiMainFrame.cxx:980
 TGMdiMainFrame.cxx:981
 TGMdiMainFrame.cxx:982
 TGMdiMainFrame.cxx:983
 TGMdiMainFrame.cxx:984
 TGMdiMainFrame.cxx:985
 TGMdiMainFrame.cxx:986
 TGMdiMainFrame.cxx:987
 TGMdiMainFrame.cxx:988
 TGMdiMainFrame.cxx:989
 TGMdiMainFrame.cxx:990
 TGMdiMainFrame.cxx:991
 TGMdiMainFrame.cxx:992
 TGMdiMainFrame.cxx:993
 TGMdiMainFrame.cxx:994
 TGMdiMainFrame.cxx:995
 TGMdiMainFrame.cxx:996
 TGMdiMainFrame.cxx:997
 TGMdiMainFrame.cxx:998
 TGMdiMainFrame.cxx:999
 TGMdiMainFrame.cxx:1000
 TGMdiMainFrame.cxx:1001
 TGMdiMainFrame.cxx:1002
 TGMdiMainFrame.cxx:1003
 TGMdiMainFrame.cxx:1004
 TGMdiMainFrame.cxx:1005
 TGMdiMainFrame.cxx:1006
 TGMdiMainFrame.cxx:1007
 TGMdiMainFrame.cxx:1008
 TGMdiMainFrame.cxx:1009
 TGMdiMainFrame.cxx:1010
 TGMdiMainFrame.cxx:1011
 TGMdiMainFrame.cxx:1012
 TGMdiMainFrame.cxx:1013
 TGMdiMainFrame.cxx:1014
 TGMdiMainFrame.cxx:1015
 TGMdiMainFrame.cxx:1016
 TGMdiMainFrame.cxx:1017
 TGMdiMainFrame.cxx:1018
 TGMdiMainFrame.cxx:1019
 TGMdiMainFrame.cxx:1020
 TGMdiMainFrame.cxx:1021
 TGMdiMainFrame.cxx:1022
 TGMdiMainFrame.cxx:1023
 TGMdiMainFrame.cxx:1024
 TGMdiMainFrame.cxx:1025
 TGMdiMainFrame.cxx:1026
 TGMdiMainFrame.cxx:1027
 TGMdiMainFrame.cxx:1028
 TGMdiMainFrame.cxx:1029
 TGMdiMainFrame.cxx:1030
 TGMdiMainFrame.cxx:1031
 TGMdiMainFrame.cxx:1032
 TGMdiMainFrame.cxx:1033
 TGMdiMainFrame.cxx:1034
 TGMdiMainFrame.cxx:1035
 TGMdiMainFrame.cxx:1036
 TGMdiMainFrame.cxx:1037
 TGMdiMainFrame.cxx:1038
 TGMdiMainFrame.cxx:1039
 TGMdiMainFrame.cxx:1040
 TGMdiMainFrame.cxx:1041
 TGMdiMainFrame.cxx:1042
 TGMdiMainFrame.cxx:1043
 TGMdiMainFrame.cxx:1044
 TGMdiMainFrame.cxx:1045
 TGMdiMainFrame.cxx:1046
 TGMdiMainFrame.cxx:1047
 TGMdiMainFrame.cxx:1048
 TGMdiMainFrame.cxx:1049
 TGMdiMainFrame.cxx:1050
 TGMdiMainFrame.cxx:1051
 TGMdiMainFrame.cxx:1052
 TGMdiMainFrame.cxx:1053
 TGMdiMainFrame.cxx:1054
 TGMdiMainFrame.cxx:1055
 TGMdiMainFrame.cxx:1056
 TGMdiMainFrame.cxx:1057
 TGMdiMainFrame.cxx:1058
 TGMdiMainFrame.cxx:1059
 TGMdiMainFrame.cxx:1060
 TGMdiMainFrame.cxx:1061
 TGMdiMainFrame.cxx:1062
 TGMdiMainFrame.cxx:1063
 TGMdiMainFrame.cxx:1064
 TGMdiMainFrame.cxx:1065
 TGMdiMainFrame.cxx:1066
 TGMdiMainFrame.cxx:1067
 TGMdiMainFrame.cxx:1068
 TGMdiMainFrame.cxx:1069
 TGMdiMainFrame.cxx:1070
 TGMdiMainFrame.cxx:1071
 TGMdiMainFrame.cxx:1072
 TGMdiMainFrame.cxx:1073
 TGMdiMainFrame.cxx:1074
 TGMdiMainFrame.cxx:1075
 TGMdiMainFrame.cxx:1076
 TGMdiMainFrame.cxx:1077
 TGMdiMainFrame.cxx:1078
 TGMdiMainFrame.cxx:1079
 TGMdiMainFrame.cxx:1080
 TGMdiMainFrame.cxx:1081
 TGMdiMainFrame.cxx:1082
 TGMdiMainFrame.cxx:1083
 TGMdiMainFrame.cxx:1084
 TGMdiMainFrame.cxx:1085
 TGMdiMainFrame.cxx:1086
 TGMdiMainFrame.cxx:1087
 TGMdiMainFrame.cxx:1088
 TGMdiMainFrame.cxx:1089
 TGMdiMainFrame.cxx:1090
 TGMdiMainFrame.cxx:1091
 TGMdiMainFrame.cxx:1092
 TGMdiMainFrame.cxx:1093
 TGMdiMainFrame.cxx:1094
 TGMdiMainFrame.cxx:1095
 TGMdiMainFrame.cxx:1096
 TGMdiMainFrame.cxx:1097
 TGMdiMainFrame.cxx:1098
 TGMdiMainFrame.cxx:1099
 TGMdiMainFrame.cxx:1100
 TGMdiMainFrame.cxx:1101
 TGMdiMainFrame.cxx:1102
 TGMdiMainFrame.cxx:1103
 TGMdiMainFrame.cxx:1104
 TGMdiMainFrame.cxx:1105
 TGMdiMainFrame.cxx:1106
 TGMdiMainFrame.cxx:1107
 TGMdiMainFrame.cxx:1108
 TGMdiMainFrame.cxx:1109
 TGMdiMainFrame.cxx:1110
 TGMdiMainFrame.cxx:1111
 TGMdiMainFrame.cxx:1112
 TGMdiMainFrame.cxx:1113
 TGMdiMainFrame.cxx:1114
 TGMdiMainFrame.cxx:1115
 TGMdiMainFrame.cxx:1116
 TGMdiMainFrame.cxx:1117
 TGMdiMainFrame.cxx:1118
 TGMdiMainFrame.cxx:1119
 TGMdiMainFrame.cxx:1120
 TGMdiMainFrame.cxx:1121
 TGMdiMainFrame.cxx:1122
 TGMdiMainFrame.cxx:1123
 TGMdiMainFrame.cxx:1124
 TGMdiMainFrame.cxx:1125
 TGMdiMainFrame.cxx:1126
 TGMdiMainFrame.cxx:1127
 TGMdiMainFrame.cxx:1128
 TGMdiMainFrame.cxx:1129
 TGMdiMainFrame.cxx:1130
 TGMdiMainFrame.cxx:1131
 TGMdiMainFrame.cxx:1132
 TGMdiMainFrame.cxx:1133
 TGMdiMainFrame.cxx:1134
 TGMdiMainFrame.cxx:1135
 TGMdiMainFrame.cxx:1136
 TGMdiMainFrame.cxx:1137
 TGMdiMainFrame.cxx:1138
 TGMdiMainFrame.cxx:1139
 TGMdiMainFrame.cxx:1140
 TGMdiMainFrame.cxx:1141
 TGMdiMainFrame.cxx:1142
 TGMdiMainFrame.cxx:1143
 TGMdiMainFrame.cxx:1144
 TGMdiMainFrame.cxx:1145
 TGMdiMainFrame.cxx:1146
 TGMdiMainFrame.cxx:1147
 TGMdiMainFrame.cxx:1148
 TGMdiMainFrame.cxx:1149
 TGMdiMainFrame.cxx:1150
 TGMdiMainFrame.cxx:1151
 TGMdiMainFrame.cxx:1152
 TGMdiMainFrame.cxx:1153
 TGMdiMainFrame.cxx:1154
 TGMdiMainFrame.cxx:1155
 TGMdiMainFrame.cxx:1156
 TGMdiMainFrame.cxx:1157
 TGMdiMainFrame.cxx:1158
 TGMdiMainFrame.cxx:1159
 TGMdiMainFrame.cxx:1160
 TGMdiMainFrame.cxx:1161
 TGMdiMainFrame.cxx:1162
 TGMdiMainFrame.cxx:1163
 TGMdiMainFrame.cxx:1164
 TGMdiMainFrame.cxx:1165
 TGMdiMainFrame.cxx:1166
 TGMdiMainFrame.cxx:1167
 TGMdiMainFrame.cxx:1168
 TGMdiMainFrame.cxx:1169
 TGMdiMainFrame.cxx:1170
 TGMdiMainFrame.cxx:1171
 TGMdiMainFrame.cxx:1172
 TGMdiMainFrame.cxx:1173
 TGMdiMainFrame.cxx:1174
 TGMdiMainFrame.cxx:1175
 TGMdiMainFrame.cxx:1176
 TGMdiMainFrame.cxx:1177
 TGMdiMainFrame.cxx:1178
 TGMdiMainFrame.cxx:1179
 TGMdiMainFrame.cxx:1180
 TGMdiMainFrame.cxx:1181
 TGMdiMainFrame.cxx:1182
 TGMdiMainFrame.cxx:1183
 TGMdiMainFrame.cxx:1184
 TGMdiMainFrame.cxx:1185
 TGMdiMainFrame.cxx:1186
 TGMdiMainFrame.cxx:1187
 TGMdiMainFrame.cxx:1188
 TGMdiMainFrame.cxx:1189
 TGMdiMainFrame.cxx:1190
 TGMdiMainFrame.cxx:1191
 TGMdiMainFrame.cxx:1192
 TGMdiMainFrame.cxx:1193
 TGMdiMainFrame.cxx:1194
 TGMdiMainFrame.cxx:1195
 TGMdiMainFrame.cxx:1196
 TGMdiMainFrame.cxx:1197
 TGMdiMainFrame.cxx:1198
 TGMdiMainFrame.cxx:1199
 TGMdiMainFrame.cxx:1200
 TGMdiMainFrame.cxx:1201
 TGMdiMainFrame.cxx:1202
 TGMdiMainFrame.cxx:1203
 TGMdiMainFrame.cxx:1204
 TGMdiMainFrame.cxx:1205
 TGMdiMainFrame.cxx:1206
 TGMdiMainFrame.cxx:1207
 TGMdiMainFrame.cxx:1208
 TGMdiMainFrame.cxx:1209
 TGMdiMainFrame.cxx:1210
 TGMdiMainFrame.cxx:1211
 TGMdiMainFrame.cxx:1212
 TGMdiMainFrame.cxx:1213
 TGMdiMainFrame.cxx:1214
 TGMdiMainFrame.cxx:1215
 TGMdiMainFrame.cxx:1216
 TGMdiMainFrame.cxx:1217
 TGMdiMainFrame.cxx:1218
 TGMdiMainFrame.cxx:1219
 TGMdiMainFrame.cxx:1220
 TGMdiMainFrame.cxx:1221
 TGMdiMainFrame.cxx:1222
 TGMdiMainFrame.cxx:1223
 TGMdiMainFrame.cxx:1224
 TGMdiMainFrame.cxx:1225
 TGMdiMainFrame.cxx:1226
 TGMdiMainFrame.cxx:1227
 TGMdiMainFrame.cxx:1228
 TGMdiMainFrame.cxx:1229
 TGMdiMainFrame.cxx:1230
 TGMdiMainFrame.cxx:1231
 TGMdiMainFrame.cxx:1232
 TGMdiMainFrame.cxx:1233
 TGMdiMainFrame.cxx:1234
 TGMdiMainFrame.cxx:1235
 TGMdiMainFrame.cxx:1236
 TGMdiMainFrame.cxx:1237
 TGMdiMainFrame.cxx:1238
 TGMdiMainFrame.cxx:1239
 TGMdiMainFrame.cxx:1240
 TGMdiMainFrame.cxx:1241
 TGMdiMainFrame.cxx:1242
 TGMdiMainFrame.cxx:1243
 TGMdiMainFrame.cxx:1244
 TGMdiMainFrame.cxx:1245
 TGMdiMainFrame.cxx:1246
 TGMdiMainFrame.cxx:1247
 TGMdiMainFrame.cxx:1248
 TGMdiMainFrame.cxx:1249
 TGMdiMainFrame.cxx:1250