Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
gced_tree_node.h
Go to the documentation of this file.
1// Copyright 2020 The PDFium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FXJS_GC_GCED_TREE_NODE_H_
6#define FXJS_GC_GCED_TREE_NODE_H_
7
8#include "core/fxcrt/tree_node.h"
9#include "v8/include/cppgc/garbage-collected.h"
10#include "v8/include/cppgc/member.h"
11#include "v8/include/cppgc/visitor.h"
12
13namespace fxjs {
14
15// For DOM/XML-ish trees, where references outside the tree are Persistent<>.
16template <typename T>
18 public fxcrt::TreeNodeBase<T> {
19 public:
20 virtual void Trace(cppgc::Visitor* visitor) const {
21 visitor->Trace(m_pParent);
22 visitor->Trace(m_pFirstChild);
23 visitor->Trace(m_pLastChild);
24 visitor->Trace(m_pNextSibling);
25 visitor->Trace(m_pPrevSibling);
26 }
27
28 protected:
29 GCedTreeNode() = default;
30 GCedTreeNode(const GCedTreeNode& that) = delete;
31 GCedTreeNode& operator=(const GCedTreeNode& that) = delete;
32
33 private:
34 friend class fxcrt::TreeNodeBase<T>;
35
36 cppgc::Member<T> m_pParent;
37 cppgc::Member<T> m_pFirstChild;
38 cppgc::Member<T> m_pLastChild;
39 cppgc::Member<T> m_pNextSibling;
40 cppgc::Member<T> m_pPrevSibling;
41};
42
43} // namespace fxjs
44
45using fxjs::GCedTreeNode;
46
47#endif // FXJS_GC_GCED_TREE_NODE_H_
void BC_Library_Init()
void BC_Library_Destroy()
static void Destroy()
static void Create()
virtual CFWL_WidgetMgr::AdapterIface * GetWidgetMgrAdapter()=0
virtual cppgc::Heap * GetHeap()=0
virtual ~AdapterIface()=default
virtual CFX_Timer::HandlerIface * GetTimerHandler()=0
virtual IFWL_ThemeProvider * GetThemeProvider()=0
CFWL_NoteDriver * GetNoteDriver() const
Definition cfwl_app.h:47
CFWL_WidgetMgr * GetWidgetMgr() const
Definition cfwl_app.h:46
IFWL_ThemeProvider * GetThemeProvider() const
Definition cfwl_app.h:42
CFX_Timer::HandlerIface * GetTimerHandler() const
Definition cfwl_app.h:39
CFWL_WidgetMgr::AdapterIface * GetWidgetMgrAdapter() const
Definition cfwl_app.h:36
cppgc::Heap * GetHeap() const
Definition cfwl_app.h:45
virtual bool GetPopupPos(CFWL_Widget *pWidget, float fMinHeight, float fMaxHeight, const CFX_RectF &rtAnchor, CFX_RectF *pPopupRect)=0
virtual ~AdapterIface()=default
virtual void RepaintWidget(CFWL_Widget *pWidget)=0
void OnProcessMessageToForm(CFWL_Message *pMessage)
CFWL_Widget * GetNextSiblingWidget(CFWL_Widget *pWidget) const
CFWL_Widget * GetWidgetAtPoint(CFWL_Widget *pParent, const CFX_PointF &point) const
CFWL_Widget * GetDefaultButton(CFWL_Widget *pParent) const
void OnDrawWidget(CFWL_Widget *pWidget, CFGAS_GEGraphics *pGraphics, const CFX_Matrix &matrix)
CFWL_Widget * GetFirstChildWidget(CFWL_Widget *pWidget) const
void InsertWidget(CFWL_Widget *pParent, CFWL_Widget *pChild)
void GetAdapterPopupPos(CFWL_Widget *pWidget, float fMinHeight, float fMaxHeight, const CFX_RectF &rtAnchor, CFX_RectF *pPopupRect) const
void RepaintWidget(CFWL_Widget *pWidget, const CFX_RectF &pRect)
CFWL_Widget * GetParentWidget(const CFWL_Widget *pWidget) const
void RemoveWidget(CFWL_Widget *pWidget)
WideString GetPlatform() override
RetainPtr< IFX_SeekableReadStream > DownloadURL(const WideString &wsURL) override
bool PostRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsContentType, const WideString &wsEncode, const WideString &wsHeader, WideString &wsResponse) override
RetainPtr< CPDFXFA_Page > GetXFAPage(CXFA_FFPageView *pPage) const
void SetOriginalPageCount(int count)
FormType GetFormType() const
WideString GetAppTitle() const override
WideString Response(const WideString &wsQuestion, const WideString &wsTitle, const WideString &wsDefaultAnswer, bool bMark) override
bool SaveDatasetsPackage(const RetainPtr< IFX_SeekableStream > &pStream)
~CPDFXFA_Context() override
void SetFormFillEnv(CPDFSDK_FormFillEnvironment *pFormFillEnv)
bool PutRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsEncode) override
void SendPreSaveToXFADoc(std::vector< RetainPtr< IFX_SeekableStream > > *fileList)
CPDFSDK_FormFillEnvironment * GetFormFillEnv() const
CXFA_FFDocView * GetXFADocView() const
WideString GetAppName() override
bool SaveFormPackage(const RetainPtr< IFX_SeekableStream > &pStream)
CFX_Timer::HandlerIface * GetTimerHandler() const override
CXFA_FFDoc * GetXFADoc()
void Beep(uint32_t dwType) override
bool ContainsExtensionForegroundForm() const override
CPDFXFA_Context(CPDF_Document *pPDFDoc)
RetainPtr< CPDFXFA_Page > GetOrCreateXFAPage(int page_index)
bool ContainsExtensionForm() const override
int GetOriginalPageCount() const
WideString GetLanguage() override
RetainPtr< CPDFXFA_Page > GetXFAPage(int page_index)
void DeletePage(int page_index) override
LoadStatus GetLoadStatus() const
bool ContainsExtensionFullForm() const override
int GetPageCount() const override
cppgc::Heap * GetGCHeap() const override
CFX_XMLDocument * GetXMLDoc()
int32_t MsgBox(const WideString &wsMessage, const WideString &wsTitle, uint32_t dwIconType, uint32_t dwButtonType) override
CPDF_Document * GetPDFDoc() const
absl::optional< CFX_PointF > PageToDevice(const FX_RECT &rect, int rotate, const CFX_PointF &page_point) const override
CXFA_FFPageView * GetXFAPageView() const
CPDF_Document * GetDocument() const override
CFX_Matrix GetDisplayMatrix(const FX_RECT &rect, int iRotate) const override
CPDFXFA_Page * AsXFAPage() override
CPDF_Page * AsPDFPage() override
float GetPageWidth() const override
~CPDFXFA_Page() override
CPDFSDK_Annot * GetLastXFAAnnot(CPDFSDK_PageView *page_view) const
int GetPageIndex() const
void SetXFAPageViewIndex(int index)
CPDFSDK_Annot * GetPrevXFAAnnot(CPDFSDK_Annot *pSDKAnnot) const
CPDFSDK_Annot * GetFirstXFAAnnot(CPDFSDK_PageView *page_view) const
CPDFSDK_Annot * GetNextXFAAnnot(CPDFSDK_Annot *pSDKAnnot) const
absl::optional< CFX_PointF > DeviceToPage(const FX_RECT &rect, int rotate, const CFX_PointF &device_point) const override
void DrawFocusAnnot(CFX_RenderDevice *pDevice, CPDFSDK_Annot *pAnnot, const CFX_Matrix &mtUser2Device, const FX_RECT &rtClip)
int HasFormFieldAtPoint(const CFX_PointF &point) const
float GetPageHeight() const override
void LoadPDFPageFromDict(RetainPtr< CPDF_Dictionary > pPageDict)
const CPDF_Dictionary * GetRoot() const
CXFA_Object * GetXFAObject(XFA_HashCode wsNodeNameHash)
CXFA_EventParam(XFA_EVENTTYPE type)
virtual WideString GetAppName()=0
virtual ~CallbackIface()=default
virtual WideString GetAppTitle() const =0
virtual WideString GetPlatform()=0
virtual void Beep(uint32_t dwType)=0
virtual int32_t MsgBox(const WideString &wsMessage, const WideString &wsTitle, uint32_t dwIconType, uint32_t dwButtonType)=0
virtual CFX_Timer::HandlerIface * GetTimerHandler() const =0
virtual bool PostRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsContentType, const WideString &wsEncode, const WideString &wsHeader, WideString &wsResponse)=0
virtual bool PutRequestURL(const WideString &wsURL, const WideString &wsData, const WideString &wsEncode)=0
virtual RetainPtr< IFX_SeekableReadStream > DownloadURL(const WideString &wsURL)=0
virtual WideString Response(const WideString &wsQuestion, const WideString &wsTitle, const WideString &wsDefaultAnswer, bool bMask)=0
virtual WideString GetLanguage()=0
virtual cppgc::Heap * GetGCHeap() const =0
CallbackIface * GetAppProvider() const
Definition cxfa_ffapp.h:144
void Trace(cppgc::Visitor *visitor) const override
bool LoadFWLTheme(CXFA_FFDoc *doc)
CFWL_WidgetMgr * GetFWLWidgetMgr() const
Definition cxfa_ffapp.h:143
CFX_Timer::HandlerIface * GetTimerHandler() override
CFWL_App * GetFWLApp() const
Definition cxfa_ffapp.h:145
CFWL_WidgetMgr::AdapterIface * GetWidgetMgrAdapter() override
IFWL_ThemeProvider * GetThemeProvider() override
~CXFA_FFApp() override
CXFA_FontMgr * GetXFAFontMgr() const
Definition cxfa_ffapp.h:146
cppgc::Heap * GetHeap() override
CXFA_FFWidgetHandler * GetWidgetHandler()
CXFA_FFDoc * GetDoc() const
CXFA_Node * GetRootSubform()
bool SavePackage(CXFA_Node *pNode, const RetainPtr< IFX_SeekableStream > &pFile)
CXFA_Document * GetXFADoc() const
Definition cxfa_ffdoc.h:167
XFA_EventError ProcessEvent(CXFA_Node *pNode, CXFA_EventParam *pParam)
CXFA_ReadyNodeIterator(CXFA_Node *pTravelRoot)
static WideString FromUTF16LE(pdfium::span< const uint8_t > data)
GCedTreeNode & operator=(const GCedTreeNode &that)=delete
GCedTreeNode()=default
virtual void Trace(cppgc::Visitor *visitor) const
GCedTreeNode(const GCedTreeNode &that)=delete
void CPDFXFA_ModuleInit()
void CPDFXFA_ModuleDestroy()
@ XFA_EVENT_PostSave
@ XFA_EVENT_PreSave
CXFA_Node * ToNode(CXFA_Object *pObj)
#define JSPLATFORM_ALERT_BUTTON_DEFAULT
#define JSPLATFORM_ALERT_ICON_ASTERISK
#define JSPLATFORM_ALERT_BUTTON_OKCANCEL
#define JSPLATFORM_ALERT_ICON_ERROR
#define JSPLATFORM_ALERT_BUTTON_YESNO
#define JSPLATFORM_ALERT_ICON_DEFAULT
#define JSPLATFORM_ALERT_ICON_WARNING
#define JSPLATFORM_ALERT_BUTTON_OK
#define JSPLATFORM_ALERT_ICON_QUESTION
#define JSPLATFORM_ALERT_ICON_STATUS
#define JSPLATFORM_ALERT_BUTTON_YESNOCANCEL
FormType
Definition fxfa.h:38
@ kXFAForeground
XFA_HashCode
Definition fxfa_basic.h:12
@ XFA_HASHCODE_Datasets
Definition fxfa_basic.h:19
@ XFA_HASHCODE_Form
Definition fxfa_basic.h:22
FXGCScopedHeap FXGC_CreateHeap()
Definition heap.cpp:66
void FXGC_Release()
Definition heap.cpp:59
void FXGC_Initialize(v8::Platform *platform, v8::Isolate *isolate)
Definition heap.cpp:51
void FXGC_ForceGarbageCollection(cppgc::Heap *heap)
Definition heap.cpp:86
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
Definition heap.h:32
Definition heap.h:12
#define CONSTRUCT_VIA_MAKE_RETAIN
Definition retain_ptr.h:224
void operator()(cppgc::Heap *heap)
Definition heap.cpp:91