Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(695)

Unified Diff: xfa/fwl/core/ifwl_datetimepicker.h

Issue 2432423002: Merge the CFWL_*Imp classes into the IFWL_* classes. (Closed)
Patch Set: Review feedback Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « xfa/fwl/core/ifwl_datetimeedit.cpp ('k') | xfa/fwl/core/ifwl_datetimepicker.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: xfa/fwl/core/ifwl_datetimepicker.h
diff --git a/xfa/fwl/basewidget/fwl_datetimepickerimp.h b/xfa/fwl/core/ifwl_datetimepicker.h
similarity index 56%
rename from xfa/fwl/basewidget/fwl_datetimepickerimp.h
rename to xfa/fwl/core/ifwl_datetimepicker.h
index 8306a26ba8d1773424a85a222e991ed61e2d52d0..e14073df09153fa5a0edec0b38918988b0790e94 100644
--- a/xfa/fwl/basewidget/fwl_datetimepickerimp.h
+++ b/xfa/fwl/core/ifwl_datetimepicker.h
@@ -4,119 +4,73 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef XFA_FWL_BASEWIDGET_FWL_DATETIMEPICKERIMP_H_
-#define XFA_FWL_BASEWIDGET_FWL_DATETIMEPICKERIMP_H_
-
-#include <memory>
-
-#include "xfa/fwl/basewidget/fwl_editimp.h"
-#include "xfa/fwl/basewidget/fwl_monthcalendarimp.h"
-#include "xfa/fwl/basewidget/ifwl_datetimepicker.h"
-#include "xfa/fwl/basewidget/ifwl_edit.h"
-#include "xfa/fwl/basewidget/ifwl_monthcalendar.h"
-#include "xfa/fwl/core/ifwl_form.h"
-
-class CFWL_WidgetImp;
-class CFWL_WidgetImpProperties;
-class CFWL_WidgetImpDelegate;
-class CFWL_DateTimeEdit;
-class CFWL_DateTimeEditImpDelegate;
-class CFWL_DateTimeCalendar;
-class CFWL_DateTimeCalendarImpDelegate;
-class CFWL_DateTimePickerImp;
-class CFWL_DateTimePickerImpDelegate;
-
-class IFWL_DateTimeForm : public IFWL_Form {
+#ifndef XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_
+#define XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_
+
+#include "xfa/fwl/core/cfwl_event.h"
+#include "xfa/fwl/core/cfwl_widgetimpproperties.h"
+#include "xfa/fwl/core/ifwl_dataprovider.h"
+#include "xfa/fwl/core/ifwl_monthcalendar.h"
+#include "xfa/fwl/core/ifwl_widget.h"
+
+#define FWL_CLASS_DateTimePicker L"FWL_DATETIMEPICKER"
+#define FWL_STYLEEXT_DTP_AllowEdit (1L << 0)
+#define FWL_STYLEEXT_DTP_LongDateFormat (0L << 1)
+#define FWL_STYLEEXT_DTP_ShortDateFormat (1L << 1)
+#define FWL_STYLEEXT_DTP_TimeFormat (2L << 1)
+#define FWL_STYLEEXT_DTP_Spin (1L << 3)
+#define FWL_STYLEEXT_DTP_EditHNear (0L << 4)
+#define FWL_STYLEEXT_DTP_EditHCenter (1L << 4)
+#define FWL_STYLEEXT_DTP_EditHFar (2L << 4)
+#define FWL_STYLEEXT_DTP_EditVNear (0L << 6)
+#define FWL_STYLEEXT_DTP_EditVCenter (1L << 6)
+#define FWL_STYLEEXT_DTP_EditVFar (2L << 6)
+#define FWL_STYLEEXT_DTP_EditJustified (1L << 8)
+#define FWL_STYLEEXT_DTP_EditDistributed (2L << 8)
+#define FWL_STYLEEXT_DTP_EditHAlignMask (3L << 4)
+#define FWL_STYLEEXT_DTP_EditVAlignMask (3L << 6)
+#define FWL_STYLEEXT_DTP_EditHAlignModeMask (3L << 8)
+
+class IFWL_DateTimeCalendar;
+class IFWL_DateTimeEdit;
+class IFWL_FormProxy;
+
+FWL_EVENT_DEF(CFWL_Event_DtpDropDown, CFWL_EventType::DropDown)
+
+FWL_EVENT_DEF(CFWL_Event_DtpCloseUp, CFWL_EventType::CloseUp)
+
+FWL_EVENT_DEF(CFWL_Event_DtpEditChanged,
+ CFWL_EventType::EditChanged,
+ CFX_WideString m_wsText;)
+
+FWL_EVENT_DEF(CFWL_Event_DtpHoverChanged,
+ CFWL_EventType::HoverChanged,
+ int32_t hoverday;)
+
+FWL_EVENT_DEF(CFWL_Event_DtpSelectChanged,
+ CFWL_EventType::SelectChanged,
+ int32_t iYear;
+ int32_t iMonth;
+ int32_t iDay;)
+
+class IFWL_DateTimePickerDP : public IFWL_DataProvider {
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);
-
- // CFWL_EditImp
- FWL_Error Initialize() override;
- FWL_Error Finalize() override;
-
- protected:
- friend class CFWL_DateTimeEditImpDelegate;
-};
-
-class CFWL_DateTimeEditImpDelegate : public CFWL_EditImpDelegate {
- public:
- CFWL_DateTimeEditImpDelegate(CFWL_DateTimeEdit* pOwner);
- void OnProcessMessage(CFWL_Message* pMessage) override;
-
- protected:
- CFWL_DateTimeEdit* m_pOwner;
-
- private:
- void DisForm_OnProcessMessage(CFWL_Message* pMessage);
+ virtual FWL_Error GetToday(IFWL_Widget* pWidget,
+ int32_t& iYear,
+ int32_t& iMonth,
+ int32_t& iDay) = 0;
};
-class CFWL_DateTimeCalendar : public CFWL_MonthCalendarImp {
+class IFWL_DateTimePicker : public IFWL_Widget {
public:
- CFWL_DateTimeCalendar(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
+ static IFWL_DateTimePicker* Create(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
- // CFWL_MonthCalendarImp
- FWL_Error Initialize() override;
- FWL_Error Finalize() override;
-
- protected:
- friend class CFWL_DateTimeCalendarImpDelegate;
-};
-
-class CFWL_DateTimeCalendarImpDelegate : public CFWL_MonthCalendarImpDelegate {
- public:
- CFWL_DateTimeCalendarImpDelegate(CFWL_DateTimeCalendar* pOwner);
- void OnProcessMessage(CFWL_Message* pMessage) override;
-
- void OnLButtonDownEx(CFWL_MsgMouse* pMsg);
- void OnLButtonUpEx(CFWL_MsgMouse* pMsg);
- void OnMouseMoveEx(CFWL_MsgMouse* pMsg);
-
- protected:
- CFWL_DateTimeCalendar* m_pOwner;
- FX_BOOL m_bFlag;
-
- private:
- void DisForm_OnProcessMessage(CFWL_Message* pMessage);
- void DisForm_OnLButtonUpEx(CFWL_MsgMouse* pMsg);
-};
-
-class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
- public:
- CFWL_DateTimePickerImp(const CFWL_WidgetImpProperties& properties,
- IFWL_Widget* pOuter);
- ~CFWL_DateTimePickerImp() override;
+ IFWL_DateTimePicker(const CFWL_WidgetImpProperties& properties,
+ IFWL_Widget* pOuter);
+ ~IFWL_DateTimePicker() override;
- // CFWL_WidgetImp
+ // IFWL_Widget
FWL_Error GetClassName(CFX_WideString& wsClass) const override;
FWL_Type GetClassID() const override;
FWL_Error Initialize() override;
@@ -134,6 +88,8 @@ class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
FWL_Error GetEditText(CFX_WideString& wsText,
int32_t nStart = 0,
int32_t nCount = -1) const;
+ int32_t CountSelRanges();
+ int32_t GetSelRange(int32_t nIndex, int32_t& nStart);
FX_BOOL CanUndo();
FX_BOOL CanRedo();
@@ -156,7 +112,7 @@ class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
protected:
friend class CFWL_DateTimeEditImpDelegate;
- friend class CFWL_DateTimeCalendar;
+ friend class IFWL_DateTimeCalendar;
friend class CFWL_DateTimeCalendarImpDelegate;
friend class CFWL_DateTimePickerImpDelegate;
@@ -199,8 +155,8 @@ class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
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;
+ std::unique_ptr<IFWL_DateTimeCalendar> m_pMonthCal;
+ std::unique_ptr<IFWL_FormProxy> m_pForm;
FX_FLOAT m_fBtn;
CFWL_MonthCalendarImpDP m_MonthCalendarDP;
@@ -221,7 +177,7 @@ class CFWL_DateTimePickerImp : public CFWL_WidgetImp {
class CFWL_DateTimePickerImpDelegate : public CFWL_WidgetImpDelegate {
public:
- CFWL_DateTimePickerImpDelegate(CFWL_DateTimePickerImp* pOwner);
+ CFWL_DateTimePickerImpDelegate(IFWL_DateTimePicker* pOwner);
// CFWL_WidgetImpDelegate
void OnProcessMessage(CFWL_Message* pMessage) override;
@@ -235,10 +191,10 @@ class CFWL_DateTimePickerImpDelegate : public CFWL_WidgetImpDelegate {
void OnMouseMove(CFWL_MsgMouse* pMsg);
void OnMouseLeave(CFWL_MsgMouse* pMsg);
- CFWL_DateTimePickerImp* m_pOwner;
+ IFWL_DateTimePicker* m_pOwner;
private:
void DisForm_OnFocusChanged(CFWL_Message* pMsg, FX_BOOL bSet = TRUE);
};
-#endif // XFA_FWL_BASEWIDGET_FWL_DATETIMEPICKERIMP_H_
+#endif // XFA_FWL_CORE_IFWL_DATETIMEPICKER_H_
« no previous file with comments | « xfa/fwl/core/ifwl_datetimeedit.cpp ('k') | xfa/fwl/core/ifwl_datetimepicker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698