| Index: xfa/fwl/core/ifwl_monthcalendar.h
|
| diff --git a/xfa/fwl/core/ifwl_monthcalendar.h b/xfa/fwl/core/ifwl_monthcalendar.h
|
| index 1d63c80e5805049c8905433b8bf04a74cfb65dc4..20aecce6190ec57529123ab3ac1c62babb7429c8 100644
|
| --- a/xfa/fwl/core/ifwl_monthcalendar.h
|
| +++ b/xfa/fwl/core/ifwl_monthcalendar.h
|
| @@ -37,10 +37,6 @@ FWL_EVENT_DEF(CFWL_EventMcdDateChanged,
|
| class CFWL_MsgMouse;
|
| class IFWL_Widget;
|
|
|
| -struct FWL_DATEINFO;
|
| -
|
| -extern uint8_t FX_DaysInMonth(int32_t iYear, uint8_t iMonth);
|
| -
|
| class IFWL_MonthCalendarDP : public IFWL_DataProvider {
|
| public:
|
| virtual int32_t GetCurDay(IFWL_Widget* pWidget) = 0;
|
| @@ -65,46 +61,57 @@ class IFWL_MonthCalendar : public IFWL_Widget {
|
| void OnDrawWidget(CFX_Graphics* pGraphics,
|
| const CFX_Matrix* pMatrix) override;
|
|
|
| - int32_t CountSelect();
|
| - bool GetSelect(int32_t& iYear,
|
| - int32_t& iMonth,
|
| - int32_t& iDay,
|
| - int32_t nIndex = 0);
|
| - bool SetSelect(int32_t iYear, int32_t iMonth, int32_t iDay);
|
| + void SetSelect(int32_t iYear, int32_t iMonth, int32_t iDay);
|
|
|
| - protected:
|
| + private:
|
| struct DATE {
|
| DATE() : iYear(0), iMonth(0), iDay(0) {}
|
| +
|
| DATE(int32_t year, int32_t month, int32_t day)
|
| : iYear(year), iMonth(month), iDay(day) {}
|
| +
|
| bool operator<(const DATE& right) {
|
| - if (iYear < right.iYear) {
|
| + if (iYear < right.iYear)
|
| return true;
|
| - } else if (iYear == right.iYear) {
|
| - if (iMonth < right.iMonth) {
|
| + if (iYear == right.iYear) {
|
| + if (iMonth < right.iMonth)
|
| return true;
|
| - } else if (iMonth == right.iMonth) {
|
| + if (iMonth == right.iMonth)
|
| return iDay < right.iDay;
|
| - }
|
| }
|
| return false;
|
| }
|
| +
|
| bool operator>(const DATE& right) {
|
| - if (iYear > right.iYear) {
|
| + if (iYear > right.iYear)
|
| return true;
|
| - } else if (iYear == right.iYear) {
|
| - if (iMonth > right.iMonth) {
|
| + if (iYear == right.iYear) {
|
| + if (iMonth > right.iMonth)
|
| return true;
|
| - } else if (iMonth == right.iMonth) {
|
| + if (iMonth == right.iMonth)
|
| return iDay > right.iDay;
|
| - }
|
| }
|
| return false;
|
| }
|
| +
|
| int32_t iYear;
|
| int32_t iMonth;
|
| int32_t iDay;
|
| };
|
| + struct DATEINFO {
|
| + DATEINFO(int32_t day,
|
| + int32_t dayofweek,
|
| + uint32_t dwSt,
|
| + CFX_RectF rc,
|
| + CFX_WideString& wsday);
|
| + ~DATEINFO();
|
| +
|
| + int32_t iDay;
|
| + int32_t iDayOfWeek;
|
| + uint32_t dwStates;
|
| + CFX_RectF rect;
|
| + CFX_WideString wsDay;
|
| + };
|
|
|
| void DrawBkground(CFX_Graphics* pGraphics,
|
| IFWL_ThemeProvider* pTheme,
|
| @@ -148,38 +155,35 @@ class IFWL_MonthCalendar : public IFWL_Widget {
|
| void DrawDatesInCircle(CFX_Graphics* pGraphics,
|
| IFWL_ThemeProvider* pTheme,
|
| const CFX_Matrix* pMatrix);
|
| - void DrawTodayCircle(CFX_Graphics* pGraphics,
|
| - IFWL_ThemeProvider* pTheme,
|
| - const CFX_Matrix* pMatrix);
|
| CFX_SizeF CalcSize(bool bAutoSize = false);
|
| - void LayOut();
|
| + void Layout();
|
| void CalcHeadSize();
|
| void CalcTodaySize();
|
| void CalDateItem();
|
| void GetCapValue();
|
| - int32_t CalWeekNumber(int32_t iYear, int32_t iMonth, int32_t iDay);
|
| - bool GetMinDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
|
| - bool SetMinDate(int32_t iYear, int32_t iMonth, int32_t iDay);
|
| - bool GetMaxDate(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
|
| - bool SetMaxDate(int32_t iYear, int32_t iMonth, int32_t iDay);
|
| - bool InitDate();
|
| + void InitDate();
|
| void ClearDateItem();
|
| - void ReSetDateItem();
|
| - bool NextMonth();
|
| - bool PrevMonth();
|
| + void ResetDateItem();
|
| + void NextMonth();
|
| + void PrevMonth();
|
| void ChangeToMonth(int32_t iYear, int32_t iMonth);
|
| - bool RemoveSelDay(int32_t iDay, bool bAll = false);
|
| - bool AddSelDay(int32_t iDay);
|
| - bool JumpToToday();
|
| + void RemoveSelDay(int32_t iDay, bool bAll = false);
|
| + void AddSelDay(int32_t iDay);
|
| + void JumpToToday();
|
| void GetHeadText(int32_t iYear, int32_t iMonth, CFX_WideString& wsHead);
|
| void GetTodayText(int32_t iYear,
|
| int32_t iMonth,
|
| int32_t iDay,
|
| CFX_WideString& wsToday);
|
| int32_t GetDayAtPoint(FX_FLOAT x, FX_FLOAT y);
|
| - bool GetDayRect(int32_t iDay, CFX_RectF& rtDay);
|
| + void GetDayRect(int32_t iDay, CFX_RectF& rtDay);
|
| + void OnLButtonDown(CFWL_MsgMouse* pMsg);
|
| + void OnLButtonUp(CFWL_MsgMouse* pMsg);
|
| + void DisForm_OnLButtonUp(CFWL_MsgMouse* pMsg);
|
| + void OnMouseMove(CFWL_MsgMouse* pMsg);
|
| + void OnMouseLeave(CFWL_MsgMouse* pMsg);
|
|
|
| - bool m_bInit;
|
| + bool m_bInitialized;
|
| CFX_RectF m_rtHead;
|
| CFX_RectF m_rtWeek;
|
| CFX_RectF m_rtLBtn;
|
| @@ -191,11 +195,10 @@ class IFWL_MonthCalendar : public IFWL_Widget {
|
| CFX_RectF m_rtTodayFlag;
|
| CFX_RectF m_rtWeekNum;
|
| CFX_RectF m_rtWeekNumSep;
|
| - CFX_RectF m_rtTemp;
|
| CFX_WideString m_wsHead;
|
| CFX_WideString m_wsToday;
|
| std::unique_ptr<CFX_DateTime> m_pDateTime;
|
| - CFX_ArrayTemplate<FWL_DATEINFO*> m_arrDates;
|
| + CFX_ArrayTemplate<DATEINFO*> m_arrDates;
|
| int32_t m_iCurYear;
|
| int32_t m_iCurMonth;
|
| int32_t m_iYear;
|
| @@ -210,7 +213,6 @@ class IFWL_MonthCalendar : public IFWL_Widget {
|
| CFX_SizeF m_szCell;
|
| CFX_SizeF m_szToday;
|
| CFX_ArrayTemplate<int32_t> m_arrSelDays;
|
| - int32_t m_iMaxSel;
|
| CFX_RectF m_rtClient;
|
| FX_FLOAT m_fHeadWid;
|
| FX_FLOAT m_fHeadHei;
|
| @@ -239,28 +241,6 @@ class IFWL_MonthCalendar : public IFWL_Widget {
|
| FX_FLOAT m_fMCWid;
|
| FX_FLOAT m_fMCHei;
|
| bool m_bFlag;
|
| -
|
| - private:
|
| - void OnLButtonDown(CFWL_MsgMouse* pMsg);
|
| - void OnLButtonUp(CFWL_MsgMouse* pMsg);
|
| - void DisForm_OnLButtonUp(CFWL_MsgMouse* pMsg);
|
| - void OnMouseMove(CFWL_MsgMouse* pMsg);
|
| - void OnMouseLeave(CFWL_MsgMouse* pMsg);
|
| -};
|
| -
|
| -struct FWL_DATEINFO {
|
| - FWL_DATEINFO(int32_t day,
|
| - int32_t dayofweek,
|
| - uint32_t dwSt,
|
| - CFX_RectF rc,
|
| - CFX_WideString& wsday);
|
| - ~FWL_DATEINFO();
|
| -
|
| - int32_t iDay;
|
| - int32_t iDayOfWeek;
|
| - uint32_t dwStates;
|
| - CFX_RectF rect;
|
| - CFX_WideString wsDay;
|
| };
|
|
|
| #endif // XFA_FWL_CORE_IFWL_MONTHCALENDAR_H_
|
|
|