21 #include "RConfigure.h" 167 "PostScript",
"*.ps",
168 "Encapsulated PostScript",
"*.eps",
172 "ROOT macros",
"*.C",
173 "ROOT files",
"*.root",
189 {
"",
"",
kFALSE, -1, 0 },
192 {
"",
"",
kFALSE, -1, 0 },
285 newpos = fCanvas->fCanvasWindow->GetVsbPosition() - page;
286 if (newpos < 0) newpos = 0;
287 fCanvas->fCanvasWindow->SetVsbPosition(newpos);
292 newpos = fCanvas->fCanvasWindow->GetVsbPosition() + page;
293 fCanvas->fCanvasWindow->SetVsbPosition(newpos);
296 return fCanvas->HandleContainerButton(event);
348 static Int_t img = 0;
447 if (
gROOT->GetEditHistograms())
540 else if (
gVirtualX->InheritsFrom(
"TGCocoa"))
547 Error(
"CreateCanvas",
"GL manager plugin failed");
560 Error(
"CreateCanvas",
"GL context creation failed.");
562 Error(
"CreateCanvas",
"GL window creation failed\n");
582 "EventInfo(Int_t, Int_t, Int_t, TObject*)");
585 int parts[] = { 33, 10, 10, 47 };
702 this,
"EventInfo(Int_t, Int_t, Int_t, TObject*)");
748 0, 0,
x,
y, childdum);
781 gROOT->SetEditorMode();
784 gROOT->SetEditorMode(
"Arc");
787 gROOT->SetEditorMode(
"Line");
790 gROOT->SetEditorMode(
"Arrow");
793 gROOT->SetEditorMode(
"Diamond");
796 gROOT->SetEditorMode(
"Ellipse");
799 gROOT->SetEditorMode(
"Pad");
802 gROOT->SetEditorMode(
"Pave");
805 gROOT->SetEditorMode(
"PaveLabel");
808 gROOT->SetEditorMode(
"PaveText");
811 gROOT->SetEditorMode(
"PavesText");
814 gROOT->SetEditorMode(
"PolyLine");
817 gROOT->SetEditorMode(
"CurlyLine");
820 gROOT->SetEditorMode(
"CurlyArc");
823 gROOT->SetEditorMode(
"Text");
826 gROOT->SetEditorMode(
"Marker");
829 gROOT->SetEditorMode(
"CutG");
834 gROOT->MakeDefCanvas();
852 static Int_t typeidx = 0;
899 appendedType =
kTRUE;
903 Warning(
"ProcessMessage",
"file %s cannot be saved with this extension", fi.
fFilename);
957 gROOT->ProcessLine(
"TStyleManager::Terminate()");
965 gROOT->ProcessLine(
"TStyleManager::Show()");
1021 if (padsav) padsav->
cd();
1033 if (padsav) padsav->
cd();
1040 gPad->GetViewer3D(
"x3d");
1043 gPad->GetViewer3D(
"ogl");
1096 gROOT->SetInterrupt();
1105 delete gPad->FindObject(
"stats");
1117 delete gPad->FindObject(
"title");
1138 if (
gROOT->GetEditHistograms()) {
1160 gROOT->ProcessLine(
"new TGRecorder()");
1182 if (handler && handler->
LoadPlugin() != -1) {
1184 Error(
"FitPanel",
"Unable to crate the FitPanel");
1187 Error(
"FitPanel",
"Unable to find the FitPanel plug-in");
1200 if (!rootx.
IsNull()) rootx +=
"/bin";
1202 rootx +=
"/root -a &";
1210 sprintf(str,
"About ROOT %s...",
gROOT->GetVersion());
1229 hd =
new TRootHelpDialog(
this,
"Help on Graphics Editor...", 600, 400);
1354 char *printer, *printCmd;
1355 static TString sprinter, sprintCmd;
1360 printer =
StrDup(sprinter);
1361 if (sprintCmd ==
"")
1368 printCmd =
StrDup(sprintCmd);
1371 &printer, &printCmd, &ret);
1374 sprintCmd = printCmd;
1389 cmd +=
" "; cmd += sprinter; cmd +=
" ";
1395 cmd +=
" "; cmd += fn; cmd +=
" ";
1424 const char *title = selected->
GetTitle();
1427 if (title && strlen(title))
1461 if (dh - ch >= sh) h = h + sh;
1466 if (dh - ch < sh) h = ch;
1493 this,
"Activated(Int_t)");
1549 if (savedPad)
gPad = savedPad;
1569 if (show == 0)
gEnv->
SetValue(
"Canvas.ShowEditor",
"false");
1582 Int_t spacing = 6, i;
1583 for (i = 0; gToolBarData[i].
fPixmap; i++) {
1584 if (strlen(gToolBarData[i].fPixmap) == 0) {
1599 for (i = 0; gToolBarData1[i].
fPixmap; i++) {
1600 if (strlen(gToolBarData1[i].fPixmap) == 0) {
1730 Int_t button =
event->fCode;
1777 Int_t button =
event->fCode;
1803 static Int_t dh = 0;
1819 static UInt_t previous_keysym = 0;
1825 gVirtualX->LookupString(event, str,
sizeof(str), keysym);
1827 if (str[0] ==
kESC){
1835 gROOT->SetInterrupt();
1838 if (keysym > 0x1011 && keysym < 0x1016) {
1841 Int_t mx, my, tx, ty;
1842 wid =
gVirtualX->GetDefaultRootWindow();
1843 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
1846 mx, my, tx, ty, dum1);
1850 if ((previous_keysym == keysym) && (previous_event ==
kGKeyPress)) {
1869 previous_keysym = keysym;
1877 gVirtualX->LookupString(event, str,
sizeof(str), keysym);
1879 if (keysym > 0x1011 && keysym < 0x1016) {
1882 Int_t mx, my, tx, ty;
1883 wid =
gVirtualX->GetDefaultRootWindow();
1884 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
1903 mx, my, tx, ty, dum1);
1905 previous_keysym = keysym;
1909 previous_event =
event->fType;
1940 if (event->
fCount == 0) {
1975 if (!obj)
return kTRUE;
1979 if (!
object)
return kTRUE;
1981 object->
Draw(
"ALP");
1984 else if (object->IsA()->GetMethodAllAny(
"Draw"))
1989 else if (obj->IsA()->GetMethodAllAny(
"Draw"))
1997 if (sfname.
Length() > 7) {
2031 gROOT->SetSelectedPad(pad);
2046 for (
int i = 0; typelist[i] !=
kNone; ++i) {
2047 if (typelist[i] == rootObj)
2049 if (typelist[i] == uriObj)
2088 void TRootContainer::SavePrimitive(std::ostream &out,
Option_t * )
2090 out << std::endl <<
" // canvas container" << std::endl;
2091 out <<
" Int_t canvasID = gVirtualX->InitWindow((ULong_t)" 2093 out <<
" Window_t winC = gVirtualX->GetWindowID(canvasID);" << std::endl;
2094 out <<
" TGCompositeFrame *";
2095 out <<
GetName() <<
" = new TGCompositeFrame(gClient,winC"
virtual void HideFrame(TGFrame *f)
Hide sub frame.
const Mask_t kKeyReleaseMask
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
Bool_t GetShowEditor() const
virtual void AddFrame(TGFrame *f, TGLayoutHints *hints)
Add frame to dockable frame container. Frame and hints are NOT adopted.
TGLayoutHints * fMenuBarLayout
TGLayoutHints * fEditorLayout
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
virtual void StartEmbedding(Int_t pos=kRight, Int_t subpos=-1)
Start embedding external frame in the tab "pos" and tab element "subpos".
void MoveOpaque(Int_t set=1)
Set option to move objects/pads in a canvas.
void CreateEditor()
Create embedded editor.
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket...
ABC describing GUI independent main window (with menubar, scrollbars and a drawing area)...
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame.
R__EXTERN const char gHelpPostscript[]
R__EXTERN Int_t gErrorIgnoreLevel
virtual void ToggleEventStatus()
Toggle event statusbar.
virtual Bool_t HandleButton(Event_t *)
virtual const char * WorkingDirectory()
Return working directory.
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
virtual Bool_t HandleKey(Event_t *)
void ShowStatusBar(Bool_t show=kTRUE)
Show or hide statusbar.
virtual Bool_t HandleDoubleClick(Event_t *)
void DockContainer(Int_t del=kTRUE)
Dock container back to TGDockableFrame.
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
Bool_t HandleContainerConfigure(Event_t *ev)
Handle configure (i.e. resize) event.
TGLayoutHints * fVertical2Layout
const Mask_t kKeyShiftMask
void SetSupportGL(Bool_t support)
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
R__EXTERN void * gTQSender
const TGWindow * GetRoot() const
Returns current root (i.e.
This class represents a WWW compatible URL.
TString & ReplaceAll(const TString &s1, const TString &s2)
R__EXTERN TStyle * gStyle
Bool_t HandleContainerCrossing(Event_t *ev)
Handle enter/leave events. Only leave is activated at the moment.
void ShowToolBar(Bool_t show=kTRUE)
Show or hide toolbar.
static TVirtualPadEditor * LoadEditor()
Static function returning a pointer to a new pad editor.
const Mask_t kLeaveWindowMask
Bool_t HandleContainerMotion(Event_t *ev)
Handle mouse motion event in the canvas container.
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format...
TVirtualPad * cd(Int_t subpadnumber=0)
Set current canvas & pad.
Bool_t HasMenuBar() const
Returns kTRUE if the menu bar is shown.
TGHorizontal3DLine * fHorizontal1
R__EXTERN const char gHelpPullDownMenus[]
virtual void SetContainer(TGFrame *f)
virtual Bool_t ChangeDirectory(const char *path)
Change directory.
const TGPicture * SetIconPixmap(const char *iconName)
Set window icon pixmap by name.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
Int_t LoadPlugin()
Load the plugin library for this handler.
virtual void ToggleToolTips()
Toggle tooltip display.
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
static void SingleShot(Int_t milliSec, const char *receiver_class, void *receiver, const char *method)
This static function calls a slot after a given time interval.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
virtual void Update()
Update pad.
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
virtual void * ReadObjectAny(const TClass *cast)
Read object from I/O buffer.
An abstract interface to image processing library.
virtual void Terminate(Int_t status=0)
Terminate the application by call TSystem::Exit() unless application has been told to return from Run...
R__EXTERN TApplication * gApplication
Double_t GetAspectRatio() const
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
void Flush()
Flush canvas buffers.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py).
TGHorizontal3DLine * fToolBarSep
R__EXTERN const char gHelpBrowser[]
virtual void Layout()
Layout the elements of the composite frame.
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
R__EXTERN const char gHelpAbout[]
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj)
Search for an object at pixel position px,py.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=0)
Set the value of a resource or create a new resource.
void SetDNDTarget(Bool_t onoff)
const Mask_t kPointerMotionMask
TGLayoutHints * fHorizontal1Layout
UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
Gets the size and position of the window containing the canvas.
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
Bool_t GetShowToolTips() const
virtual int Unlink(const char *name)
Unlink, i.e. remove, a file.
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void Paint(Option_t *option="")
Paint canvas.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
virtual FILE * TempFileName(TString &base, const char *dir=0)
Create a secure temporary file by appending a unique 6 letter string to base.
static TVirtualPadEditor * GetPadEditor(Bool_t load=kTRUE)
Returns the pad editor dialog. Static method.
virtual void Resize(Option_t *option="")
Recompute canvas parameters following a X11 Resize.
R__EXTERN Int_t(* gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret)
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
virtual void Draw(Option_t *option="")
Paint the color wheel.
TGPopupMenu * fEditClearMenu
TGDockableFrame * fToolDock
UInt_t GetWindowHeight() const
Atom_t HandleDNDPosition(Int_t x, Int_t y, Atom_t action, Int_t xroot, Int_t yroot)
Handle dragging position events.
TGCompositeFrame(const TGCompositeFrame &)
Bool_t HasToolTips() const
Returns kTRUE if the tooltips are enabled.
virtual const char * Getenv(const char *env)
Get environment variable.
virtual void SetGlobal(Bool_t global)
Set editor global.
void Clear(Option_t *option="")
Remove all primitives from the canvas.
TGLayoutHints * fDockLayout
static void DisplayMarkerTypes()
Display the table of markers with their numbers.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
virtual Bool_t HandleExpose(Event_t *event)
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
TGPopupMenu * fFileSaveMenu
void SetClassHints(const char *className, const char *resourceName)
Set the windows class and resource name.
virtual const char * TempDirectory() const
Return a user configured or systemwide directory to create temporary files in.
TGVertical3DLine * fVertical1
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar.
void ReallyDelete()
Really delete the canvas and this GUI.
Bool_t IsUndocked() const
void AdjustSize()
Keep the same canvas size while docking/undocking toolbar.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
void SaveSource(const char *filename="", Option_t *option="")
Save primitives in this canvas as a C++ macro file.
virtual void SetGLDevice(Int_t dev)
Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Handle menu and other command generated by the user.
TGViewPort * GetViewPort() const
TGPopupMenu * fViewWithMenu
Bool_t OpaqueMoving() const
Is pad moving in opaque mode ?
TGLayoutHints * fMenuBarItemLayout
void RaiseWindow()
Put canvas window on top of the window stack.
friend class TRootContainer
const Mask_t kButtonPressMask
TGCompositeFrame * fMainFrame
const Mask_t kKeyPressMask
TRootCanvas(const TRootCanvas &)
Using a TBrowser one can browse all ROOT objects.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
void ShowEditor(Bool_t show=kTRUE)
Show or hide side frame.
void CreateCanvas(const char *name)
Create the actual canvas.
void ShowMenuBar(Bool_t show=kTRUE)
Show or hide menubar.
virtual void SendCloseMessage()
Send close message to self.
virtual void ToggleToolBar()
Toggle toolbar.
Int_t InitWindow()
Called by TCanvas ctor to get window indetifier.
void ResizeOpaque(Int_t set=1)
Set option to resize objects/pads in a canvas.
R__EXTERN TSystem * gSystem
void Popup()
Show help dialog.
R__EXTERN const char gHelpCanvas[]
Bool_t OpaqueResizing() const
Is pad resizing in opaque mode ?
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
Bool_t HandleContainerButton(Event_t *ev)
Handle mouse button events in the canvas container.
Bool_t HandleContainerExpose(Event_t *ev)
Handle expose events.
Long_t ExecPlugin(int nargs, const T &... params)
virtual Int_t GetValue(const char *name, Int_t dflt)
Returns the integer value for a resource.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
virtual const char * GetName() const
Return unique name, used in SavePrimitive methods.
const Mask_t kExposureMask
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit=kTRUE)
Brings the composite frame with the index tabIndex to the front and generate the following event if t...
The most important graphics class in the ROOT system.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
char * Form(const char *fmt,...)
void ShowToolTips(Bool_t show=kTRUE)
Enable or disable tooltip info.
TVirtualPadEditor * fEditor
void SetWindowPosition(Int_t x, Int_t y)
Set canvas position (units in pixels).
void SetReadMode()
Set buffer in read mode.
TGTab * GetTabLeft() const
virtual Int_t Exec(const char *shellcmd)
Execute a command.
virtual void ToggleEditor()
Toggle editor.
Bool_t HandleDNDLeave()
Handle drag leave events.
Bool_t HandleDNDDrop(TDNDData *data)
Handle drop events.
UInt_t GetCheight() const
Return height of canvas container.
virtual void Print(const char *filename="") const
Save Pad contents in a file in one of various formats.
virtual void ToggleAutoExec()
Toggle pad auto execution of list of TExecs.
virtual void SetEditable(Bool_t=kTRUE)
void Destructor()
Actual canvas destructor.
R__EXTERN const char gHelpObjects[]
static ToolBarData_t gToolBarData[]
TGTab * GetTabRight() const
virtual void Move(Int_t x, Int_t y)
Move frame.
char * StrDup(const char *str)
Duplicate the string str.
virtual Bool_t HandleMotion(Event_t *)
virtual Bool_t HandleConfigureNotify(Event_t *event)
This event is generated when the frame is resized.
TString & Remove(Ssiz_t pos)
static const char * gSaveAsTypes[]
virtual void SetEditDisabled(UInt_t on=1)
Set edit disable flag for this frame and subframes.
const Mask_t kStructureNotifyMask
static const char * gOpenTypes[]
Bool_t HandleContainerKey(Event_t *ev)
Handle keyboard events in the canvas container.
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
const Mask_t kButtonReleaseMask
Bool_t HasEditor() const
Returns kTRUE if the editor is shown.
TGLayoutHints * fVertical1Layout
TGVertical3DLine * fVertical2
TGLayoutHints * fStatusBarLayout
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
R__EXTERN const char gHelpGraphicsEditor[]
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Abstract base class used by ROOT graphics editor.
TGFrame * GetActFrame() const
virtual void StopEmbedding(const char *name=0)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
UInt_t GetDisplayHeight() const
Get display height.
const TGWindow * GetParent() const
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a composite frame widget as a C++ statement(s) on output stream out.
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
const TGPicture * fIconPic
Mother of all ROOT objects.
Atom_t HandleDNDEnter(Atom_t *typelist)
Handle drag enter events.
virtual const char * GetTitle() const
Returns title of object.
TGPopupMenu * fOptionMenu
void SetWMPosition(Int_t x, Int_t y)
Give the window manager a window position hint.
static ToolBarData_t gToolBarData1[]
void Activated(Int_t id)
Slot handling tab switching in the browser, to properly set the canvas and the model to the editor...
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
const char * GetWindowName() const
void SetStatusText(const char *txt=0, Int_t partidx=0)
Set text in status bar.
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
void Close()
Called via TCanvasImp interface by TCanvas.
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
void FitCanvas()
Fit canvas container to current window size.
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
void SetOptTitle(Int_t tit=1)
UInt_t GetCwidth() const
Return width of canvas container.
void SetWindowSize(UInt_t w, UInt_t h)
Set size of canvas (units in pixels).
virtual void SetParts(Int_t npart)
Divide the status bar in npart equal sized parts.
void PrintCanvas()
Print the canvas.
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
static void Terminate()
Close the global pad editor. Static method.
void EventInfo(Int_t event, Int_t px, Int_t py, TObject *selected)
Display a tooltip with infos about the primitive below the cursor.
TGLayoutHints * fMainFrameLayout
void SetWindowName(const char *name)
Set window name so it appear as title of the undock window.
TGLayoutHints * fMenuBarHelpLayout
Bool_t ReturnFromRun() const
virtual void HandleInput(EEventType button, Int_t x, Int_t y)
Handle Input Events.
static TImage * Create()
Create an image.
virtual void SaveAs(const char *filename="", Option_t *option="") const
Save Pad contents in a file in one of various formats.
Bool_t HandleContainerDoubleClick(Event_t *ev)
Handle mouse button double click events in the canvas container.
virtual void Update()
Update canvas pad buffers.
TGCompositeFrame * fEditorFrame
TRootContainer * fCanvasContainer
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
virtual const char * GetName() const
Returns name of object.
virtual Int_t GetSize() const
virtual void DeleteWindow()
Delete window.
TGLayoutHints * fToolBarLayout
const Mask_t kAnyModifier
void SetCanvasSize(UInt_t w, UInt_t h)
Set size of canvas container. Units in pixels.
Bool_t HasStatusBar() const
Returns kTRUE if the status bar is shown.
void CloseWindow()
In case window is closed via WM we get here.
virtual ~TRootCanvas()
Delete ROOT basic canvas.
Draw the ROOT Color Wheel.
void Modified(Bool_t flag=1)
Bool_t HasToolBar() const
Returns kTRUE if the tool bar is shown.
Bool_t HasFixedAspectRatio() const
int main(int argc, char **argv)
virtual Bool_t HandleCrossing(Event_t *)
void SetWindowTitle(const char *newTitle)
Change title on window.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
Draw inheritance tree and their relations for a list of classes.
Bool_t GetAutoExec() const
virtual void SetGlobal(Bool_t)
virtual TCanvas * GetCanvas() const =0
virtual Int_t MustCleanup() const
void EnableHide(Bool_t onoff)
Enable hiding.
Int_t GetOptTitle() const
const char * Data() const
TGLayoutHints * fCanvasLayout