blob: e186f58d001dde0db9b749bf49558734d79c535a [file] [log] [blame]
// Copyright 2016 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 XFA_FXFA_CXFA_EVENTPARAM_H_
#define XFA_FXFA_CXFA_EVENTPARAM_H_
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/unowned_ptr.h"
#include "v8/include/cppgc/macros.h"
#include "xfa/fxfa/fxfa_basic.h"
class CXFA_Node;
enum XFA_EVENTTYPE : uint8_t {
XFA_EVENT_Click,
XFA_EVENT_Change,
XFA_EVENT_DocClose,
XFA_EVENT_DocReady,
XFA_EVENT_Enter,
XFA_EVENT_Exit,
XFA_EVENT_Full,
XFA_EVENT_IndexChange,
XFA_EVENT_Initialize,
XFA_EVENT_MouseDown,
XFA_EVENT_MouseEnter,
XFA_EVENT_MouseExit,
XFA_EVENT_MouseUp,
XFA_EVENT_PostExecute,
XFA_EVENT_PostOpen,
XFA_EVENT_PostPrint,
XFA_EVENT_PostSave,
XFA_EVENT_PostSign,
XFA_EVENT_PostSubmit,
XFA_EVENT_PreExecute,
XFA_EVENT_PreOpen,
XFA_EVENT_PrePrint,
XFA_EVENT_PreSave,
XFA_EVENT_PreSign,
XFA_EVENT_PreSubmit,
XFA_EVENT_Ready,
XFA_EVENT_InitCalculate,
XFA_EVENT_InitVariables,
XFA_EVENT_Calculate,
XFA_EVENT_Validate,
XFA_EVENT_Unknown,
};
class CXFA_EventParam {
CPPGC_STACK_ALLOCATED(); // Raw/Unowned pointers allowed.
public:
CXFA_EventParam();
CXFA_EventParam(const CXFA_EventParam& other);
~CXFA_EventParam();
CXFA_EventParam& operator=(const CXFA_EventParam& other);
CXFA_EventParam& operator=(CXFA_EventParam&& other) noexcept;
WideString GetNewText() const;
XFA_EVENTTYPE m_eType = XFA_EVENT_Unknown;
bool m_bCancelAction = false;
bool m_bKeyDown = false;
bool m_bModifier = false;
bool m_bReenter = false;
bool m_bShift = false;
bool m_bIsFormReady = false;
int32_t m_iCommitKey = 0;
int32_t m_iSelEnd = 0;
int32_t m_iSelStart = 0;
UnownedPtr<CXFA_Node> m_pTarget; // OK, stack-only.
WideString m_wsResult;
WideString m_wsChange;
WideString m_wsFullText;
WideString m_wsNewContentType;
WideString m_wsPrevContentType;
WideString m_wsPrevText;
WideString m_wsSoapFaultCode;
WideString m_wsSoapFaultString;
};
#endif // XFA_FXFA_CXFA_EVENTPARAM_H_