Guitar
ImageViewWidget.h
Go to the documentation of this file.
1 #ifndef IMAGEVIEWWIDGET_H
2 #define IMAGEVIEWWIDGET_H
3 
4 #include <QScrollBar>
5 #include <QWidget>
6 #include "Git.h"
7 #include "MainWindow.h"
9 
10 class FileDiffWidget;
11 
13 
14 class ImageViewWidget : public QWidget {
15  Q_OBJECT
16 private:
17  struct Private;
19 
20  bool isValidImage() const;
21  QSize imageSize() const;
22 
23  QSizeF imageScrollRange() const;
24  void internalScrollImage(double x, double y);
25  void scrollImage(double x, double y);
26  void setImageScale(double scale);
28  bool hasFocus() const;
29  void setScrollBarRange(QScrollBar *h, QScrollBar *v);
30  void updateScrollBarRange();
31 protected:
32  QMainWindow *mainwindow();
33  void resizeEvent(QResizeEvent *) override;
34  void paintEvent(QPaintEvent *) override;
35  void mousePressEvent(QMouseEvent *event) override;
36  void mouseMoveEvent(QMouseEvent *event) override;
37  void wheelEvent(QWheelEvent *) override;
38 public:
39  explicit ImageViewWidget(QWidget *parent = nullptr);
40  ~ImageViewWidget() override;
41 
42  void bind(FileDiffWidget *filediffwidget, QScrollBar *vsb, QScrollBar *hsb);
43 
44  void clear();
45 
46  void setImage(std::string mimetype, QByteArray const &ba);
47 
48  void setLeftBorderVisible(bool f);
49 
50  void reflectScrollBar();
51 
52  static QString formatText(const Document::Line &line2);
53 signals:
54  void scrollByWheel(int lines);
55 };
56 
57 #endif // IMAGEVIEWWIDGET_H
Definition: FileDiffSliderWidget.h:21
The FileDiffWidget class サイドバイサイドで2つのファイルのdiffを表示するウィジェット
Definition: FileDiffWidget.h:40
Definition: ImageViewWidget.h:14
void setScrollBarRange(QScrollBar *h, QScrollBar *v)
Definition: ImageViewWidget.cpp:170
void scrollImage(double x, double y)
Definition: ImageViewWidget.cpp:102
bool hasFocus() const
Definition: ImageViewWidget.cpp:79
QMainWindow * mainwindow()
Definition: ImageViewWidget.cpp:188
static QString formatText(const Document::Line &line2)
Definition: ImageViewWidget.cpp:136
QSize imageSize() const
Definition: ImageViewWidget.cpp:210
bool isValidImage() const
Definition: ImageViewWidget.cpp:205
QSizeF imageScrollRange() const
Definition: ImageViewWidget.cpp:162
void setImageScale(double scale)
Definition: ImageViewWidget.cpp:336
void wheelEvent(QWheelEvent *) override
Definition: ImageViewWidget.cpp:343
void clear()
Definition: ImageViewWidget.cpp:128
void setImage(std::string mimetype, QByteArray const &ba)
Definition: ImageViewWidget.cpp:261
void paintEvent(QPaintEvent *) override
Definition: ImageViewWidget.cpp:217
void mouseMoveEvent(QMouseEvent *event) override
Definition: ImageViewWidget.cpp:318
void mousePressEvent(QMouseEvent *event) override
Definition: ImageViewWidget.cpp:308
void scrollByWheel(int lines)
void reflectScrollBar()
Definition: ImageViewWidget.cpp:118
void setLeftBorderVisible(bool f)
Definition: ImageViewWidget.cpp:85
void bind(FileDiffWidget *filediffwidget, QScrollBar *vsb, QScrollBar *hsb)
Definition: ImageViewWidget.cpp:72
void resizeEvent(QResizeEvent *) override
Definition: ImageViewWidget.cpp:256
void internalScrollImage(double x, double y)
Definition: ImageViewWidget.cpp:90
void updateScrollBarRange()
Definition: ImageViewWidget.cpp:183
ImageViewWidget(QWidget *parent=nullptr)
Definition: ImageViewWidget.cpp:52
Private * m
Definition: ImageViewWidget.h:17
QBrush getTransparentBackgroundBrush()
Definition: ImageViewWidget.cpp:193
~ImageViewWidget() override
Definition: ImageViewWidget.cpp:67
Definition: AbstractCharacterBasedApplication.h:52
Definition: ImageViewWidget.cpp:26