Initial commit

This commit is contained in:
2025-12-17 16:47:48 +00:00
commit 13813f3363
4964 changed files with 1079753 additions and 0 deletions

View File

@@ -0,0 +1,148 @@
/****************************************************************************
**
** Qtitan Library by Developer Machines (Microsoft-Ribbon implementation for Qt.C++)
**
** Copyright (c) 2009-2015 Developer Machines (http://www.devmachines.com)
** ALL RIGHTS RESERVED
**
** The entire contents of this file is protected by copyright law and
** international treaties. Unauthorized reproduction, reverse-engineering
** and distribution of all or any portion of the code contained in this
** file is strictly prohibited and may result in severe civil and
** criminal penalties and will be prosecuted to the maximum extent
** possible under the law.
**
** RESTRICTIONS
**
** THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED
** FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE
** COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE
** AVAILABLE TO OTHER INDIVIDUALS WITHOUT WRITTEN CONSENT
** AND PERMISSION FROM DEVELOPER MACHINES
**
** CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON
** ADDITIONAL RESTRICTIONS.
**
****************************************************************************/
#ifndef QTN_OFFICEPOPUPWINDOW_H
#define QTN_OFFICEPOPUPWINDOW_H
#include <QWidget>
#include <QTimer>
#include "QtitanDef.h"
#include "QtnOfficeStyle.h"
QTITAN_BEGIN_NAMESPACE
enum PopupLocation
{
#ifdef Q_OS_WIN
PopupLocationNearTaskBar,
#endif // Q_OS_WIN
PopupLocationBottomRight,
PopupLocationCenter
};
enum PopupAnimation
{
PopupAnimationNone,
PopupAnimationFade,
PopupAnimationSlide,
PopupAnimationUnfold
};
class OfficePopupWindowPrivate;
class QTITAN_EXPORT OfficePopupWindow : public QWidget
{
Q_OBJECT
Q_ENUMS(PopupAnimation)
Q_ENUMS(PopupLocation)
Q_PROPERTY(PopupAnimation animation READ animation WRITE setAnimation)
Q_PROPERTY(qreal transparency READ transparency WRITE setTransparency)
Q_PROPERTY(int displayTime READ displayTime WRITE setDisplayTime)
Q_PROPERTY(int animationSpeed READ animationSpeed WRITE setAnimationSpeed)
Q_PROPERTY(QIcon titleIcon READ titleIcon WRITE setTitleIcon)
Q_PROPERTY(QString titleText READ titleText WRITE setTitleText)
Q_PROPERTY(QString bodyText READ bodyText WRITE setBodyText)
Q_PROPERTY(bool titleCloseButtonVisible READ isTitleCloseButtonVisible WRITE setTitleCloseButtonVisible)
Q_PROPERTY(PopupLocation location READ location WRITE setLocation)
public:
OfficePopupWindow(QWidget* parent);
virtual ~OfficePopupWindow();
static void showPopup(QWidget* parent, const QIcon& titleIcon, const QString& titleText, const QString& bodyText,
bool closeButtonVisible = true, OfficeStyle::OfficePopupDecoration decoration = OfficeStyle::PopupSystemDecoration);
public:
bool showPopup();
bool showPopup(const QPoint& pos);
void setCentralWidget(QWidget* widget);
QWidget* centralWidget() const;
void setBodyText(const QString& text);
const QString& bodyText() const;
void setTitleIcon(const QIcon& icon);
const QIcon& titleIcon() const;
void setTitleText(const QString& text);
const QString& titleText() const;
void setCloseButtonPixmap(const QPixmap& pm);
const QPixmap& closeButtonPixmap() const;
void setTitleCloseButtonVisible(bool visible = true);
bool isTitleCloseButtonVisible() const;
QPoint getPosition() const;
void setPosition(const QPoint& pos);
void setAnimation(PopupAnimation popupAnimation);
PopupAnimation animation() const;
void setTransparency(qreal transparency);
qreal transparency() const;
void setDisplayTime(int time);
int displayTime() const;
void setAnimationSpeed(int time);
int animationSpeed() const;
void setDragDropEnabled(bool enabled);
bool dragDropEnabled() const;
void setLocation(PopupLocation location);
PopupLocation location() const;
Q_SIGNALS:
void aboutToShow();
void aboutToHide();
public Q_SLOTS:
void closePopup();
protected Q_SLOTS:
void showDelayTimer();
void collapsingTimer();
void expandingTimer();
public:
virtual QSize sizeHint() const;
protected:
virtual bool event(QEvent* event);
virtual void paintEvent(QPaintEvent* event);
virtual void enterEvent(QEvent* event);
virtual void leaveEvent(QEvent* event);
private:
QTN_DECLARE_PRIVATE(OfficePopupWindow)
Q_DISABLE_COPY(OfficePopupWindow)
};
QTITAN_END_NAMESPACE
#endif // QTN_OFFICEPOPUPWINDOW_H