diff options
Diffstat (limited to 'Plugins/MultiEditorImage/multieditorimage.h')
| -rw-r--r-- | Plugins/MultiEditorImage/multieditorimage.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Plugins/MultiEditorImage/multieditorimage.h b/Plugins/MultiEditorImage/multieditorimage.h new file mode 100644 index 0000000..7a305cf --- /dev/null +++ b/Plugins/MultiEditorImage/multieditorimage.h @@ -0,0 +1,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 |
