Added Logic for Customizable Plugin and Filter Support Framework
[photoenhancer] / src / core / baseui / workspace.h
1 #ifndef WORKSPACE_H
2 #define WORKSPACE_H
3
4 #include <QWidget>
5 #include <QThread>
6
7 class ImageLoader:public QThread
8 {
9     Q_OBJECT
10 public:
11     ImageLoader();
12     void fetchImage(QString path);
13 private:
14     void run();
15 signals:
16     void ready(QImage&);
17 private:
18     QString url;
19 };
20
21 //Need to be scrollable image
22 class Workspace : public QWidget
23 {
24     Q_OBJECT
25 public:
26     Workspace(QWidget *parent = 0);
27     void loadImage(QString fileName);
28     virtual void paintEvent(QPaintEvent *);
29     void keyPressEvent(QKeyEvent *);
30 signals:
31
32     //testing
33
34 public slots:
35     void zoomIn();
36     void zoomOut();
37 private slots:
38     void onImageLoaded(QImage&);
39 private:
40     QImage mImage;
41     ImageLoader *mImageLoader;
42 };
43
44 #endif // WORKSPACE_H