30 #ifndef ImageViewerWidget_H
31 #define ImageViewerWidget_H
33 #include <QGraphicsScene>
34 #include <QGraphicsView>
37 #include <QGridLayout>
39 #include "MagnifyView.h"
40 #include "ColorPicker.h"
41 #include "Core/include/DBinary.h"
42 #include "Core/include/DCommon.h"
44 class QwtPointSeriesData;
51 void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
52 void mousePressEvent(QGraphicsSceneMouseEvent *event);
53 void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
55 void onMouseMove(QGraphicsSceneMouseEvent *event);
56 void onMousePress(QGraphicsSceneMouseEvent *event);
57 void onMouseRelease(QGraphicsSceneMouseEvent *event);
68 virtual void mouseMoveEvent(QMouseEvent *event);
69 virtual void mousePressEvent(QMouseEvent *event);
70 virtual void mouseReleaseEvent(QMouseEvent *event);
71 virtual void wheelEvent(QWheelEvent *);
72 virtual void keyPressEvent(QKeyEvent *);
73 virtual void leaveEvent(QEvent *event);
75 virtual void setLabelImage(
bool val);
76 virtual void displayPixelValue(
size_t,
size_t,
size_t)
79 virtual void displayMagnifyView(
size_t,
size_t,
size_t)
82 virtual void displayMagnifyView()
84 displayMagnifyView(lastPixX, lastPixY, lastPixZ);
86 virtual void setCurSlice(
int)
89 virtual void redrawImage()
92 virtual void createOverlayImage();
93 virtual void deleteOverlayImage();
95 void setName(QString name);
96 void setImageSize(
int w,
int h,
int d = 1);
98 virtual void clearOverlay();
100 QStatusBar * statusBar;
102 QVector<QImage *> qOverlayImage;
103 QImage::Format imageFormat;
109 virtual void displayHistogram(
bool =
false)
112 virtual void displayProfile(
bool =
false)
122 QVector<QRgb> baseColorTable;
123 QVector<QRgb> rainbowColorTable;
124 QVector<QRgb> labelColorTable;
125 QVector<QRgb> overlayColorTable;
126 void initColorTables();
127 void updatePixmaps(QImage *image, QList<QGraphicsPixmapItem *> *pixmaps);
131 QList<QGraphicsPixmapItem *> imagePixmaps;
132 QList<QGraphicsPixmapItem *> overlayPixmaps;
140 size_t imWidth, imHeight, imDepth;
141 int lastPixX, lastPixY, lastPixZ;
144 bool valueLblActivated;
146 void createActions();
149 void displayHint(QString msg,
int timerVal = 1000);
151 QMap<QString, QAction *> actionMap;
157 virtual void dropEvent(QDropEvent *)
160 void dragMoveEvent(QDragMoveEvent *de);
161 void dragEnterEvent(QDragEnterEvent *event);
163 enum cursorMode { cursorMove, cursorDraw, cursorDrawLine, cursorDrawBox };
165 QGraphicsLineItem *line;
167 QList<ImageViewerWidget *> linkedWidgets;
173 void scrollContentsBy(
int dx,
int dy);
175 void load(
const QString fileName);
178 void scale(
double factor,
bool absolute =
true);
179 void sliderChanged(
int newVal)
181 displayHint(QString::number(newVal) +
"/" +
182 QString::number(slider->maximum()));
184 if (!qOverlayImage.isEmpty())
185 updatePixmaps(qOverlayImage[newVal], &overlayPixmaps);
187 virtual void overlayDataChanged(
bool triggerEvents =
true);
189 void showContextMenu(
const QPoint &pos);
190 void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
191 void setCursorMode(
const int &mode);
192 void setDrawPenColor(
const QColor &color);
194 void saveAs(
const char *fileName = NULL);
197 void setScrollBarPosition(
int x,
int y);
199 void sceneMousePressEvent(QGraphicsSceneMouseEvent *event);
200 void sceneMouseMoveEvent(QGraphicsSceneMouseEvent *event);
201 void sceneMouseReleaseEvent(QGraphicsSceneMouseEvent *event);
204 void onRescaled(
double scaleFactor);
205 void onDataChanged();
206 void onKeyPressEvent(QKeyEvent *);
207 void onScrollBarPositionChanged(
int dx,
int dy);
Definition: ColorPicker.h:99
Definition: MagnifyView.h:44
Definition: ImageViewerWidget.h:47