Krita Source Code Documentation
Loading...
Searching...
No Matches
rwidgetutils.h
Go to the documentation of this file.
1
26#ifndef RWIDGETUTILS_H
27#define RWIDGETUTILS_H
28
29// Qt includes
30
31#include <QLabel>
32#include <QString>
33#include <QFrame>
34#include <QLineEdit>
35#include <QSize>
36#include <QPixmap>
37#include <QFileDialog>
38#include <QColor>
39#include <QPushButton>
40
41// Local includes
42
43
44
45namespace KDcrawIface
46{
47
51class RActiveLabel : public QLabel
52{
53 Q_OBJECT
54
55public:
56
57 explicit RActiveLabel(const QUrl& url=QUrl(), const QString& imgPath=QString(), QWidget* const parent=0);
58 ~RActiveLabel() override;
59
60 void updateData(const QUrl& url, const QImage& img);
61};
62
63// ------------------------------------------------------------------------------------
64
68class RLineWidget : public QFrame
69{
70 Q_OBJECT
71
72public:
73
74 explicit RLineWidget(Qt::Orientation orientation, QWidget* const parent=0);
75 ~RLineWidget() override;
76};
77
78// ------------------------------------------------------------------------------------
79
82class RHBox : public QFrame
83{
84 Q_OBJECT
85 Q_DISABLE_COPY(RHBox)
86
87public:
88
89 explicit RHBox(QWidget* const parent=0);
90 ~RHBox() override;
91
92 void setMargin(int margin);
93 void setSpacing(int space);
94 void setStretchFactor(QWidget* const widget, int stretch);
95
96 QSize sizeHint() const override;
97 QSize minimumSizeHint() const override;
98
99protected:
100
101 RHBox(bool vertical, QWidget* const parent);
102
103 void childEvent(QChildEvent* e) override;
104};
105
106// ------------------------------------------------------------------------------------
107
110class RVBox : public RHBox
111{
112 Q_OBJECT
113 Q_DISABLE_COPY(RVBox)
114
115 public:
116
117 explicit RVBox(QWidget* const parent=0);
118 ~RVBox() override;
119};
120
121// ------------------------------------------------------------------------------------
122
125class RAdjustableLabel : public QLabel
126{
127 Q_OBJECT
128
129public:
130
131 explicit RAdjustableLabel(QWidget* const parent=0);
132 ~RAdjustableLabel() override;
133
134 QSize minimumSizeHint() const override;
135 QSize sizeHint() const override;
136
137 void setAlignment(Qt::Alignment align);
138 void setElideMode(Qt::TextElideMode mode);
139
140 QString adjustedText() const;
141
142public Q_SLOTS:
143
144 void setAdjustedText(const QString& text=QString());
145
146private:
147
148 void resizeEvent(QResizeEvent*) override;
149 void adjustTextToLabel();
150
151 // Disabled methods from QLabel
152 QString text() const { return QString(); }; // Use adjustedText() instead.
153 void setText(const QString&) {}; // Use setAdjustedText(text) instead.
154 void clear() {}; // Use setdjustedText(QString()) instead.
155
156private:
157
158 class Private;
159 Private* const d;
160};
161
162// ------------------------------------------------------------------------------------
163
167class RFileSelector : public RHBox
168{
169 Q_OBJECT
170
171public:
172
173 explicit RFileSelector(QWidget* const parent=0);
174 ~RFileSelector() override;
175
176 QLineEdit* lineEdit() const;
177
178 void setFileDlgMode(QFileDialog::FileMode mode);
179 void setFileDlgFilter(const QString& filter);
180 void setFileDlgTitle(const QString& title);
181 void setFileDlgOptions(QFileDialog::Options opts);
182
183Q_SIGNALS:
184
186 void signalUrlSelected(const QUrl&);
187
188private Q_SLOTS:
189
190 void slotBtnClicked();
191
192private:
193
194 class Private;
195 Private* const d;
196};
197
198// --------------------------------------------------------------------------------------
199
203{
204public:
205
206 explicit WorkingPixmap();
208
209 bool isEmpty() const;
210 QSize frameSize() const;
211 int frameCount() const;
212 QPixmap frameAt(int index) const;
213
214private:
215
217};
218
219// ------------------------------------------------------------------------------------
220
223class RColorSelector : public QPushButton
224{
225 Q_OBJECT
226
227public:
228
229 explicit RColorSelector(QWidget* const parent=0);
230 ~RColorSelector() override;
231
232 void setColor(const QColor& color);
233 QColor color() const;
234
235Q_SIGNALS:
236
237 void signalColorSelected(const QColor&);
238
239private Q_SLOTS:
240
241 void slotBtnClicked();
242
243private:
244
245 void paintEvent(QPaintEvent*) override;
246
247private:
248
249 class Private;
250 Private* const d;
251};
252
253} // namespace KDcrawIface
254
255#endif // RWIDGETUTILS_H
RActiveLabel(const QUrl &url=QUrl(), const QString &imgPath=QString(), QWidget *const parent=0)
void updateData(const QUrl &url, const QImage &img)
void setAlignment(Qt::Alignment align)
QSize sizeHint() const override
void setElideMode(Qt::TextElideMode mode)
void setText(const QString &)
void resizeEvent(QResizeEvent *) override
RAdjustableLabel(QWidget *const parent=0)
void setAdjustedText(const QString &text=QString())
QSize minimumSizeHint() const override
RColorSelector(QWidget *const parent=0)
void paintEvent(QPaintEvent *) override
void signalColorSelected(const QColor &)
void setColor(const QColor &color)
void setFileDlgMode(QFileDialog::FileMode mode)
RFileSelector(QWidget *const parent=0)
void signalUrlSelected(const QUrl &)
void setFileDlgTitle(const QString &title)
QLineEdit * lineEdit() const
void setFileDlgFilter(const QString &filter)
void setFileDlgOptions(QFileDialog::Options opts)
void setSpacing(int space)
QSize sizeHint() const override
void setStretchFactor(QWidget *const widget, int stretch)
void setMargin(int margin)
RHBox(QWidget *const parent=0)
void childEvent(QChildEvent *e) override
QSize minimumSizeHint() const override
RLineWidget(Qt::Orientation orientation, QWidget *const parent=0)
RVBox(QWidget *const parent=0)
QVector< QPixmap > m_frames
QPixmap frameAt(int index) const