// @(#)root/eve:$Id$
// Author: Matevz Tadel 2007

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

#ifndef ROOT_TEveWindow
#define ROOT_TEveWindow

#include "TEveElement.h"

#include "TGFrame.h"
#include "TContextMenu.h"

class TEveWindow;
class TEveWindowSlot;
class TEveWindowFrame;
class TEveWindowMainFrame;
class TEveWindowPack;
class TEveWindowTab;
class TEveContextMenu;

class TGButton;
class TGSplitButton;
class TGTextButton;

class TGPack;
class TGTab;

//==============================================================================
// TEveCompositeFrame
//==============================================================================

class TEveCompositeFrame : public TGCompositeFrame
{
   friend class TEveWindow;
   friend class TEveWindowManager;

public:
   typedef TGFrame* (*IconBarCreator_foo)(TEveCompositeFrame*, TGCompositeFrame*, Int_t);

private:
   TEveCompositeFrame(const TEveCompositeFrame&);            // Not implemented
   TEveCompositeFrame& operator=(const TEveCompositeFrame&); // Not implemented

   static IconBarCreator_foo fgIconBarCreator;
   static UInt_t             fgTopFrameHeight;
   static UInt_t             fgMiniBarHeight;
   static Bool_t             fgAllowTopFrameCollapse;

protected:
   TGCompositeFrame  *fTopFrame;
   TGTextButton      *fToggleBar;
   TGTextButton      *fTitleBar;
   TGFrame           *fIconBar;
   TGLayoutHints     *fEveWindowLH;

   TGFrame           *fMiniBar;

   TEveElement       *fEveParent;
   TEveWindow        *fEveWindow;

   Bool_t             fShowInSync;

   static TEveContextMenu *fgCtxMenu;
   static const TString    fgkEmptyFrameName;

   static TList           *fgFrameList;

public:
   TEveCompositeFrame(TGCompositeFrame* gui_parent, TEveWindow* eve_parent);
   virtual ~TEveCompositeFrame();

   virtual void WindowNameChanged(const TString& name);

   virtual void Destroy() = 0;

   virtual void        AcquireEveWindow(TEveWindow* ew);
   virtual TEveWindow* RelinquishEveWindow(Bool_t reparent=kTRUE);

   TEveWindow* GetEveWindow() const { return fEveWindow; }
   TEveWindow* GetEveParentAsWindow() const;

   virtual void SetCurrent(Bool_t curr);
   virtual void SetShowTitleBar(Bool_t show);
   virtual void HideAllDecorations();
   virtual void ShowNormalDecorations();

   void ActionPressed();
   void FlipTitleBarState();
   void TitleBarClicked();

   static void SetupFrameMarkup(IconBarCreator_foo creator,
                                UInt_t top_frame_height   = 14,
                                UInt_t mini_bar_height    = 4,
                                Bool_t allow_top_collapse = kTRUE);

   ClassDef(TEveCompositeFrame, 0); // Composite frame containing eve-window-controls and eve-windows.
};


//==============================================================================
// TEveCompositeFrameInMainFrame
//==============================================================================

class TEveCompositeFrameInMainFrame : public TEveCompositeFrame
{
private:
   TEveCompositeFrameInMainFrame(const TEveCompositeFrameInMainFrame&);            // Not implemented
   TEveCompositeFrameInMainFrame& operator=(const TEveCompositeFrameInMainFrame&); // Not implemented

protected:
   TGMainFrame      *fMainFrame;
   TEveWindow       *fOriginalSlot;
   TEveWindow       *fOriginalContainer;

public:
   TEveCompositeFrameInMainFrame(TGCompositeFrame* parent, TEveWindow* eve_parent,
                                 TGMainFrame* mf);
   virtual ~TEveCompositeFrameInMainFrame();

   virtual void WindowNameChanged(const TString& name);

   virtual void Destroy();

   void SetOriginalSlotAndContainer(TEveWindow* slot, TEveWindow* container);

   void SomeWindowClosed(TEveWindow* w);
   void MainFrameClosed();

   TEveWindow* GetOriginalSlot() const { return fOriginalSlot; }
   TEveWindow* GetOriginalContainer() const { return fOriginalContainer; }

   ClassDef(TEveCompositeFrameInMainFrame, 0); // Eve-composite-frame that is contained in one tab of a TGTab.
};


//==============================================================================
// TEveCompositeFrameInPack
//==============================================================================

class TEveCompositeFrameInPack : public TEveCompositeFrame
{
private:
   TEveCompositeFrameInPack(const TEveCompositeFrameInPack&);            // Not implemented
   TEveCompositeFrameInPack& operator=(const TEveCompositeFrameInPack&); // Not implemented

protected:
   TGPack        *fPack;

public:
   TEveCompositeFrameInPack(TGCompositeFrame* parent, TEveWindow* eve_parent,
                            TGPack* pack);
   virtual ~TEveCompositeFrameInPack();

   virtual void Destroy();

   ClassDef(TEveCompositeFrameInPack, 0); // Eve-composite-frame that is contained in a TGPack.
};


//==============================================================================
// TEveCompositeFrameInTab
//==============================================================================

class TEveCompositeFrameInTab : public TEveCompositeFrame
{
private:
   TEveCompositeFrameInTab(const TEveCompositeFrameInTab&);            // Not implemented
   TEveCompositeFrameInTab& operator=(const TEveCompositeFrameInTab&); // Not implemented

protected:
   TGTab            *fTab;
   TGCompositeFrame *fParentInTab;

   Int_t FindTabIndex();

public:
   TEveCompositeFrameInTab(TGCompositeFrame* parent, TEveWindow* eve_parent,
                           TGTab* tab);
   virtual ~TEveCompositeFrameInTab();

   virtual void WindowNameChanged(const TString& name);

   virtual void Destroy();

   virtual void SetCurrent(Bool_t curr);

   ClassDef(TEveCompositeFrameInTab, 0); // Eve-composite-frame that is contained in one tab of a TGTab.
};


//==============================================================================
//==============================================================================
// TEveWindow classes
//==============================================================================
//==============================================================================


//==============================================================================
// TEveWindow
//==============================================================================

class TEveWindow : public TEveElementList
{
   friend class TEveWindowManager;

private:
   TEveWindow(const TEveWindow&);            // Not implemented
   TEveWindow& operator=(const TEveWindow&); // Not implemented

protected:
   TEveCompositeFrame  *fEveFrame;
   Bool_t               fShowTitleBar;

   virtual void SetCurrent(Bool_t curr);

   static UInt_t        fgMainFrameDefWidth;
   static UInt_t        fgMainFrameDefHeight;

   static Pixel_t       fgCurrentBackgroundColor;
   static Pixel_t       fgMiniBarBackgroundColor;

   virtual void PreDeleteElement();

public:
   TEveWindow(const char* n="TEveWindow", const char* t="");
   virtual ~TEveWindow();

   virtual void NameTitleChanged();

   virtual TGFrame*        GetGUIFrame() = 0;
   virtual void            PreUndock();
   virtual void            PostDock();

   virtual Bool_t          CanMakeNewSlots() const { return kFALSE; }
   virtual TEveWindowSlot* NewSlot() { return 0; }

   void PopulateEmptyFrame(TEveCompositeFrame* ef);

   void SwapWindow(TEveWindow* w);
   void SwapWindowWithCurrent();        // *MENU*

   void UndockWindow();                 // *MENU*
   void UndockWindowDestroySlot();      // *MENU*

   void ReplaceWindow(TEveWindow* w);

   virtual void DestroyWindow();        // *MENU*
   virtual void DestroyWindowAndSlot(); // *MENU*

   TEveCompositeFrame* GetEveFrame()  { return fEveFrame; }
   void                ClearEveFrame();

   void   FlipShowTitleBar()      { SetShowTitleBar(!fShowTitleBar); }
   Bool_t GetShowTitleBar() const { return fShowTitleBar; }
   void   SetShowTitleBar(Bool_t x);

   Bool_t IsCurrent() const;
   void   MakeCurrent();


   Bool_t IsAncestorOf(TEveWindow* win);

   void   TitleBarClicked();


   // Static helper functions for common window management scenarios.

   static TEveWindowSlot* CreateDefaultWindowSlot();
   static TEveWindowSlot* CreateWindowMainFrame(TEveWindow* eve_parent=0);
   static TEveWindowSlot* CreateWindowInTab(TGTab* tab, TEveWindow* eve_parent=0);

   static void            SwapWindows(TEveWindow* w1, TEveWindow* w2);

   // Access to static data-members.

   static UInt_t  GetMainFrameDefWidth();
   static UInt_t  GetMainFrameDefHeight();
   static void    SetMainFrameDefWidth (UInt_t x);
   static void    SetMainFrameDefHeight(UInt_t x);

   static Pixel_t GetCurrentBackgroundColor();
   static Pixel_t GetMiniBarBackgroundColor();
   static void    SetCurrentBackgroundColor(Pixel_t p);
   static void    SetMiniBarBackgroundColor(Pixel_t p);

   ClassDef(TEveWindow, 0); // Abstract base-class for eve-windows.
};


//==============================================================================
// TEveWindowSlot
//==============================================================================

class TEveWindowSlot : public TEveWindow
{
private:
   TEveWindowSlot(const TEveWindowSlot&);            // Not implemented
   TEveWindowSlot& operator=(const TEveWindowSlot&); // Not implemented

protected:
   TGTextButton      *fEmptyButt;
   TGCompositeFrame  *fEmbedBuffer;

   virtual void SetCurrent(Bool_t curr);

public:
   TEveWindowSlot(const char* n="TEveWindowSlot", const char* t="");
   virtual ~TEveWindowSlot();

   virtual TGFrame* GetGUIFrame();

   TEveWindowPack*   MakePack(); // *MENU*
   TEveWindowTab*    MakeTab();  // *MENU*

   TEveWindowFrame*  MakeFrame(TGFrame* frame=0);

   TGCompositeFrame* StartEmbedding();
   TEveWindowFrame*  StopEmbedding(const char* name=0);

   ClassDef(TEveWindowSlot, 0); // An unoccupied eve-window slot.
};


//==============================================================================
// TEveWindowFrame
//==============================================================================

class TEveWindowFrame : public TEveWindow
{
private:
   TEveWindowFrame(const TEveWindowFrame&);            // Not implemented
   TEveWindowFrame& operator=(const TEveWindowFrame&); // Not implemented

protected:
   TGFrame         *fGUIFrame;

public:
   TEveWindowFrame(TGFrame* frame, const char* n="TEveWindowFrame", const char* t="");
   virtual ~TEveWindowFrame();

   virtual TGFrame* GetGUIFrame() { return fGUIFrame; }

   TGCompositeFrame* GetGUICompositeFrame();

   ClassDef(TEveWindowFrame, 0); // Eve-window containing any TGFrame.
};


//==============================================================================
// TEveWindowPack
//==============================================================================

class TEveWindowPack : public TEveWindow
{
private:
   TEveWindowPack(const TEveWindowPack&);            // Not implemented
   TEveWindowPack& operator=(const TEveWindowPack&); // Not implemented

protected:
   TGPack          *fPack;

public:
   TEveWindowPack(TGPack* p, const char* n="TEveWindowPack", const char* t="");
   virtual ~TEveWindowPack();

   virtual TGFrame*        GetGUIFrame();

   virtual Bool_t          CanMakeNewSlots() const { return kTRUE; }
   virtual TEveWindowSlot* NewSlotWithWeight(Float_t w);
   virtual TEveWindowSlot* NewSlot(); // *MENU*

   void FlipOrientation(); // *MENU*
   void SetVertical(Bool_t x=kTRUE);
   void SetHorizontal() { SetVertical(kFALSE); }

   void EqualizeFrames();  // *MENU*

   TGPack* GetPack() const { return fPack; }

   ClassDef(TEveWindowPack, 0); // Eve-window containing a TGPack.
};


//==============================================================================
// TEveWindowTab
//==============================================================================

class TEveWindowTab : public TEveWindow
{
private:
   TEveWindowTab(const TEveWindowTab&);            // Not implemented
   TEveWindowTab& operator=(const TEveWindowTab&); // Not implemented

protected:
   TGTab           *fTab;

public:
   TEveWindowTab(TGTab* tab, const char* n="TEveWindowTab", const char* t="");
   virtual ~TEveWindowTab();

   virtual TGFrame*        GetGUIFrame();

   virtual Bool_t          CanMakeNewSlots() const { return kTRUE; }
   virtual TEveWindowSlot* NewSlot(); // *MENU*

   TGTab* GetTab() const { return fTab; }

   ClassDef(TEveWindowTab, 0); // Eve-window containing a TGTab.
};


//==============================================================================
//==============================================================================
// Helper classes
//==============================================================================
//==============================================================================


//==============================================================================
// TEveContextMenu
//==============================================================================

class TEveContextMenu : public TContextMenu
{
public:
   TEveContextMenu(const char *name, const char *title = "Eve context menu");

   void SetupAndPopup(TGWindow* button, TObject* obj);

   ClassDef(TEveContextMenu, 0) // Specialization of TContextMenu for Eve.
};

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