133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Copyright 2017 PDFium Authors. All rights reserved.
233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be
333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// found in the LICENSE file.
433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
7d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fxjs/cjs_event_context.h"
833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
9d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "core/fxcrt/autorestorer.h"
10d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fxjs/JS_Define.h"
11d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fxjs/cjs_eventhandler.h"
12d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fxjs/cjs_runtime.h"
13d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann#include "fxjs/js_resources.h"
1433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
1533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. MoltmannCJS_EventContext::CJS_EventContext(CJS_Runtime* pRuntime)
1633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    : m_pRuntime(pRuntime),
1733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann      m_pEventHandler(new CJS_EventHandler(this)),
1833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann      m_bBusy(false) {
1933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  ASSERT(pRuntime);
2033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
2133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
2233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. MoltmannCJS_EventContext::~CJS_EventContext() {}
2333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
2433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. MoltmannCPDFSDK_FormFillEnvironment* CJS_EventContext::GetFormFillEnv() {
2533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  return m_pRuntime->GetFormFillEnv();
2633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
2733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
28d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmannbool CJS_EventContext::RunScript(const WideString& script, WideString* info) {
2933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  v8::Isolate::Scope isolate_scope(m_pRuntime->GetIsolate());
3033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  v8::HandleScope handle_scope(m_pRuntime->GetIsolate());
3133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  v8::Local<v8::Context> context = m_pRuntime->NewLocalContext();
3233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  v8::Context::Scope context_scope(context);
3333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
3433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  if (m_bBusy) {
35d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    *info = JSGetStringFromID(JSMessage::kBusyError);
3633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    return false;
3733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  }
3833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
39d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  AutoRestorer<bool> restorer(&m_bBusy);
4033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_bBusy = true;
4133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
4233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  ASSERT(m_pEventHandler->IsValid());
4333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  CJS_Runtime::FieldEvent event(m_pEventHandler->TargetName(),
4433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                m_pEventHandler->EventType());
4533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  if (!m_pRuntime->AddEventToSet(event)) {
46d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    *info = JSGetStringFromID(JSMessage::kDuplicateEventError);
4733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    return false;
4833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  }
4933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
50d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann  WideString sErrorMessage;
5133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  int nRet = 0;
5233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  if (script.GetLength() > 0)
5333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    nRet = m_pRuntime->ExecuteScript(script.c_str(), &sErrorMessage);
5433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
5533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  if (nRet < 0)
5633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    *info += sErrorMessage;
5733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  else
58d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann    *info = JSGetStringFromID(JSMessage::kRunSuccess);
5933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
6033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pRuntime->RemoveEventFromSet(event);
6133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->Destroy();
6233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  return nRet >= 0;
6333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
6433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
6533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnApp_Init() {
6633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnApp_Init();
6733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
6833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
6933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv,
70d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                  const WideString& strTargetName) {
7133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_Open(pFormFillEnv, strTargetName);
7233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
7333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
7433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_WillPrint(
7533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
7633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_WillPrint(pFormFillEnv);
7733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
7833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
7933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_DidPrint(
8033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
8133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_DidPrint(pFormFillEnv);
8233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
8333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
8433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_WillSave(
8533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
8633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_WillSave(pFormFillEnv);
8733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
8833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
8933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_DidSave(
9033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
9133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_DidSave(pFormFillEnv);
9233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
9333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
9433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnDoc_WillClose(
9533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
9633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnDoc_WillClose(pFormFillEnv);
9733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
9833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
9933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnPage_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
10033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnPage_Open(pFormFillEnv);
10133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
10233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
10333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnPage_Close(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
10433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnPage_Close(pFormFillEnv);
10533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
10633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
10733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnPage_InView(
10833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
10933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnPage_InView(pFormFillEnv);
11033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
11133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
11233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnPage_OutView(
11333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
11433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnPage_OutView(pFormFillEnv);
11533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
11633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
11733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_MouseDown(bool bModifier,
11833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bShift,
11933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         CPDF_FormField* pTarget) {
12033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_MouseDown(bModifier, bShift, pTarget);
12133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
12233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
12333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_MouseEnter(bool bModifier,
12433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          bool bShift,
12533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          CPDF_FormField* pTarget) {
12633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_MouseEnter(bModifier, bShift, pTarget);
12733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
12833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
12933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_MouseExit(bool bModifier,
13033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bShift,
13133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         CPDF_FormField* pTarget) {
13233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_MouseExit(bModifier, bShift, pTarget);
13333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
13433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
13533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_MouseUp(bool bModifier,
13633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                       bool bShift,
13733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                       CPDF_FormField* pTarget) {
13833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_MouseUp(bModifier, bShift, pTarget);
13933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
14033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
14133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_Focus(bool bModifier,
14233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     bool bShift,
14333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     CPDF_FormField* pTarget,
144d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                     const WideString& Value) {
14533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Focus(bModifier, bShift, pTarget, Value);
14633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
14733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
14833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_Blur(bool bModifier,
14933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                    bool bShift,
15033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                    CPDF_FormField* pTarget,
151d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                    const WideString& Value) {
15233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Blur(bModifier, bShift, pTarget, Value);
15333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
15433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
15533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_Calculate(CPDF_FormField* pSource,
15633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         CPDF_FormField* pTarget,
157d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                         WideString& Value,
15833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool& bRc) {
15933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Calculate(pSource, pTarget, Value, bRc);
16033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
16133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
16233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnField_Format(CPDF_FormField* pTarget,
163d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                      WideString& Value,
16433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                      bool bWillCommit) {
16533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Format(pTarget, Value, bWillCommit);
16633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
16733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
168d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmannvoid CJS_EventContext::OnField_Keystroke(WideString& strChange,
169d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                         const WideString& strChangeEx,
17033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bKeyDown,
17133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bModifier,
17233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         int& nSelEnd,
17333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         int& nSelStart,
17433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bShift,
17533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         CPDF_FormField* pTarget,
176d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                         WideString& Value,
17733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bWillCommit,
17833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool bFieldFull,
17933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                         bool& bRc) {
18033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Keystroke(
18133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann      strChange, strChangeEx, bKeyDown, bModifier, nSelEnd, nSelStart, bShift,
18233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann      pTarget, Value, bWillCommit, bFieldFull, bRc);
18333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
18433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
185d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmannvoid CJS_EventContext::OnField_Validate(WideString& strChange,
186d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                        const WideString& strChangeEx,
18733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool bKeyDown,
18833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool bModifier,
18933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool bShift,
19033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        CPDF_FormField* pTarget,
191d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                        WideString& Value,
19233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool& bRc) {
19333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnField_Validate(strChange, strChangeEx, bKeyDown, bModifier,
19433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                    bShift, pTarget, Value, bRc);
19533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
19633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
19733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_Focus(bool bModifier,
19833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                      bool bShift,
19933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                      CPDFSDK_Annot* pScreen) {
20033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_Focus(bModifier, bShift, pScreen);
20133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
20233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
20333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_Blur(bool bModifier,
20433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     bool bShift,
20533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     CPDFSDK_Annot* pScreen) {
20633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_Blur(bModifier, bShift, pScreen);
20733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
20833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
20933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_Open(bool bModifier,
21033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     bool bShift,
21133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                     CPDFSDK_Annot* pScreen) {
21233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_Open(bModifier, bShift, pScreen);
21333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
21433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
21533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_Close(bool bModifier,
21633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                      bool bShift,
21733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                      CPDFSDK_Annot* pScreen) {
21833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_Close(bModifier, bShift, pScreen);
21933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
22033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
22133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_MouseDown(bool bModifier,
22233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          bool bShift,
22333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          CPDFSDK_Annot* pScreen) {
22433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_MouseDown(bModifier, bShift, pScreen);
22533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
22633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
22733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_MouseUp(bool bModifier,
22833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool bShift,
22933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        CPDFSDK_Annot* pScreen) {
23033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_MouseUp(bModifier, bShift, pScreen);
23133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
23233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
23333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_MouseEnter(bool bModifier,
23433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                           bool bShift,
23533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                           CPDFSDK_Annot* pScreen) {
23633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_MouseEnter(bModifier, bShift, pScreen);
23733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
23833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
23933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_MouseExit(bool bModifier,
24033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          bool bShift,
24133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                          CPDFSDK_Annot* pScreen) {
24233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_MouseExit(bModifier, bShift, pScreen);
24333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
24433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
24533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_InView(bool bModifier,
24633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                       bool bShift,
24733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                       CPDFSDK_Annot* pScreen) {
24833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_InView(bModifier, bShift, pScreen);
24933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
25033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
25133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnScreen_OutView(bool bModifier,
25233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        bool bShift,
25333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann                                        CPDFSDK_Annot* pScreen) {
25433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnScreen_OutView(bModifier, bShift, pScreen);
25533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
25633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
25733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) {
25833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnBookmark_MouseUp(pBookMark);
25933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
26033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
26133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnLink_MouseUp(
26233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann    CPDFSDK_FormFillEnvironment* pFormFillEnv) {
26333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnLink_MouseUp(pFormFillEnv);
26433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
26533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
26633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnConsole_Exec() {
26733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnConsole_Exec();
26833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
26933357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
27033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnExternal_Exec() {
27133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnExternal_Exec();
27233357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
27333357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
27433357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnBatchExec(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
27533357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnBatchExec(pFormFillEnv);
27633357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
27733357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann
27833357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmannvoid CJS_EventContext::OnMenu_Exec(CPDFSDK_FormFillEnvironment* pFormFillEnv,
279d904c1ec7e8d1d86ed56f0dd252435d12cd345aePhilip P. Moltmann                                   const WideString& strTargetName) {
28033357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann  m_pEventHandler->OnMenu_Exec(pFormFillEnv, strTargetName);
28133357cad1fd1321a2b38d2963e2585f27ce980a2Philip P. Moltmann}
282