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 refrectScrollBar();
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:169
void scrollImage(double x, double y)
Definition: ImageViewWidget.cpp:101
bool hasFocus() const
Definition: ImageViewWidget.cpp:78
QMainWindow * mainwindow()
Definition: ImageViewWidget.cpp:187
static QString formatText(const Document::Line &line2)
Definition: ImageViewWidget.cpp:135
QSize imageSize() const
Definition: ImageViewWidget.cpp:209
bool isValidImage() const
Definition: ImageViewWidget.cpp:204
QSizeF imageScrollRange() const
Definition: ImageViewWidget.cpp:161
void setImageScale(double scale)
Definition: ImageViewWidget.cpp:335
void wheelEvent(QWheelEvent *) override
Definition: ImageViewWidget.cpp:342
void clear()
Definition: ImageViewWidget.cpp:127
void setImage(std::string mimetype, QByteArray const &ba)
Definition: ImageViewWidget.cpp:260
void paintEvent(QPaintEvent *) override
Definition: ImageViewWidget.cpp:216
void mouseMoveEvent(QMouseEvent *event) override
Definition: ImageViewWidget.cpp:317
void mousePressEvent(QMouseEvent *event) override
Definition: ImageViewWidget.cpp:307
void scrollByWheel(int lines)
void setLeftBorderVisible(bool f)
Definition: ImageViewWidget.cpp:84
void bind(FileDiffWidget *filediffwidget, QScrollBar *vsb, QScrollBar *hsb)
Definition: ImageViewWidget.cpp:71
void resizeEvent(QResizeEvent *) override
Definition: ImageViewWidget.cpp:255
void internalScrollImage(double x, double y)
Definition: ImageViewWidget.cpp:89
void refrectScrollBar()
Definition: ImageViewWidget.cpp:117
void updateScrollBarRange()
Definition: ImageViewWidget.cpp:182
ImageViewWidget(QWidget *parent=nullptr)
Definition: ImageViewWidget.cpp:51
Private * m
Definition: ImageViewWidget.h:17
QBrush getTransparentBackgroundBrush()
Definition: ImageViewWidget.cpp:192
~ImageViewWidget() override
Definition: ImageViewWidget.cpp:66
Definition: AbstractCharacterBasedApplication.h:53
Definition: ImageViewWidget.cpp:25