1// Copyright 2017 PDFium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7#ifndef XFA_FXFA_CXFA_FFDATETIMEEDIT_H_ 8#define XFA_FXFA_CXFA_FFDATETIMEEDIT_H_ 9 10#include "core/fxcrt/fx_coordinates.h" 11#include "xfa/fxfa/cxfa_fftextedit.h" 12 13enum XFA_DATETIMETYPE { 14 XFA_DATETIMETYPE_Date = 0, 15 XFA_DATETIMETYPE_Time, 16 XFA_DATETIMETYPE_DateAndTime 17}; 18 19class CFWL_Event; 20class CFWL_Widget; 21 22class CXFA_FFDateTimeEdit : public CXFA_FFTextEdit { 23 public: 24 explicit CXFA_FFDateTimeEdit(CXFA_Node* pNode); 25 ~CXFA_FFDateTimeEdit() override; 26 27 // CXFA_FFTextEdit 28 CFX_RectF GetBBox(uint32_t dwStatus, bool bDrawFocus = false) override; 29 bool LoadWidget() override; 30 void UpdateWidgetProperty() override; 31 void OnProcessEvent(CFWL_Event* pEvent) override; 32 33 void OnSelectChanged(CFWL_Widget* pWidget, 34 int32_t iYear, 35 int32_t iMonth, 36 int32_t iDay); 37 38 private: 39 bool PtInActiveRect(const CFX_PointF& point) override; 40 bool CommitData() override; 41 bool UpdateFWLData() override; 42 bool IsDataChanged() override; 43 44 uint32_t GetAlignment(); 45}; 46 47#endif // XFA_FXFA_CXFA_FFDATETIMEEDIT_H_ 48