CustusX  2021.09.21-dev+develop.e3cd0
An IGT application
cxOptimizedUpdateWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 
13 #ifndef CXOPTIMIZEDUPDATEWIDGET_H_
14 #define CXOPTIMIZEDUPDATEWIDGET_H_
15 
16 #include "cxResourceWidgetsExport.h"
17 
18 #include <QWidget>
19 
20 namespace cx
21 {
22 
41 class cxResourceWidgets_EXPORT OptimizedUpdateWidget: public QWidget
42 {
43 Q_OBJECT
44 public:
45  OptimizedUpdateWidget(QWidget* parent = NULL);
47  void forcePrePaint(); // use to explicitly call the prePaintEvent. Use only for testing!
48 
49 public slots:
53  virtual void setModified();
54 
55 protected:
60  virtual void prePaintEvent() {}
65  virtual void paintEvent(QPaintEvent* event);
66 
67 private:
68  void prePaintEventPrivate();
69 
70  bool mModified;
71 };
72 
73 } // namespace cx
74 
75 #endif // CXOPTIMIZEDUPDATEWIDGET_H_
Interface for all classes following the modified/prepaint paradigm.
Namespace for all CustusX production code.