1 /* This file is part of the KDE project
2    Copyright (C)  2008 Pierre Stirnweiss <pstirnweiss@googlemail.com>
3    Copyright (C)  2012 Gopalakrishna Bhat A <gopalakbhat@gmail.com>
4 
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public
7    License as published by the Free Software Foundation; either
8    version 2 of the License, or (at your option) any later version.
9 
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14 
15    You should have received a copy of the GNU Library General Public License
16    along with this library; see the file COPYING.LIB.  If not, write to
17    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  * Boston, MA 02110-1301, USA.
19 */
20 
21 #ifndef FORMATTINGPREVIEW_H
22 #define FORMATTINGPREVIEW_H
23 
24 #include <KoCharacterStyle.h>
25 #include <KoParagraphStyle.h>
26 
27 #include <QFont>
28 #include <QFrame>
29 #include <QWidget>
30 
31 class QString;
32 class KoStyleThumbnailer;
33 
34 class FormattingPreview : public QFrame
35 {
36     Q_OBJECT
37 
38 public:
39     explicit FormattingPreview(QWidget* parent = 0);
40     ~FormattingPreview() override;
41 
42 public Q_SLOTS:
43     ///Character properties
44     void setCharacterStyle(const KoCharacterStyle *style);
45     void setParagraphStyle(const KoParagraphStyle *style);
46 
47     void setText(const QString &sampleText);
48 
49 protected:
50     void paintEvent(QPaintEvent *event) override;
51 
52 private:
53     QString m_sampleText;
54 
55     KoCharacterStyle *m_characterStyle;
56     KoParagraphStyle *m_paragraphStyle;
57     KoStyleThumbnailer *m_thumbnailer;
58     bool m_previewLayoutRequired;
59 };
60 
61 #endif //FORMATTINGPREVIEW_H
62