13 #ifndef ROOT_TRootCanvas
14 #define ROOT_TRootCanvas
35 class TGHorizontal3DLine;
36 class TGVertical3DLine;
37 class TVirtualPadEditor;
38 class TGDockableFrame;
42 class TRootCanvas :
public TGMainFrame,
public TCanvasImp {
44 friend class TRootContainer;
47 TGCanvas *fCanvasWindow;
48 TRootContainer *fCanvasContainer;
50 TGPopupMenu *fFileMenu;
51 TGPopupMenu *fFileSaveMenu;
52 TGPopupMenu *fEditMenu;
53 TGPopupMenu *fEditClearMenu;
54 TGPopupMenu *fViewMenu;
55 TGPopupMenu *fViewWithMenu;
56 TGPopupMenu *fOptionMenu;
57 TGPopupMenu *fToolsMenu;
58 TGPopupMenu *fHelpMenu;
59 TGLayoutHints *fMenuBarLayout;
60 TGLayoutHints *fMenuBarItemLayout;
61 TGLayoutHints *fMenuBarHelpLayout;
62 TGLayoutHints *fCanvasLayout;
63 TGStatusBar *fStatusBar;
64 TGLayoutHints *fStatusBarLayout;
66 TGCompositeFrame *fEditorFrame;
67 TGLayoutHints *fEditorLayout;
68 TGCompositeFrame *fMainFrame;
69 TGLayoutHints *fToolBarLayout;
71 TGHorizontal3DLine *fToolBarSep;
72 TGLayoutHints *fMainFrameLayout;
73 TGVertical3DLine *fVertical1;
74 TGVertical3DLine *fVertical2;
75 TGHorizontal3DLine *fHorizontal1;
76 TGLayoutHints *fVertical1Layout;
77 TGLayoutHints *fVertical2Layout;
78 TGLayoutHints *fHorizontal1Layout;
79 TGDockableFrame *fToolDock;
80 TGLayoutHints *fDockLayout;
81 const TGPicture *fIconPic;
84 TVirtualPadEditor *fEditor;
90 TRootCanvas(
const TRootCanvas&);
91 TRootCanvas& operator=(
const TRootCanvas&);
92 void CreateCanvas(
const char *name);
95 Bool_t HandleContainerButton(Event_t *ev);
96 Bool_t HandleContainerDoubleClick(Event_t *ev);
97 Bool_t HandleContainerConfigure(Event_t *ev);
98 Bool_t HandleContainerKey(Event_t *ev);
99 Bool_t HandleContainerMotion(Event_t *ev);
100 Bool_t HandleContainerExpose(Event_t *ev);
101 Bool_t HandleContainerCrossing(Event_t *ev);
103 Bool_t HandleDNDDrop(TDNDData *data);
104 Atom_t HandleDNDPosition(Int_t x, Int_t y, Atom_t action,
105 Int_t xroot, Int_t yroot);
106 Atom_t HandleDNDEnter(Atom_t * typelist);
107 Bool_t HandleDNDLeave();
110 TRootCanvas(TCanvas *c = 0,
const char *name =
"ROOT Canvas", UInt_t width = 500, UInt_t height = 300);
111 TRootCanvas(TCanvas *c,
const char *name, Int_t x, Int_t y, UInt_t width, UInt_t height);
112 virtual ~TRootCanvas();
116 void ForceUpdate() { Layout(); }
118 void EventInfo(Int_t event, Int_t px, Int_t py, TObject *selected);
119 UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h);
120 UInt_t GetCwidth()
const;
121 UInt_t GetCheight()
const;
122 void Iconify() { IconifyWindow(); }
126 void SetWindowPosition(Int_t x, Int_t y);
127 void SetWindowSize(UInt_t w, UInt_t h);
128 void SetWindowTitle(
const char *newTitle);
129 void SetCanvasSize(UInt_t w, UInt_t h);
130 void SetStatusText(
const char *txt = 0, Int_t partidx = 0);
132 void Show() { MapRaised(); }
133 void ShowMenuBar(Bool_t show = kTRUE);
134 void ShowStatusBar(Bool_t show = kTRUE);
135 void ShowEditor(Bool_t show = kTRUE);
136 void ShowToolBar(Bool_t show = kTRUE);
137 void ShowToolTips(Bool_t show = kTRUE);
139 Bool_t HasEditor()
const;
140 Bool_t HasMenuBar()
const;
141 Bool_t HasStatusBar()
const;
142 Bool_t HasToolBar()
const;
143 Bool_t HasToolTips()
const;
145 void Activated(Int_t
id);
147 TGMenuBar *GetMenuBar()
const {
return fMenuBar; }
148 TGLayoutHints *GetMenuBarItemLayout()
const {
return fMenuBarItemLayout; }
149 TGStatusBar *GetStatusBar()
const {
return fStatusBar; }
150 TGDockableFrame *GetToolDock()
const {
return fToolDock; }
154 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
157 ClassDef(TRootCanvas,0)