22#include "RConfigure.h"
78bool IsGeometryPrimitive(
TObject *obj)
88 return (geoVolumeClass && obj->
InheritsFrom(geoVolumeClass)) ||
90 (geoOverlapClass && obj->
InheritsFrom(geoOverlapClass)) ||
103 TIter next(primitives);
104 while (
TObject *obj = next()) {
105 if (IsGeometryPrimitive(obj))
210 "PostScript",
"*.ps",
211 "Encapsulated PostScript",
"*.eps",
216 "ROOT macros",
"*.C",
217 "ROOT files",
"*.root",
231 {
"",
"",
kFALSE, -1, 0 },
234 {
"",
"",
kFALSE, -1, 0 },
281 {
return fCanvas->HandleContainerDoubleClick(ev); }
284 return fCanvas->HandleContainerConfigure(ev); }
286 {
return fCanvas->HandleContainerKey(ev); }
288 {
return fCanvas->HandleContainerMotion(ev); }
290 {
return fCanvas->HandleContainerExpose(ev); }
292 {
return fCanvas->HandleContainerCrossing(ev); }
329 newpos =
fCanvas->fCanvasWindow->GetVsbPosition() - page;
330 if (newpos < 0) newpos = 0;
331 fCanvas->fCanvasWindow->SetVsbPosition(newpos);
336 newpos =
fCanvas->fCanvasWindow->GetVsbPosition() + page;
337 fCanvas->fCanvasWindow->SetVsbPosition(newpos);
340 return fCanvas->HandleContainerButton(event);
392 static Int_t img = 0;
488 if (
gStyle->GetOptTitle())
492 if (
gROOT->GetEditHistograms())
522 fViewWithMenu->Connect(
"PoppedUp()",
"TRootCanvas",
this,
"UpdateViewWithMenu()");
586 else if (
gVirtualX->InheritsFrom(
"TGCocoa"))
593 Error(
"CreateCanvas",
"GL manager plugin failed");
606 Error(
"CreateCanvas",
"GL context creation failed.");
608 Error(
"CreateCanvas",
"GL window creation failed\n");
626 fCanvas->Connect(
"ProcessedEvent(Int_t, Int_t, Int_t, TObject*)",
628 "EventInfo(Int_t, Int_t, Int_t, TObject*)");
631 int parts[] = { 33, 10, 10, 47 };
748 this,
"EventInfo(Int_t, Int_t, Int_t, TObject*)");
792 0, 0,
x,
y, childdum);
793 if (!
fCanvas->GetShowEditor())
return 0;
825 gROOT->SetEditorMode();
828 gROOT->SetEditorMode(
"Arc");
831 gROOT->SetEditorMode(
"Line");
834 gROOT->SetEditorMode(
"Arrow");
837 gROOT->SetEditorMode(
"Diamond");
840 gROOT->SetEditorMode(
"Ellipse");
843 gROOT->SetEditorMode(
"Pad");
846 gROOT->SetEditorMode(
"Pave");
849 gROOT->SetEditorMode(
"PaveLabel");
852 gROOT->SetEditorMode(
"PaveText");
855 gROOT->SetEditorMode(
"PavesText");
858 gROOT->SetEditorMode(
"PolyLine");
861 gROOT->SetEditorMode(
"CurlyLine");
864 gROOT->SetEditorMode(
"CurlyArc");
867 gROOT->SetEditorMode(
"Text");
870 gROOT->SetEditorMode(
"Marker");
873 gROOT->SetEditorMode(
"CutG");
878 gROOT->MakeDefCanvas();
900 gROOT->RefreshBrowsers();
907 static Int_t typeidx = 0;
910 TString defaultType =
gEnv->GetValue(
"Canvas.SaveAsDefaultType",
".pdf");
956 appendedType =
kTRUE;
960 Warning(
"ProcessMessage",
"file %s cannot be saved with this extension", fi.
fFilename);
1020 gROOT->ProcessLine(
"TStyleManager::Terminate()");
1028 gROOT->ProcessLine(
"TStyleManager::Show()");
1084 if (padsav) padsav->
cd();
1096 if (padsav) padsav->
cd();
1106 if (!PadHasGeometryContent(pad))
1111 gPad->GetViewer3D(
"ogl");
1146 if (
fCanvas->OpaqueMoving()) {
1155 if (
fCanvas->OpaqueResizing()) {
1164 gROOT->SetInterrupt();
1171 if (
gStyle->GetOptStat()) {
1173 delete gPad->FindObject(
"stats");
1183 if (
gStyle->GetOptTitle()) {
1185 delete gPad->FindObject(
"title");
1195 if (
gStyle->GetOptFit()) {
1206 if (
gROOT->GetEditHistograms()) {
1228 gROOT->ProcessLine(
"new TGRecorder()");
1250 if (handler && handler->
LoadPlugin() != -1) {
1252 Error(
"FitPanel",
"Unable to crate the FitPanel");
1255 Error(
"FitPanel",
"Unable to find the FitPanel plug-in");
1285 hd =
new TRootHelpDialog(
this,
"Help on Graphics Editor...", 600, 400);
1322 if (
fCanvas->OpaqueResizing())
1420 char *printer, *printCmd;
1421 static TString sprinter, sprintCmd;
1424 printer =
StrDup(
gEnv->GetValue(
"Print.Printer",
""));
1426 printer =
StrDup(sprinter);
1427 if (sprintCmd ==
"")
1429 printCmd =
StrDup(
gEnv->GetValue(
"Print.Command",
""));
1431 printCmd =
StrDup(
gEnv->GetValue(
"Print.Command",
"start AcroRd32.exe /p"));
1434 printCmd =
StrDup(sprintCmd);
1437 &printer, &printCmd, &
ret);
1440 sprintCmd = printCmd;
1446 FILE *
f =
gSystem->TempFileName(fn,
gEnv->GetValue(
"Print.Directory",
gSystem->TempDirectory()));
1455 cmd +=
" "; cmd += sprinter; cmd +=
" ";
1461 cmd +=
" "; cmd += fn; cmd +=
" ";
1479 if (!
fCanvas->GetShowToolTips() || selected == 0 ||
1483 TString objInfo = selected->GetObjectInfo(px, py);
1490 const char *title = selected->GetTitle();
1492 selected->GetName());
1493 if (title && strlen(title))
1500 fToolTip->SetPosition(px+15, py+15);
1527 if (dh - ch >= sh)
h =
h + sh;
1532 if (dh - ch < sh)
h = ch;
1550 auto lambda_show = [&,
this]() {
1582 if (
main &&
main->InheritsFrom(
"TRootBrowser")) {
1586 this,
"Activated(Int_t)");
1633 Int_t show =
gEnv->GetValue(
"Canvas.ShowEditor", 0);
1634 gEnv->SetValue(
"Canvas.ShowEditor",
"true");
1641 if (show == 0)
gEnv->SetValue(
"Canvas.ShowEditor",
"false");
1654 Int_t spacing = 6, i;
1682 fToolDock->Connect(
"Docked()",
"TRootCanvas",
this,
"AdjustSize()");
1683 fToolDock->Connect(
"Undocked()",
"TRootCanvas",
this,
"AdjustSize()");
1802 Int_t button =
event->fCode;
1849 Int_t button =
event->fCode;
1873 if (
fCanvas->HasFixedAspectRatio()) {
1875 static Int_t dh = 0;
1879 fCanvas->GetAspectRatio()) + dh;
1891 static UInt_t previous_keysym = 0;
1897 gVirtualX->LookupString(event, str,
sizeof(str), keysym);
1899 if (str[0] ==
kESC){
1907 gROOT->SetInterrupt();
1910 if (keysym > 0x1011 && keysym < 0x1016) {
1913 Int_t mx, my, tx, ty;
1914 wid =
gVirtualX->GetDefaultRootWindow();
1915 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
1918 mx, my, tx, ty, dum1);
1922 if ((previous_keysym == keysym) && (previous_event ==
kGKeyPress)) {
1941 previous_keysym = keysym;
1949 gVirtualX->LookupString(event, str,
sizeof(str), keysym);
1951 if (keysym > 0x1011 && keysym < 0x1016) {
1954 Int_t mx, my, tx, ty;
1955 wid =
gVirtualX->GetDefaultRootWindow();
1956 gVirtualX->QueryPointer(wid, dum1, dum2, mx, my, mx, my, mask);
1975 mx, my, tx, ty, dum1);
1977 previous_keysym = keysym;
1981 previous_event =
event->fType;
2012 if (event->
fCount == 0) {
2046 if (data->fDataType == rootObj) {
2050 if (!obj)
return kTRUE;
2054 if (!
object)
return kTRUE;
2055 if (
object->InheritsFrom(
"TGraph"))
2056 object->Draw(
"ALP");
2057 else if (
object->InheritsFrom(
"TImage"))
2059 else if (
object->IsA()->GetMethodAllAny(
"Draw"))
2070 else if (data->fDataType == uriObj) {
2071 TString sfname((
char *)data->fData);
2072 if (sfname.
Length() > 7) {
2106 gROOT->SetSelectedPad(pad);
2121 for (
int i = 0; typelist[i] !=
kNone; ++i) {
2122 if (typelist[i] == rootObj)
2124 if (typelist[i] == uriObj)
2169 if (PadHasGeometryContent(pad))
2180 out <<
"\n // canvas container\n";
2183 out <<
" Window_t winC = gVirtualX->GetWindowID(canvasID);\n";
2184 out <<
" TGCompositeFrame *" <<
GetName() <<
" = new TGCompositeFrame(gClient, winC, " <<
GetParent()->
GetName()
const Mask_t kButtonPressMask
const Mask_t kExposureMask
const Mask_t kKeyReleaseMask
const Mask_t kAnyModifier
const Mask_t kKeyPressMask
const Mask_t kPointerMotionMask
const Mask_t kKeyShiftMask
const Mask_t kLeaveWindowMask
const Mask_t kStructureNotifyMask
const Mask_t kButtonReleaseMask
const Mask_t kEnterWindowMask
Handle_t Window_t
Window handle.
R__EXTERN const char gHelpObjects[]
R__EXTERN const char gHelpPullDownMenus[]
R__EXTERN const char gHelpAbout[]
R__EXTERN const char gHelpGraphicsEditor[]
R__EXTERN const char gHelpCanvas[]
R__EXTERN const char gHelpBrowser[]
R__EXTERN const char gHelpPostscript[]
int Int_t
Signed integer 4 bytes (int).
long Longptr_t
Integer large enough to hold a pointer (platform-dependent).
unsigned long ULongptr_t
Unsigned integer large enough to hold a pointer (platform-dependent).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
constexpr Ssiz_t kNPOS
The equivalent of std::string::npos for the ROOT class TString.
const char Option_t
Option string (const char).
externTApplication * gApplication
Error("WriteTObject","The current directory (%s) is not associated with a file. The object (%s) has not been written.", GetName(), objname)
externInt_t gErrorIgnoreLevel
errors with level below this value will be ignored. Default is kUnset.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
static ToolBarData_t gToolBarData[]
static const char * gOpenTypes[]
static const char * gSaveAsTypes[]
static ToolBarData_t gToolBarData1[]
char * StrDup(const char *str)
Duplicate the string str.
externInt_t(* gThreadXAR)(const char *xact, Int_t nb, void **ar, Int_t *iret)
Using a TBrowser one can browse all ROOT objects.
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
void * ReadObjectAny(const TClass *cast) override
Read object from I/O buffer.
void SetReadMode()
Set buffer in read mode.
TCanvasImp(const TCanvasImp &ci)
Draw inheritance tree and their relations for a list of classes.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TMethod * GetMethodAllAny(const char *method)
Return pointer to method without looking at parameters.
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.
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
void Draw(Option_t *option="") override
Default Draw method for all objects.
Drag and drop data container.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
Int_t MustCleanup() const override
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
TGCompositeFrame(const TGCompositeFrame &)=delete
void Layout() override
Layout the elements of the composite frame.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
void SetEditDisabled(UInt_t on=1) override
Set edit disable flag for this frame and subframes.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
A frame with handles that allow it to be undocked (i.e.
System file browser, used as TRootBrowser plug-in.
void Selected(char *)
A ROOT File has been selected in TGHtmlBrowser.
This class creates a file selection dialog.
char * fFilename
selected file name
Int_t fFileTypeIdx
selected file type, index in fFileTypes
const char ** fFileTypes
file types used to filter selectable files
char * fIniDir
on input: initial directory, on output: new directory
Bool_t fOverwrite
if true overwrite the file with existing name on save
void SetIniDir(const char *inidir)
Set directory name.
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and/or resize the frame.
virtual Bool_t HandleConfigureNotify(Event_t *event)
This event is generated when the frame is resized.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
void Move(Int_t x, Int_t y) override
Move frame.
virtual void DeleteWindow()
Delete window.
void SetDNDTarget(Bool_t onoff)
A horizontal 3D line is a line that typically separates a toolbar from the menubar.
This class describes layout hints used by the layout classes.
TGMainFrame(const TGMainFrame &)=delete
Atom_t * fDNDTypeList
handles DND types
virtual void SendCloseMessage()
Send close message to self.
void SetClassHints(const char *className, const char *resourceName)
Set the windows class and resource name.
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
void SetWMPosition(Int_t x, Int_t y)
Give the window manager a window position hint.
void SetWindowName(const char *name=nullptr) override
Set window name. This is typically done via the window manager.
const char * GetWindowName() const
const TGPicture * SetIconPixmap(const char *iconName)
Set window icon pixmap by name.
TGClient * fClient
Connection to display server.
Handle_t fId
X11/Win32 Window identifier.
Provides a StatusBar widget.
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
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...
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
A vertical 3D line is a line that can be used to separate groups of widgets.
virtual const TGWindow * GetMainFrame() const
Returns top level main frame.
const TGWindow * fParent
Parent window.
@ kEditEnable
allow edit of this window
@ kEditDisable
disable edit of this window
const TGWindow * GetParent() const
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
const char * GetName() const override
Return unique name, used in SavePrimitive methods.
UInt_t fEditDisabled
flags used for "guibuilding"
static TGuiBuilder * Instance()
return an instance of TGuiBuilder object
An abstract interface to image processing library.
virtual void SetEditable(Bool_t=kTRUE)
static TImage * Open(const char *file, EImageFileTypes type=kUnknown)
Open a specified image file.
static TImage * Create()
Create an image.
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
static void DisplayMarkerTypes()
Display the table of markers with their numbers.
Mother of all ROOT objects.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual TClass * IsA() const
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
The most important graphics class in the ROOT system.
void Update() override
Update pad.
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
Longptr_t ExecPlugin(int nargs)
Int_t LoadPlugin()
Load the plugin library for this handler.
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.
Bool_t Disconnect(const char *signal=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
This class creates a ROOT object browser, constituted by three main tabs.
TGTab * GetTabLeft() const
void StartEmbedding(Int_t pos=kRight, Int_t subpos=-1) override
Start embedding external frame in the tab "pos" and tab element "subpos".
void StopEmbedding(const char *name=nullptr) override
TBrowserImp * GetActBrowser() const
TGFrame * GetActFrame() const
TGTab * GetTabRight() const
This class creates a main window with menubar, scrollbars and a drawing area.
TGToolBar * fToolBar
icon button toolbar
UInt_t GetCwidth() const
Return width of canvas container.
void AdjustSize()
Keep the same canvas size while docking/undocking toolbar.
Bool_t fAutoFit
when true canvas container keeps same size as canvas
TGPopupMenu * fEditMenu
edit menu
friend class TRootContainer
void CreateEditor()
Create embedded editor.
Bool_t HasEditor() const override
Returns kTRUE if the editor is shown.
Bool_t HandleContainerKey(Event_t *ev)
Handle keyboard events in the canvas container.
UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h) override
Gets the size and position of the window containing the canvas.
void Close() override
Called via TCanvasImp interface by TCanvas.
Bool_t HandleDNDDrop(TDNDData *data) override
Handle drop events.
void SetStatusText(const char *txt=nullptr, Int_t partidx=0) override
Set text in status bar.
TGLayoutHints * fMainFrameLayout
layout for main frame
Bool_t HandleContainerButton(Event_t *ev)
Handle mouse button events in the canvas container.
Bool_t HandleContainerCrossing(Event_t *ev)
Handle enter/leave events. Only leave is activated at the moment.
UInt_t GetCheight() const
Return height of canvas container.
TGDockableFrame * fToolDock
dockable frame holding the toolbar
void RaiseWindow() override
Put canvas window on top of the window stack.
void ShowEditor(Bool_t show=kTRUE) override
Show or hide side frame.
Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
Handle menu and other command generated by the user.
void ReallyDelete() override
Really delete the canvas and this GUI.
void ShowMenuBar(Bool_t show=kTRUE) override
Show or hide menubar.
Atom_t HandleDNDEnter(Atom_t *typelist) override
Handle drag enter events.
void ShowStatusBar(Bool_t show=kTRUE) override
Show or hide statusbar.
TGHorizontal3DLine * fHorizontal1
toolbar separator
TGLayoutHints * fEditorLayout
layout for editor frame
TGPopupMenu * fToolsMenu
tools menu
TGLayoutHints * fMenuBarItemLayout
layout hints for menu in menubar
Int_t fCanvasID
index in fWindows array of TGX11
const TGPicture * fIconPic
icon picture
void SetCanvasSize(UInt_t w, UInt_t h) override
Set size of canvas container.
void SetWindowSize(UInt_t w, UInt_t h) override
Set size of canvas (units in pixels).
void PrintCanvas()
Print the canvas.
TRootCanvas(const TRootCanvas &)=delete
void ShowToolBar(Bool_t show=kTRUE) override
Show or hide toolbar.
Bool_t HasToolBar() const override
Returns kTRUE if the tool bar is shown.
void Activated(Int_t id)
Slot handling tab switching in the browser, to properly set the canvas and the model to the editor.
TGHorizontal3DLine * fToolBarSep
toolbar separator
TGPopupMenu * fViewWithMenu
view with... cascade submenu
TGPopupMenu * fEditClearMenu
clear cascade submenu
void ShowToolTips(Bool_t show=kTRUE) override
Enable or disable tooltip info.
Bool_t HasToolTips() const override
Returns kTRUE if the tooltips are enabled.
TRootContainer * fCanvasContainer
container in canvas widget
Bool_t fEmbedded
true if embedded in any other frame (e.g. in the browser)
Bool_t HandleContainerDoubleClick(Event_t *ev)
Handle mouse button double click events in the canvas container.
TGLayoutHints * fHorizontal1Layout
layout hints for separator
TGVertical3DLine * fVertical2
toolbar vertical separator
TGLayoutHints * fMenuBarLayout
menubar layout hints
void FitCanvas()
Fit canvas container to current window size.
Bool_t HandleContainerMotion(Event_t *ev)
Handle mouse motion event in the canvas container.
TGCanvas * fCanvasWindow
canvas widget
TGLayoutHints * fMenuBarHelpLayout
layout hint for help menu in menubar
TGPopupMenu * fViewMenu
view menu
TGStatusBar * fStatusBar
statusbar widget
TGPopupMenu * fOptionMenu
option menu
TGLayoutHints * fDockLayout
layout hints for dockable frame widget
TGPopupMenu * fHelpMenu
help menu
void EventInfo(Int_t event, Int_t px, Int_t py, TObject *selected)
Display a tooltip with infos about the primitive below the cursor.
void CreateCanvas(const char *name)
Create the actual canvas.
TGLayoutHints * fVertical1Layout
layout hints for separator
Bool_t HasStatusBar() const override
Returns kTRUE if the status bar is shown.
Bool_t HandleContainerConfigure(Event_t *ev)
Handle configure (i.e. resize) event.
Bool_t HasMenuBar() const override
Returns kTRUE if the menu bar is shown.
TGCompositeFrame * fMainFrame
main frame containing canvas and side frame
Int_t InitWindow() override
Called by TCanvas ctor to get window indetifier.
void UpdateViewWithMenu()
Update the "View With" submenu based on the currently selected pad content.
TGLayoutHints * fVertical2Layout
layout hints for separator
TVirtualPadEditor * fEditor
pointer to currently loaded pad editor
TGMenuBar * fMenuBar
menubar
void SetWindowPosition(Int_t x, Int_t y) override
Set canvas position (units in pixels).
Bool_t HandleContainerExpose(Event_t *ev)
Handle expose events.
TGLayoutHints * fCanvasLayout
layout for canvas widget
TGLayoutHints * fToolBarLayout
layout for toolbar widget
Bool_t HandleDNDLeave() override
Handle drag leave events.
TGCompositeFrame * fEditorFrame
side frame for current pad editor
~TRootCanvas() override
Delete ROOT basic canvas.
TGToolTip * fToolTip
tooltip for object info
TGPopupMenu * fFileMenu
file menu
TGPopupMenu * fFileSaveMenu
save cascade submenu
Atom_t HandleDNDPosition(Int_t x, Int_t y, Atom_t action, Int_t xroot, Int_t yroot) override
Handle dragging position events.
void SetWindowTitle(const char *newTitle) override
Change title on window.
void CloseWindow() override
In case window is closed via WM we get here.
Int_t fButton
currently pressed button
TGLayoutHints * fStatusBarLayout
layout hints for statusbar
TGVertical3DLine * fVertical1
toolbar vertical separator
Bool_t HandleCrossing(Event_t *ev) override
void SetEditable(Bool_t) override
Switch ON/OFF edit mode.
Bool_t HandleDoubleClick(Event_t *ev) override
TRootContainer(TRootCanvas *c, Window_t id, const TGWindow *parent)
Create a canvas container.
Bool_t HandleMotion(Event_t *ev) override
Bool_t HandleKey(Event_t *ev) override
Bool_t HandleConfigureNotify(Event_t *ev) override
This event is generated when the frame is resized.
Bool_t HandleExpose(Event_t *ev) override
void SavePrimitive(std::ostream &out, Option_t *="") override
Save a canvas container as a C++ statement(s) on output stream out.
Bool_t HandleButton(Event_t *ev) override
Directly handle scroll mouse buttons (4 and 5), only pass buttons 1, 2 and 3 on to the TCanvas.
A TRootHelpDialog is used to display help text (or any text in a dialog window).
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
TString & Remove(Ssiz_t pos)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
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.
This class represents a WWW compatible URL.
const char * GetFile() const
Abstract base class used by ROOT graphics editor.
virtual TCanvas * GetCanvas() const =0
static TVirtualPadEditor * LoadEditor()
Static function returning a pointer to a new pad editor.
static TVirtualPadEditor * GetPadEditor(Bool_t load=kTRUE)
Returns the pad editor dialog. Static method.
static void Terminate()
Close the global pad editor. Static method.
small helper class to store/restore gPad context in TPad methods
TVirtualPad is an abstract base class for the Pad and Canvas classes.
virtual TList * GetListOfPrimitives() const =0
virtual TVirtualPad * cd(Int_t subpadnumber=0)=0
virtual TVirtualViewer3D * GetViewer3D(Option_t *type="")=0
int main(int argc, char **argv)
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
EGEventType fType
of event (see EGEventType)
Int_t fCount
if non-zero, at least this many more exposes
UInt_t fState
key or button mask
UInt_t fCode
key or button code