| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | 
							- #ifndef CALENDAREX_H
 
- #define CALENDAREX_H
 
- #include <QWidget>
 
- #include "calendarwidgetex.h"
 
- #include "DropShadow/idropshadowable.h"
 
- class QHBoxLayout;
 
- class CalendarInterface : public QWidget, public IDropShadowable
 
- {
 
-     Q_OBJECT
 
- public:
 
-     explicit CalendarInterface(QWidget *parent = nullptr);
 
-     virtual ~CalendarInterface();
 
-     /* 弹出位置? */
 
-     void positionCalendarPopup(QWidget *q);
 
- protected:
 
-      virtual void SetCalendarSync(const QDate &defaultDate) = 0;
 
- protected:
 
-      QHBoxLayout* m_pLayout;
 
-      const int SHADOW_RADIUS = 16;
 
-      const int SPACING = 8;
 
-      const int CALENDAR_WIDTH = 325;
 
-      const int CALENDAR_HEIGHT = 350;
 
- };
 
- /**
 
-  * @brief 带有阴影的日历
 
-  *
 
-  */
 
- class CalendarEx : public CalendarInterface
 
- {
 
-     Q_OBJECT
 
- public:
 
-     explicit CalendarEx(const QDate& defaultDate = QDate(), QWidget* parent = nullptr);
 
-     virtual ~CalendarEx() {}
 
- signals:
 
-     void sig_DateChanged(const QDate& date);
 
- private:
 
-     virtual void SetCalendarSync(const QDate &defaultDate);
 
- private:
 
-      CalendarWidgetEx *m_pCalendar;
 
- };
 
- class ScopedCalendar : public CalendarInterface
 
- {
 
-     Q_OBJECT
 
- public:
 
-     explicit ScopedCalendar(const QDate &from = QDate(), const QDate &to = QDate(), QWidget *parent = nullptr);
 
-     virtual ~ScopedCalendar() { };
 
-     void SetMinimumDate(const QDate &date);
 
-     void SetMaximumDate(const QDate &date);
 
- signals:
 
-     void sig_ScopeSelected(const QDate &from, const QDate &to);
 
- public slots:
 
-     void OnScopeSelected(const QDate &from, const QDate &to);
 
- private:
 
-     virtual void SetCalendarSync(const QDate &defaultDate);
 
- private:
 
-      CalendarWidgetEx *m_pCalendar_L;
 
-      CalendarWidgetEx *m_pCalendar_R;
 
- };
 
- #endif // CALENDAREX_H
 
 
  |