// Copyright 2017 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 XFA_FXFA_CXFA_FFDATETIMEEDIT_H_ #define XFA_FXFA_CXFA_FFDATETIMEEDIT_H_ #include "core/fxcrt/fx_coordinates.h" #include "xfa/fxfa/cxfa_fftextedit.h" enum XFA_DATETIMETYPE { XFA_DATETIMETYPE_Date = 0, XFA_DATETIMETYPE_Time, XFA_DATETIMETYPE_DateAndTime }; class CFWL_Event; class CFWL_Widget; class CXFA_FFDateTimeEdit : public CXFA_FFTextEdit { public: explicit CXFA_FFDateTimeEdit(CXFA_WidgetAcc* pDataAcc); ~CXFA_FFDateTimeEdit() override; // CXFA_FFTextEdit CFX_RectF GetBBox(uint32_t dwStatus, bool bDrawFocus = false) override; bool LoadWidget() override; void UpdateWidgetProperty() override; void OnProcessEvent(CFWL_Event* pEvent) override; void OnSelectChanged(CFWL_Widget* pWidget, int32_t iYear, int32_t iMonth, int32_t iDay); private: bool PtInActiveRect(const CFX_PointF& point) override; bool CommitData() override; bool UpdateFWLData() override; bool IsDataChanged() override; uint32_t GetAlignment(); }; #endif // XFA_FXFA_CXFA_FFDATETIMEEDIT_H_