Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TRootEmbeddedCanvas.h
Go to the documentation of this file.
1// @(#)root/gui:$Id$
2// Author: Fons Rademakers 15/07/98
3
4/*************************************************************************
5 * Copyright (C) 1995-2021, 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
13#ifndef ROOT_TRootEmbeddedCanvas
14#define ROOT_TRootEmbeddedCanvas
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TRootEmbeddedCanvas //
19// //
20// This class creates a TGCanvas in which a TCanvas is created. Use //
21// GetCanvas() to get a pointer to the TCanvas. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include "TGCanvas.h"
26
27
28class TCanvas;
29class TRootEmbeddedContainer;
30class TDNDData;
31
33
35
36protected:
37 Int_t fCWinId; // window id used by embedded TCanvas
38 TRootEmbeddedContainer *fCanvasContainer; // container in canvas widget
39 TCanvas *fCanvas; // pointer to TCanvas
40 Bool_t fAutoFit; // canvas container keeps same size as canvas
41 Int_t fButton; // currently pressed button
42 Atom_t *fDNDTypeList; // handles DND types
43
51
52private:
55
56public:
57 TRootEmbeddedCanvas(const char *name = nullptr, const TGWindow *p = nullptr, UInt_t w = 10,
58 UInt_t h = 10, UInt_t options = kSunkenFrame | kDoubleBorder,
60 virtual ~TRootEmbeddedCanvas();
61
62 void AdoptCanvas(TCanvas *c);
63 TCanvas *GetCanvas() const { return fCanvas; }
64 Int_t GetCanvasWindowId() const { return fCWinId; }
65 Bool_t GetAutoFit() const { return fAutoFit; }
66 void SetAutoFit(Bool_t fit = kTRUE) { fAutoFit = fit; }
67 virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
68
69 virtual Bool_t HandleDNDDrop(TDNDData *data);
70 virtual Atom_t HandleDNDPosition(Int_t /*x*/, Int_t /*y*/, Atom_t action,
71 Int_t /*xroot*/, Int_t /*yroot*/);
72 virtual Atom_t HandleDNDEnter(Atom_t * typelist);
73 virtual Bool_t HandleDNDLeave();
74
75 ClassDef(TRootEmbeddedCanvas,0) //A ROOT TCanvas that can be embedded in a TGFrame
76};
77
78#endif
@ kSunkenFrame
Definition GuiTypes.h:383
@ kDoubleBorder
Definition GuiTypes.h:385
Handle_t Atom_t
WM token.
Definition GuiTypes.h:37
ULong_t Pixel_t
Pixel value.
Definition GuiTypes.h:40
#define c(i)
Definition RSha256.hxx:101
#define h(i)
Definition RSha256.hxx:106
int Int_t
Definition RtypesCore.h:45
bool Bool_t
Definition RtypesCore.h:63
const Bool_t kTRUE
Definition RtypesCore.h:91
const char Option_t
Definition RtypesCore.h:66
#define ClassDef(name, id)
Definition Rtypes.h:325
char name[80]
Definition TGX11.cxx:110
The Canvas class.
Definition TCanvas.h:23
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition TGFrame.cxx:668
virtual Atom_t HandleDNDEnter(Atom_t *typelist)
Handle drag enter events.
virtual ~TRootEmbeddedCanvas()
Delete embedded ROOT canvas.
virtual Bool_t HandleContainerCrossing(Event_t *ev)
Handle enter/leave events. Only leave is activated at the moment.
virtual Atom_t HandleDNDPosition(Int_t, Int_t, Atom_t action, Int_t, Int_t)
Handle dragging position events.
virtual Bool_t HandleContainerConfigure(Event_t *ev)
Handle configure (i.e. resize) event.
virtual Bool_t HandleDNDLeave()
Handle drag leave events.
void SetAutoFit(Bool_t fit=kTRUE)
void AdoptCanvas(TCanvas *c)
Canvas c is adopted from this embedded canvas.
virtual Bool_t HandleContainerButton(Event_t *ev)
Handle mouse button events in the canvas container.
virtual Bool_t HandleContainerDoubleClick(Event_t *ev)
Handle mouse button double click events in the canvas container.
virtual Bool_t HandleDNDDrop(TDNDData *data)
Handle drop events.
TRootEmbeddedCanvas(const TRootEmbeddedCanvas &)=delete
TCanvas * GetCanvas() const
virtual Bool_t HandleContainerMotion(Event_t *ev)
Handle mouse motion event in the canvas container.
friend class TRootEmbeddedContainer
virtual Bool_t HandleContainerKey(Event_t *ev)
Handle keyboard events in the canvas container.
TRootEmbeddedCanvas & operator=(const TRootEmbeddedCanvas &)=delete
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save an embedded canvas as a C++ statement(s) on output stream out.
TRootEmbeddedContainer * fCanvasContainer
Int_t GetCanvasWindowId() const
virtual Bool_t HandleContainerExpose(Event_t *ev)
Handle expose events.
Event structure.
Definition GuiTypes.h:174