summaryrefslogtreecommitdiff
path: root/fxjs/cjx_eventpseudomodel.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-01 18:48:17 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-01 18:48:17 +0000
commit46ad7f84cfeef009a4f5e4bc13f8b3435f789f30 (patch)
tree12b2778ecd88257be897dbb8bce203f2e6d689de /fxjs/cjx_eventpseudomodel.h
parent778f2feb328ac4321762b8dcf94ebc0a1bac79f5 (diff)
downloadpdfium-46ad7f84cfeef009a4f5e4bc13f8b3435f789f30.tar.xz
Convert CScript classes to have CJX objects
This CL moves the JS methods from the CScript classes into CJX representations. The methods are proxied to the CJX versions. Change-Id: Ic5f380228614a60238fbcf9e0d04d942fae395be Reviewed-on: https://pdfium-review.googlesource.com/17313 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'fxjs/cjx_eventpseudomodel.h')
-rw-r--r--fxjs/cjx_eventpseudomodel.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/fxjs/cjx_eventpseudomodel.h b/fxjs/cjx_eventpseudomodel.h
new file mode 100644
index 0000000000..10bacaebbe
--- /dev/null
+++ b/fxjs/cjx_eventpseudomodel.h
@@ -0,0 +1,75 @@
+// 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_CJX_EVENTPSEUDOMODEL_H_
+#define FXJS_CJX_EVENTPSEUDOMODEL_H_
+
+#include "fxjs/cjx_object.h"
+
+class CFXJSE_Arguments;
+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;
+
+ CScript_EventPseudoModel* GetXFAEventPseudoModel();
+
+ void Change(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void CommitKey(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void FullText(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void KeyDown(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void Modifier(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void NewContentType(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_ATTRIBUTE eAttribute);
+ void NewText(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void PrevContentType(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_ATTRIBUTE eAttribute);
+ void PrevText(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void Reenter(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void SelEnd(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void SelStart(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void Shift(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+ void SoapFaultCode(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_ATTRIBUTE eAttribute);
+ void SoapFaultString(CFXJSE_Value* pValue,
+ bool bSetting,
+ XFA_ATTRIBUTE eAttribute);
+ void Target(CFXJSE_Value* pValue, bool bSetting, XFA_ATTRIBUTE eAttribute);
+
+ void Emit(CFXJSE_Arguments* pArguments);
+ void Reset(CFXJSE_Arguments* pArguments);
+
+ private:
+ void Property(CFXJSE_Value* pValue, XFA_Event dwFlag, bool bSetting);
+};
+
+#endif // FXJS_CJX_EVENTPSEUDOMODEL_H_