blob: 7a305cf2f41649ae982da32bf7ecf2d550f13ff2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#ifndef MULTIEDITORIMAGE_H
#define MULTIEDITORIMAGE_H
#include "multieditor/multieditorwidget.h"
#include "multieditor/multieditorwidgetplugin.h"
#include "multieditorimage_global.h"
#include "datatype.h"
#include "plugins/genericplugin.h"
#include <QVariant>
class QLabel;
class QScrollArea;
class QScrollBar;
class MultiEditorImage : public MultiEditorWidget
{
Q_OBJECT
public:
MultiEditorImage();
void setValue(const QVariant& value);
QVariant getValue();
void setReadOnly(bool boolValue);
QList<QWidget*> getNoScrollWidgets();
void focusThisWidget();
void notifyAboutUnload();
private:
void scale(double factor);
QByteArray imgData;
QByteArray imgFormat;
QScrollArea* scrollArea = nullptr;
QLabel* imgLabel = nullptr;
QAction* loadAction = nullptr;
QAction* zoomInAct = nullptr;
QAction* zoomOutAct = nullptr;
double currentZoom = 1.0;
private slots:
void openFile();
void saveFile();
void zoomIn();
void zoomOut();
void resetZoom();
};
class MULTIEDITORIMAGE_EXPORT MultiEditorImagePlugin : public GenericPlugin, public MultiEditorWidgetPlugin
{
Q_OBJECT
SQLITESTUDIO_PLUGIN("multieditorimage.json")
public:
MultiEditorWidget* getInstance();
bool validFor(const DataType& dataType);
int getPriority(const DataType& dataType);
QString getTabLabel();
bool init();
void deinit();
private:
QList<MultiEditorImage*> instances;
};
#endif // MULTIEDITORIMAGE_H
|