18#include <QtCore/QTimer>
19#include <QDragEnterEvent>
46 setObjectName(
"QPaintWidget");
48 setSizeIncrement(QSize(100, 100));
50 setUpdatesEnabled(
true);
51 setMouseTracking(
true);
53 setFocusPolicy(Qt::TabFocus);
54 setCursor(Qt::CrossCursor);
77 return QPoint(scaledX, scaledY);
88 auto *helpEvent =
static_cast<QHelpEvent *
>(
event);
95 customText = QString(
"%1::%2<br>%3<br>%4, %5<br>%6")
96 .arg(selected->ClassName()).arg(selected->GetName())
97 .arg(selected->GetTitle())
99 .arg(selected->GetObjectInfo(px, py));
101 customText = QString(
"No selected object<br>%1, %2")
106 QToolTip::showText(helpEvent->globalPos(), customText,
this);
111 return QWidget::event(
event);
136 QPainter painter(
this);
156 switch(
e->button()) {
161 case Qt::RightButton : {
165 case Qt::MiddleButton :
188 if (
e->buttons() & Qt::LeftButton)
200 buffer = selected->GetName();
202 buffer += selected->GetObjectInfo(px, py);
204 buffer =
"No selected object x = ";
205 buffer += QString::number(px);
207 buffer += QString::number(py);
221 switch(
event->button()) {
222 case Qt::LeftButton :
225 case Qt::RightButton :
228 case Qt::MiddleButton :
247 switch(
event->button()) {
248 case Qt::LeftButton : {
253 case Qt::RightButton :
256 case Qt::MiddleButton :
273 QPoint delta =
event->pixelDelta();
275 delta =
event->angleDelta() / 8;
276 bool positive = delta.x() > 0 || delta.y() > 0;
291 QWidget::enterEvent(
event);
301 QWidget::leaveEvent(
event);
Int_t GetEventY() const override
virtual void Resize(Option_t *option="")
Recompute canvas parameters following a X11 Resize.
virtual void HandleInput(EEventType button, Int_t x, Int_t y)
Handle Input Events.
TObject * GetSelected() const override
Int_t GetEventX() const override
void Paint(Option_t *option="") override
Paint canvas.
Mother of all ROOT objects.
void Modified(Bool_t flag=true) override
Mark pad modified Will be repainted when TCanvas::Update() will be called next time.