Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TEveWindowManager.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TEveWindowManager
13 #define ROOT_TEveWindowManager
14 
15 #include "TEveElement.h"
16 #include "TQObject.h"
17 
18 class TEveWindow;
19 class TEveWindowSlot;
20 
21 class TEveWindowManager : public TEveElementList,
22  public TQObject
23 {
24 private:
25  TEveWindowManager(const TEveWindowManager&); // Not implemented
26  TEveWindowManager& operator=(const TEveWindowManager&); // Not implemented
27 
28 protected:
29  TEveWindow *fCurrentWindow;
30  TEveWindow *fDefaultContainer;
31 
32  void DestroyWindowRecursively(TEveWindow* window);
33 
34 public:
35  TEveWindowManager(const char* n="TEveWindowManager", const char* t="");
36  virtual ~TEveWindowManager();
37 
38  void SelectWindow(TEveWindow* w);
39  void DeleteWindow(TEveWindow* w);
40 
41  void WindowDocked(TEveWindow* window); // *SIGNAL*
42  void WindowUndocked (TEveWindow* window); // *SIGNAL*
43  void WindowSelected(TEveWindow* window); // *SIGNAL*
44  void WindowDeleted (TEveWindow* window); // *SIGNAL*
45 
46  TEveWindow* GetCurrentWindow() const { return fCurrentWindow; }
47  Bool_t IsCurrentWindow(const TEveWindow* w) const { return w == fCurrentWindow; }
48  TEveWindowSlot* GetCurrentWindowAsSlot() const;
49 
50  TEveWindow* GetDefaultContainer() const { return fDefaultContainer; }
51  Bool_t HasDefaultContainer() const { return fDefaultContainer != 0; }
52  void SetDefaultContainer(TEveWindow* w);
53 
54  void DestroyWindows();
55 
56  // Global frame decoration control.
57 
58  void HideAllEveDecorations();
59  void ShowNormalEveDecorations();
60  void SetShowTitleBars(Bool_t state);
61 
62  ClassDef(TEveWindowManager, 0); // Manager for EVE windows.
63 };
64 
65 #endif