qt-material-widgets/include/qmetarial/qtmaterialdialog_internal.h

77 lines
1.6 KiB
C
Raw Normal View History

2017-09-29 23:15:08 +00:00
#ifndef QTMATERIALDIALOG_INTERNAL_H
#define QTMATERIALDIALOG_INTERNAL_H
2017-09-29 23:40:00 +00:00
#include <QtWidgets/QWidget>
2017-09-29 23:15:08 +00:00
class QStackedLayout;
class QtMaterialDialog;
class QtMaterialDialogWindow;
class QtMaterialDialogProxy : public QWidget
{
Q_OBJECT
Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity)
enum TransparencyMode {
Transparent,
SemiTransparent,
Opaque,
};
public:
2022-07-05 07:49:55 +00:00
QtMaterialDialogProxy(QtMaterialDialogWindow *source, QStackedLayout *layout, QtMaterialDialog *dialog, QWidget *parent = 0);
2017-09-29 23:15:08 +00:00
~QtMaterialDialogProxy();
void setOpacity(qreal opacity);
inline qreal opacity() const;
protected slots:
void makeOpaque();
void makeTransparent();
QSize sizeHint() const Q_DECL_OVERRIDE;
protected:
bool event(QEvent *event) Q_DECL_OVERRIDE;
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
private:
Q_DISABLE_COPY(QtMaterialDialogProxy)
QtMaterialDialogWindow *const m_source;
2022-07-05 07:49:55 +00:00
QStackedLayout *const m_layout;
QtMaterialDialog *const m_dialog;
qreal m_opacity;
TransparencyMode m_mode;
2017-09-29 23:15:08 +00:00
};
inline qreal QtMaterialDialogProxy::opacity() const
{
return m_opacity;
}
class QtMaterialDialogWindow : public QWidget
{
Q_OBJECT
Q_PROPERTY(int offset WRITE setOffset READ offset)
public:
explicit QtMaterialDialogWindow(QtMaterialDialog *dialog, QWidget *parent = 0);
~QtMaterialDialogWindow();
void setOffset(int offset);
int offset() const;
protected:
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
private:
Q_DISABLE_COPY(QtMaterialDialogWindow)
QtMaterialDialog *const m_dialog;
};
2022-07-05 07:49:55 +00:00
#endif // QTMATERIALDIALOG_INTERNAL_H