GSI Object Oriented Online Offline (Go4) GO4-6.4.0
Loading...
Searching...
No Matches
QWebCanvas.h
Go to the documentation of this file.
1// $Id$
2//-----------------------------------------------------------------------
3// The GSI Online Offline Object Oriented (Go4) Project
4// Experiment Data Processing at EE department, GSI
5//-----------------------------------------------------------------------
6// Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7// Planckstr. 1, 64291 Darmstadt, Germany
8// Contact: http://go4.gsi.de
9//-----------------------------------------------------------------------
10// This software can be used under the license agreements as stated
11// in Go4License.txt file which is part of the distribution.
12//-----------------------------------------------------------------------
13
14#ifndef QWEBCANVAS_H
15#define QWEBCANVAS_H
16
17#include <QWidget>
18#include <QWebEngineView>
19
20class TCanvas;
21class TPad;
22class TObject;
23class QTimer;
24
25class QWebCanvas : public QWidget {
26
27 Q_OBJECT
28
29public:
30 QWebCanvas(QWidget *parent = nullptr);
31 virtual ~QWebCanvas();
32
34 TCanvas *getCanvas() { return fCanvas; }
35
36 bool isStatusBarVisible();
37 bool isEditorVisible();
38
39 void Modified();
40 void Update();
41
42signals:
43
44 void CanvasDropEvent(QDropEvent *, TPad *);
45
47
48 void SelectedPadChanged(TPad *);
49
50 void PadClicked(TPad *, int, int);
51
52 void PadDblClicked(TPad *, int, int);
53
54public slots:
55
56 void activateEditor(TPad *pad = nullptr, TObject *obj = nullptr);
57 void activateStatusLine();
58
59 void setStatusBarVisible(bool flag = true);
60
61 void setEditorVisible(bool flag = true);
62
63protected slots:
64
65 void dropView(QDropEvent* event);
66
68
69protected:
70
71 void resizeEvent(QResizeEvent *event) override;
72
73 void dropEvent(QDropEvent *event) override;
74
75 double scaledPosition(int p) { return (double) p * fQtScalingfactor; }
76
77 void SetPrivateCanvasFields(bool on_init);
78
80
81 void ProcessActivePadChanged(TPad *pad) { emit SelectedPadChanged(pad); }
82
83 void ProcessPadClicked(TPad *pad, int x, int y) { emit PadClicked(pad,x,y); }
84
85 void ProcessPadDblClicked(TPad *pad, int x, int y) { emit PadDblClicked(pad,x,y); }
86
87 QWebEngineView *fView{nullptr};
88
89 TCanvas *fCanvas{nullptr};
90
91 QTimer *fRepaintTimer{nullptr};
92
94};
95
96#endif
void dropEvent(QDropEvent *event) override
void SetPrivateCanvasFields(bool on_init)
void Update()
void Modified()
void CanvasDropEvent(QDropEvent *, TPad *)
void activateStatusLine()
bool isStatusBarVisible()
QWebEngineView * fView
qt webwidget to show
Definition QWebCanvas.h:87
void ProcessActivePadChanged(TPad *pad)
Definition QWebCanvas.h:81
virtual ~QWebCanvas()
void processRepaintTimer()
void SelectedPadChanged(TPad *)
double scaledPosition(int p)
Definition QWebCanvas.h:75
void activateEditor(TPad *pad=nullptr, TObject *obj=nullptr)
TCanvas * getCanvas()
returns canvas shown in the widget
Definition QWebCanvas.h:34
QWebCanvas(QWidget *parent=nullptr)
QTimer * fRepaintTimer
Definition QWebCanvas.h:91
void PadDblClicked(TPad *, int, int)
void CanvasUpdated()
void PadClicked(TPad *, int, int)
void ProcessCanvasUpdated()
Definition QWebCanvas.h:79
void setStatusBarVisible(bool flag=true)
void ProcessPadClicked(TPad *pad, int x, int y)
Definition QWebCanvas.h:83
void ProcessPadDblClicked(TPad *pad, int x, int y)
Definition QWebCanvas.h:85
bool isEditorVisible()
void dropView(QDropEvent *event)
void resizeEvent(QResizeEvent *event) override
TCanvas * fCanvas
Definition QWebCanvas.h:89
void setEditorVisible(bool flag=true)
double fQtScalingfactor
Definition QWebCanvas.h:93