20#include <QtDesigner/QDesignerExportWidget>
21#define GO4_WIDGET_EXPORT QDESIGNER_WIDGET_EXPORT
23#define GO4_WIDGET_EXPORT
26#include "RtypesCore.h"
39class TVirtualPadEditor;
61 enum { act_Update = 1, act_Resize = 2 };
110 void cd(Int_t subpadnumber = 0);
114 virtual void Draw(Option_t *option =
"");
147 virtual void GetCanvasPar(Int_t &wtopx, Int_t &wtopy, UInt_t &ww, UInt_t &wh);
153 virtual void ls(Option_t *option =
"");
158 virtual void Paint(Option_t *option =
"");
159 virtual TPad *
Pick(Int_t px, Int_t py, TObjLink *&pickobj);
160 virtual TPad *
Pick(Int_t px, Int_t py, TObject *prevSelObj);
161 virtual void Resize(Option_t *option =
"");
163 void SaveSource(
const char *filename =
"", Option_t *option =
"");
173 virtual void Size(Float_t xsizeuser = 0, Float_t ysizeuser = 0);
208 QAction*
addMenuAction(QMenu *menu, QSignalMapper *map,
const QString &text,
int id);
213 Int_t fRootWindowId{0};
215 QTimer *fRepaintTimer{
nullptr};
218 QFrame *fEditorFrame{
nullptr};
219 TVirtualPadEditor *fxPeditor{
nullptr};
220 QRootWindow *fxRooteditor{
nullptr};
221 TH1 *fDummyHisto{
nullptr};
223 QStatusBar *fStatusBar{
nullptr};
226 bool fMaskDoubleClick{
false};
227 double fMousePosX{0};
228 double fMousePosY{0};
230 TObject *fMenuObj{
nullptr};
231 TList *fMenuMethods{
nullptr};
232 bool fxShowEventStatus{
false};
234 double fQtScalingfactor{0};
This canvas uses Qt eventloop to handle user input.
void activateRepaint(int act)
void SelectedPadChanged(TPad *)
signal which will be emitted when root selected pad is changed via clicking the mid-mouse button (M.
virtual TObject * DrawClone(Option_t *option="")
bool isStatusBarVisible()
virtual void Draw(Option_t *option="")
void activateEditor(TPad *pad, TObject *obj)
virtual void ToggleEventStatus()
void FeedbackMode(Bool_t set)
void showStatusMessage(const char *msg)
void setEditorFrame(QFrame *fr)
void dropEvent(QDropEvent *Event) override
double scaledPosition(int p)
returns scaled point coordinate, for high dpi case
void paintEvent(QPaintEvent *e) override
virtual void SetDoubleBuffer(Int_t mode=1)
void processRepaintTimer()
void SetTitle(const char *title="")
void closeEvent(QCloseEvent *e) override
void CanvasDropEvent(QDropEvent *, TPad *)
virtual TPad * Pick(Int_t px, Int_t py, TObjLink *&pickobj)
void SetCanvasSize(UInt_t ww, UInt_t wh)
void mouseDoubleClickEvent(QMouseEvent *e) override
virtual void ls(Option_t *option="")
TVirtualPad * GetPadSave()
virtual TPad * Pick(Int_t px, Int_t py, TObject *prevSelObj)
void SetRetained(Bool_t retained=kTRUE)
const char * GetDISPLAY()
void setShowEventStatus(bool s)
void SaveSource(const char *filename="", Option_t *option="")
void MoveOpaque(Int_t set=1)
TVirtualPad * GetSelectedPad()
QAction * addMenuAction(QMenu *menu, QSignalMapper *map, const QString &text, int id)
Color_t GetHighLightColor()
QRootCanvas(QWidget *parent=nullptr)
virtual void ToggleAutoExec()
QPaintEngine * paintEngine() const override
void setStatusBarVisible(bool flag)
void SetWindowPosition(Int_t x, Int_t y)
virtual void Resize(Option_t *option="")
void methodDialog(TObject *object, TMethod *method)
void leaveEvent(QEvent *e) override
void mousePressEvent(QMouseEvent *e) override
QPoint scaledMousePoint(QMouseEvent *ev)
void wheelEvent(QWheelEvent *e) override
void setMaskDoubleClick(bool on=true)
void SetWindowSize(UInt_t ww, UInt_t wh)
void PadDoubleClicked(TPad *, int, int)
signal emitted when user produce left mouse double-click on pad
void mouseMoveEvent(QMouseEvent *e) override
void MenuCommandExecuted(TObject *, const char *)
void Clear(Option_t *option="")
void PadClicked(TPad *, int, int)
signal emitted when mouse clicks on pad
virtual void SetCursor(ECursor cursor)
void setStatusBar(QStatusBar *bar)
void ResizeOpaque(Int_t set=1)
void SetBatch(Bool_t batch=kTRUE)
virtual TObject * DrawClonePad()
void Close(Option_t *option="")
void cd(Int_t subpadnumber=0)
virtual void Size(Float_t xsizeuser=0, Float_t ysizeuser=0)
Option_t * GetSelectedOpt()
void SetSelected(TObject *obj)
void SetSelectedPad(TPad *pad)
virtual void GetCanvasPar(Int_t &wtopx, Int_t &wtopy, UInt_t &ww, UInt_t &wh)
void CanvasStatusEvent(const char *)
Bool_t GetShowEventStatus()
void resizeEvent(QResizeEvent *e) override
TContextMenu * GetContextMenu()
void SetHighLightColor(Color_t col)
void EnterLeave(TPad *prevSelPad, TObject *prevSelObj)
virtual void Paint(Option_t *option="")
bool showEventStatus() const
void mouseReleaseEvent(QMouseEvent *e) override
virtual void Browse(TBrowser *b)
virtual void HandleInput(EEventType button, Int_t x, Int_t y)
void dragEnterEvent(QDragEnterEvent *e) override
Qt widget wrapper for ROOT TGWindow class.
#define GO4_WIDGET_EXPORT