// 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 FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_ #define FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_ #include "fxjs/jse_define.h" #include "fxjs/xfa/cjx_object.h" class CFXJSE_Value; class CScript_EventPseudoModel; enum class XFA_Event { Change = 0, CommitKey, FullText, Keydown, Modifier, NewContentType, NewText, PreviousContentType, PreviousText, Reenter, SelectionEnd, SelectionStart, Shift, SoapFaultCode, SoapFaultString, Target, CancelAction }; class CJX_EventPseudoModel final : public CJX_Object { public: explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model); ~CJX_EventPseudoModel() override; JSE_METHOD(emit, CJX_EventPseudoModel); JSE_METHOD(reset, CJX_EventPseudoModel); JSE_PROP(cancelAction); JSE_PROP(change); JSE_PROP(commitKey); JSE_PROP(fullText); JSE_PROP(keyDown); JSE_PROP(modifier); JSE_PROP(newContentType); JSE_PROP(newText); JSE_PROP(prevContentType); JSE_PROP(prevText); JSE_PROP(reenter); JSE_PROP(selEnd); JSE_PROP(selStart); JSE_PROP(shift); JSE_PROP(soapFaultCode); JSE_PROP(soapFaultString); JSE_PROP(target); private: void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting); static const CJX_MethodSpec MethodSpecs[]; }; #endif // FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_