// 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/CJX_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 : public CJX_Object {
public:
explicit CJX_EventPseudoModel(CScript_EventPseudoModel* model);
~CJX_EventPseudoModel() override;
JS_METHOD(emit, CJX_EventPseudoModel);
JS_METHOD(reset, CJX_EventPseudoModel);
JS_PROP(change);
JS_PROP(commitKey);
JS_PROP(fullText);
JS_PROP(keyDown);
JS_PROP(modifier);
JS_PROP(newContentType);
JS_PROP(newText);
JS_PROP(prevContentType);
JS_PROP(prevText);
JS_PROP(reenter);
JS_PROP(selEnd);
JS_PROP(selStart);
JS_PROP(shift);
JS_PROP(soapFaultCode);
JS_PROP(soapFaultString);
JS_PROP(target);
private:
void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting);
static const CJX_MethodSpec MethodSpecs[];
};
#endif // FXJS_XFA_CJX_EVENTPSEUDOMODEL_H_