comparison Applications/Qt/QCairoWidget.h @ 276:5de5699ad570 am-2

first display in QCairoWidget; no mouse interaction yet
author am@osimis.io
date Mon, 27 Aug 2018 12:21:52 +0200
parents
children a38465cc909f
comparison
equal deleted inserted replaced
275:58e23e0dd86a 276:5de5699ad570
1 #pragma once
2
3 #include "../../Framework/Widgets/CairoWidget.h"
4 #include "../../Applications/Generic/BasicNativeApplicationContext.h"
5 #include "../../Framework/Viewport/CairoSurface.h"
6
7 #include <QWidget>
8 #include <QGestureEvent>
9 #include <memory>
10 #include <cassert>
11
12 class QCairoWidget : public QWidget
13 {
14 Q_OBJECT
15
16 private:
17 std::auto_ptr<QImage> image_;
18 OrthancStone::CairoSurface surface_;
19 OrthancStone::BasicNativeApplicationContext* context_;
20 bool isMouseOver_;
21 int mouseOverX_;
22 int mouseOverY_;
23 bool updateNeeded_;
24
25 std::auto_ptr<OrthancStone::IMouseTracker> mouseTracker_;
26
27 // void UpdateMouseCoordinates(int x,
28 // int y);
29
30 protected:
31 void paintEvent(QPaintEvent *event);
32
33 void resizeEvent(QResizeEvent *event);
34
35 // void mouseMoveEvent(QMouseEvent *event);
36
37 // void mousePressEvent(QMouseEvent *event);
38
39 // void mouseReleaseEvent(QMouseEvent *event);
40
41 // void wheelEvent(QWheelEvent *event);
42
43 public:
44 explicit QCairoWidget(QWidget *parent);
45
46 virtual ~QCairoWidget();
47
48 void SetContext(OrthancStone::BasicNativeApplicationContext& context)
49 {
50 context_ = &context;
51 }
52
53 // void SetCentralWidget(OrthancStone::CairoWidget& widget)
54 // {
55 // centralWidget_ = &widget;
56 // }
57
58 // void SetScene(OrthancStone::ICairoScene& scene);
59
60 // bool HasScene() const
61 // {
62 // return scene_ != NULL;
63 // }
64
65 // OrthancStone::ICairoScene& GetScene() const
66 // {
67 // assert(HasScene());
68 // return *scene_;
69 // }
70
71 // virtual void SignalUpdatedScene(OrthancStone::ICairoScene& scene)
72 // {
73 // //printf("UPDATE NEEDED\n"); fflush(stdout);
74 // updateNeeded_ = true;
75 // }
76
77 signals:
78 // void SliceChanged(int position);
79
80 // void RangeChanged(unsigned int countSlices);
81
82 // void PositionChanged(const QString& position);
83
84 // void ContentChanged();
85
86 public slots:
87 // void SetDefaultView();
88
89 // void Refresh();
90
91 // void SetSlice(int index);
92 };