summaryrefslogtreecommitdiff
path: root/xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h')
-rw-r--r--xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h462
1 files changed, 231 insertions, 231 deletions
diff --git a/xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h b/xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h
index 1fc82fb281..91411fca29 100644
--- a/xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h
+++ b/xfa/src/fwl/src/basewidget/include/fwl_datetimepickerimp.h
@@ -1,231 +1,231 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _FWL_DATETIMEPICKER_IMP_H
-#define _FWL_DATETIMEPICKER_IMP_H
-
-#include <memory>
-
-class CFWL_WidgetImp;
-class CFWL_WidgetImpProperties;
-class CFWL_WidgetImpDelegate;
-class CFWL_EditImp;
-class CFWL_EditImpDelegate;
-class CFWL_MonthCalendarImp;
-class CFWL_MonthCalendarImpDelegate;
-class CFWL_FormProxyImp;
-class CFWL_DateTimeEdit;
-class CFWL_DateTimeEditImpDelegate;
-class CFWL_DateTimeCalendar;
-class CFWL_DateTimeCalendarImpDelegate;
-class CFWL_DateTimePickerImp;
-class CFWL_DateTimePickerImpDelegate;
-
-class IFWL_DateTimeForm : public IFWL_Form {
- public:
- static IFWL_DateTimeForm* Create(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
-
- protected:
- IFWL_DateTimeForm() {}
-};
-
-class IFWL_DateTimeCalender : public IFWL_MonthCalendar {
- public:
- static IFWL_DateTimeCalender* Create(
- const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
-
- protected:
- IFWL_DateTimeCalender() {}
-};
-
-class IFWL_DateTimeEdit : public IFWL_Edit {
- public:
- static IFWL_DateTimeEdit* Create(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
-
- protected:
- IFWL_DateTimeEdit() {}
-};
-
-class CFWL_DateTimeEdit : public CFWL_EditImp {
- public:
- CFWL_DateTimeEdit(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
- virtual FWL_ERR Initialize();
- virtual FWL_ERR Finalize();
-
- protected:
- friend class CFWL_DateTimeEditImpDelegate;
-};
-class CFWL_DateTimeEditImpDelegate : public CFWL_EditImpDelegate {
- public:
- CFWL_DateTimeEditImpDelegate(CFWL_DateTimeEdit* pOwner);
- int32_t OnProcessMessage(CFWL_Message* pMessage) override;
-
- private:
- int32_t DisForm_OnProcessMessage(CFWL_Message* pMessage);
-
- protected:
- CFWL_DateTimeEdit* m_pOwner;
-};
-class CFWL_DateTimeCalendar : public CFWL_MonthCalendarImp {
- public:
- CFWL_DateTimeCalendar(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
- virtual FWL_ERR Initialize();
- virtual FWL_ERR Finalize();
-
- protected:
- friend class CFWL_DateTimeCalendarImpDelegate;
-};
-class CFWL_DateTimeCalendarImpDelegate : public CFWL_MonthCalendarImpDelegate {
- public:
- CFWL_DateTimeCalendarImpDelegate(CFWL_DateTimeCalendar* pOwner);
- int32_t OnProcessMessage(CFWL_Message* pMessage) override;
-
- void OnLButtonDownEx(CFWL_MsgMouse* pMsg);
- void OnLButtonUpEx(CFWL_MsgMouse* pMsg);
- void OnMouseMoveEx(CFWL_MsgMouse* pMsg);
-
- private:
- int32_t DisForm_OnProcessMessage(CFWL_Message* pMessage);
- void DisForm_OnLButtonUpEx(CFWL_MsgMouse* pMsg);
-
- protected:
- CFWL_DateTimeCalendar* m_pOwner;
- FX_BOOL m_bFlag;
-};
-class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
- public:
- CFWL_DateTimePickerImp(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
- virtual ~CFWL_DateTimePickerImp();
- virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const;
- virtual FX_DWORD GetClassID() const;
- virtual FWL_ERR Initialize();
- virtual FWL_ERR Finalize();
- virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
- virtual FWL_ERR Update();
- virtual FX_DWORD HitTest(FX_FLOAT fx, FX_FLOAT fy);
- virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
- virtual FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pTP);
- virtual FWL_ERR GetCurSel(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
- virtual FWL_ERR SetCurSel(int32_t iYear, int32_t iMonth, int32_t iDay);
- virtual FWL_ERR SetEditText(const CFX_WideString& wsText);
- virtual FWL_ERR GetEditText(CFX_WideString& wsText,
- int32_t nStart = 0,
- int32_t nCount = -1) const;
-
- public:
- virtual FX_BOOL CanUndo();
- virtual FX_BOOL CanRedo();
- virtual FX_BOOL Undo();
- virtual FX_BOOL Redo();
- virtual FX_BOOL CanCopy();
- virtual FX_BOOL CanCut();
- virtual FX_BOOL CanSelectAll();
- virtual FX_BOOL Copy(CFX_WideString& wsCopy);
- virtual FX_BOOL Cut(CFX_WideString& wsCut);
- virtual FX_BOOL Paste(const CFX_WideString& wsPaste);
- virtual FX_BOOL SelectAll();
- virtual FX_BOOL Delete();
- virtual FX_BOOL DeSelect();
- virtual FWL_ERR GetBBox(CFX_RectF& rect);
- virtual FWL_ERR SetEditLimit(int32_t nLimit);
- virtual FWL_ERR ModifyEditStylesEx(FX_DWORD dwStylesExAdded,
- FX_DWORD dwStylesExRemoved);
-
- public:
- IFWL_DateTimeEdit* GetDataTimeEdit();
-
- protected:
- void DrawDropDownButton(CFX_Graphics* pGraphics,
- IFWL_ThemeProvider* pTheme,
- const CFX_Matrix* pMatrix);
- void FormatDateString(int32_t iYear,
- int32_t iMonth,
- int32_t iDay,
- CFX_WideString& wsText);
- void ShowMonthCalendar(FX_BOOL bActivate);
- FX_BOOL IsMonthCalendarShowed();
- void ReSetEditAlignment();
- void InitProxyForm();
- void ProcessSelChanged(int32_t iYear, int32_t iMonth, int32_t iDay);
-
- private:
- FWL_ERR DisForm_Initialize();
- void DisForm_InitDateTimeCalendar();
- void DisForm_InitDateTimeEdit();
- FX_BOOL DisForm_IsMonthCalendarShowed();
- void DisForm_ShowMonthCalendar(FX_BOOL bActivate);
- FX_DWORD DisForm_HitTest(FX_FLOAT fx, FX_FLOAT fy);
- FX_BOOL DisForm_IsNeedShowButton();
- FWL_ERR DisForm_Update();
- FWL_ERR DisForm_GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
- FWL_ERR DisForm_GetBBox(CFX_RectF& rect);
- FWL_ERR DisForm_DrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL);
-
- protected:
- CFX_RectF m_rtBtn;
- CFX_RectF m_rtClient;
- int32_t m_iBtnState;
- int32_t m_iYear;
- int32_t m_iMonth;
- int32_t m_iDay;
- FX_BOOL m_bLBtnDown;
- std::unique_ptr<IFWL_DateTimeEdit> m_pEdit;
- std::unique_ptr<IFWL_DateTimeCalender> m_pMonthCal;
- std::unique_ptr<IFWL_DateTimeForm> m_pForm;
- FX_FLOAT m_fBtn;
- class CFWL_MonthCalendarImpDP : public IFWL_MonthCalendarDP {
- public:
- CFWL_MonthCalendarImpDP() {
- m_iCurYear = 2010;
- m_iCurMonth = 3;
- m_iCurDay = 29;
- }
- virtual FWL_ERR GetCaption(IFWL_Widget* pWidget,
- CFX_WideString& wsCaption) {
- return FWL_ERR_Succeeded;
- }
- virtual int32_t GetCurDay(IFWL_Widget* pWidget) { return m_iCurDay; }
- virtual int32_t GetCurMonth(IFWL_Widget* pWidget) { return m_iCurMonth; }
- virtual int32_t GetCurYear(IFWL_Widget* pWidget) { return m_iCurYear; }
- int32_t m_iCurDay;
- int32_t m_iCurYear;
- int32_t m_iCurMonth;
- };
-
- CFWL_MonthCalendarImpDP m_MonthCalendarDP;
- friend class CFWL_DateTimeEditImpDelegate;
- friend class CFWL_DateTimeCalendar;
- friend class CFWL_DateTimeCalendarImpDelegate;
- friend class CFWL_DateTimePickerImpDelegate;
-};
-class CFWL_DateTimePickerImpDelegate : public CFWL_WidgetImpDelegate {
- public:
- CFWL_DateTimePickerImpDelegate(CFWL_DateTimePickerImp* pOwner);
- int32_t OnProcessMessage(CFWL_Message* pMessage) override;
- FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
- const CFX_Matrix* pMatrix = NULL) override;
-
- protected:
- void OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
- void OnLButtonDown(CFWL_MsgMouse* pMsg);
- void OnLButtonUp(CFWL_MsgMouse* pMsg);
- void OnMouseMove(CFWL_MsgMouse* pMsg);
- void OnMouseLeave(CFWL_MsgMouse* pMsg);
-
- CFWL_DateTimePickerImp* m_pOwner;
-
- private:
- void DisForm_OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
-};
-#endif
+// Copyright 2014 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef _FWL_DATETIMEPICKER_IMP_H
+#define _FWL_DATETIMEPICKER_IMP_H
+
+#include <memory>
+
+class CFWL_WidgetImp;
+class CFWL_WidgetImpProperties;
+class CFWL_WidgetImpDelegate;
+class CFWL_EditImp;
+class CFWL_EditImpDelegate;
+class CFWL_MonthCalendarImp;
+class CFWL_MonthCalendarImpDelegate;
+class CFWL_FormProxyImp;
+class CFWL_DateTimeEdit;
+class CFWL_DateTimeEditImpDelegate;
+class CFWL_DateTimeCalendar;
+class CFWL_DateTimeCalendarImpDelegate;
+class CFWL_DateTimePickerImp;
+class CFWL_DateTimePickerImpDelegate;
+
+class IFWL_DateTimeForm : public IFWL_Form {
+ public:
+ static IFWL_DateTimeForm* Create(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+
+ protected:
+ IFWL_DateTimeForm() {}
+};
+
+class IFWL_DateTimeCalender : public IFWL_MonthCalendar {
+ public:
+ static IFWL_DateTimeCalender* Create(
+ const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+
+ protected:
+ IFWL_DateTimeCalender() {}
+};
+
+class IFWL_DateTimeEdit : public IFWL_Edit {
+ public:
+ static IFWL_DateTimeEdit* Create(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+
+ protected:
+ IFWL_DateTimeEdit() {}
+};
+
+class CFWL_DateTimeEdit : public CFWL_EditImp {
+ public:
+ CFWL_DateTimeEdit(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+ virtual FWL_ERR Initialize();
+ virtual FWL_ERR Finalize();
+
+ protected:
+ friend class CFWL_DateTimeEditImpDelegate;
+};
+class CFWL_DateTimeEditImpDelegate : public CFWL_EditImpDelegate {
+ public:
+ CFWL_DateTimeEditImpDelegate(CFWL_DateTimeEdit* pOwner);
+ int32_t OnProcessMessage(CFWL_Message* pMessage) override;
+
+ private:
+ int32_t DisForm_OnProcessMessage(CFWL_Message* pMessage);
+
+ protected:
+ CFWL_DateTimeEdit* m_pOwner;
+};
+class CFWL_DateTimeCalendar : public CFWL_MonthCalendarImp {
+ public:
+ CFWL_DateTimeCalendar(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+ virtual FWL_ERR Initialize();
+ virtual FWL_ERR Finalize();
+
+ protected:
+ friend class CFWL_DateTimeCalendarImpDelegate;
+};
+class CFWL_DateTimeCalendarImpDelegate : public CFWL_MonthCalendarImpDelegate {
+ public:
+ CFWL_DateTimeCalendarImpDelegate(CFWL_DateTimeCalendar* pOwner);
+ int32_t OnProcessMessage(CFWL_Message* pMessage) override;
+
+ void OnLButtonDownEx(CFWL_MsgMouse* pMsg);
+ void OnLButtonUpEx(CFWL_MsgMouse* pMsg);
+ void OnMouseMoveEx(CFWL_MsgMouse* pMsg);
+
+ private:
+ int32_t DisForm_OnProcessMessage(CFWL_Message* pMessage);
+ void DisForm_OnLButtonUpEx(CFWL_MsgMouse* pMsg);
+
+ protected:
+ CFWL_DateTimeCalendar* m_pOwner;
+ FX_BOOL m_bFlag;
+};
+class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
+ public:
+ CFWL_DateTimePickerImp(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+ virtual ~CFWL_DateTimePickerImp();
+ virtual FWL_ERR GetClassName(CFX_WideString& wsClass) const;
+ virtual FX_DWORD GetClassID() const;
+ virtual FWL_ERR Initialize();
+ virtual FWL_ERR Finalize();
+ virtual FWL_ERR GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
+ virtual FWL_ERR Update();
+ virtual FX_DWORD HitTest(FX_FLOAT fx, FX_FLOAT fy);
+ virtual FWL_ERR DrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL);
+ virtual FWL_ERR SetThemeProvider(IFWL_ThemeProvider* pTP);
+ virtual FWL_ERR GetCurSel(int32_t& iYear, int32_t& iMonth, int32_t& iDay);
+ virtual FWL_ERR SetCurSel(int32_t iYear, int32_t iMonth, int32_t iDay);
+ virtual FWL_ERR SetEditText(const CFX_WideString& wsText);
+ virtual FWL_ERR GetEditText(CFX_WideString& wsText,
+ int32_t nStart = 0,
+ int32_t nCount = -1) const;
+
+ public:
+ virtual FX_BOOL CanUndo();
+ virtual FX_BOOL CanRedo();
+ virtual FX_BOOL Undo();
+ virtual FX_BOOL Redo();
+ virtual FX_BOOL CanCopy();
+ virtual FX_BOOL CanCut();
+ virtual FX_BOOL CanSelectAll();
+ virtual FX_BOOL Copy(CFX_WideString& wsCopy);
+ virtual FX_BOOL Cut(CFX_WideString& wsCut);
+ virtual FX_BOOL Paste(const CFX_WideString& wsPaste);
+ virtual FX_BOOL SelectAll();
+ virtual FX_BOOL Delete();
+ virtual FX_BOOL DeSelect();
+ virtual FWL_ERR GetBBox(CFX_RectF& rect);
+ virtual FWL_ERR SetEditLimit(int32_t nLimit);
+ virtual FWL_ERR ModifyEditStylesEx(FX_DWORD dwStylesExAdded,
+ FX_DWORD dwStylesExRemoved);
+
+ public:
+ IFWL_DateTimeEdit* GetDataTimeEdit();
+
+ protected:
+ void DrawDropDownButton(CFX_Graphics* pGraphics,
+ IFWL_ThemeProvider* pTheme,
+ const CFX_Matrix* pMatrix);
+ void FormatDateString(int32_t iYear,
+ int32_t iMonth,
+ int32_t iDay,
+ CFX_WideString& wsText);
+ void ShowMonthCalendar(FX_BOOL bActivate);
+ FX_BOOL IsMonthCalendarShowed();
+ void ReSetEditAlignment();
+ void InitProxyForm();
+ void ProcessSelChanged(int32_t iYear, int32_t iMonth, int32_t iDay);
+
+ private:
+ FWL_ERR DisForm_Initialize();
+ void DisForm_InitDateTimeCalendar();
+ void DisForm_InitDateTimeEdit();
+ FX_BOOL DisForm_IsMonthCalendarShowed();
+ void DisForm_ShowMonthCalendar(FX_BOOL bActivate);
+ FX_DWORD DisForm_HitTest(FX_FLOAT fx, FX_FLOAT fy);
+ FX_BOOL DisForm_IsNeedShowButton();
+ FWL_ERR DisForm_Update();
+ FWL_ERR DisForm_GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize = FALSE);
+ FWL_ERR DisForm_GetBBox(CFX_RectF& rect);
+ FWL_ERR DisForm_DrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL);
+
+ protected:
+ CFX_RectF m_rtBtn;
+ CFX_RectF m_rtClient;
+ int32_t m_iBtnState;
+ int32_t m_iYear;
+ int32_t m_iMonth;
+ int32_t m_iDay;
+ FX_BOOL m_bLBtnDown;
+ std::unique_ptr<IFWL_DateTimeEdit> m_pEdit;
+ std::unique_ptr<IFWL_DateTimeCalender> m_pMonthCal;
+ std::unique_ptr<IFWL_DateTimeForm> m_pForm;
+ FX_FLOAT m_fBtn;
+ class CFWL_MonthCalendarImpDP : public IFWL_MonthCalendarDP {
+ public:
+ CFWL_MonthCalendarImpDP() {
+ m_iCurYear = 2010;
+ m_iCurMonth = 3;
+ m_iCurDay = 29;
+ }
+ virtual FWL_ERR GetCaption(IFWL_Widget* pWidget,
+ CFX_WideString& wsCaption) {
+ return FWL_ERR_Succeeded;
+ }
+ virtual int32_t GetCurDay(IFWL_Widget* pWidget) { return m_iCurDay; }
+ virtual int32_t GetCurMonth(IFWL_Widget* pWidget) { return m_iCurMonth; }
+ virtual int32_t GetCurYear(IFWL_Widget* pWidget) { return m_iCurYear; }
+ int32_t m_iCurDay;
+ int32_t m_iCurYear;
+ int32_t m_iCurMonth;
+ };
+
+ CFWL_MonthCalendarImpDP m_MonthCalendarDP;
+ friend class CFWL_DateTimeEditImpDelegate;
+ friend class CFWL_DateTimeCalendar;
+ friend class CFWL_DateTimeCalendarImpDelegate;
+ friend class CFWL_DateTimePickerImpDelegate;
+};
+class CFWL_DateTimePickerImpDelegate : public CFWL_WidgetImpDelegate {
+ public:
+ CFWL_DateTimePickerImpDelegate(CFWL_DateTimePickerImp* pOwner);
+ int32_t OnProcessMessage(CFWL_Message* pMessage) override;
+ FWL_ERR OnDrawWidget(CFX_Graphics* pGraphics,
+ const CFX_Matrix* pMatrix = NULL) override;
+
+ protected:
+ void OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
+ void OnLButtonDown(CFWL_MsgMouse* pMsg);
+ void OnLButtonUp(CFWL_MsgMouse* pMsg);
+ void OnMouseMove(CFWL_MsgMouse* pMsg);
+ void OnMouseLeave(CFWL_MsgMouse* pMsg);
+
+ CFWL_DateTimePickerImp* m_pOwner;
+
+ private:
+ void DisForm_OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
+};
+#endif