NVDA Helper
In-process and lite high-speed utilities for NVDA
VBufStorage_referenceNode_t Class Reference

A node that references another fieldNode. More...

#include <storage.h>

Inheritance diagram for VBufStorage_referenceNode_t:
VBufStorage_controlFieldNode_t VBufStorage_fieldNode_t

Public Member Functions

 VBufStorage_referenceNode_t (int docHandle, int ID, VBufStorage_controlFieldNode_t *r)
 
void generateMarkupTagName (std::wstring &text)
 generates this field's markup tag name
 
- Public Member Functions inherited from VBufStorage_controlFieldNode_t
bool getIdentifier (int *docHandle, int *ID)
 retreaves the node's doc handle and ID.
 
virtual std::wstring getDebugInfo () const
 
- Public Member Functions inherited from VBufStorage_fieldNode_t
bool matchAttributes (const std::vector< std::wstring > &attribs, const std::wregex &regexp)
 work out if the attributes in the given string exist on this node.
 
VBufStorage_controlFieldNode_tgetParent ()
 points to this node's parent control field node.
 
VBufStorage_fieldNode_tgetPrevious ()
 points to the node directly before this node that shares the same parent as this node.
 
VBufStorage_fieldNode_tgetNext ()
 points to the node directly after this node that shares the same parent as this node.
 
VBufStorage_fieldNode_tgetFirstChild ()
 points to this node's first child.
 
VBufStorage_fieldNode_tgetLastChild ()
 points to this node's last child.
 
bool addAttribute (const std::wstring &name, const std::wstring &value)
 Adds an attribute to this field.
 
std::optional< std::wstring > getAttribute (const std::wstring &name)
 Gets an attribute value for this field.
 
std::wstring getAttributesString () const
 
virtual void getTextInRange (int startOffset, int endOffset, std::wstring &text, bool useMarkup=false, bool(*filter)(VBufStorage_fieldNode_t *)=NULL)
 fetches the text between given offsets in this node and its descendants, with optional markup.
 
int getLength ()
 Retreave the length of this node.
 

Public Attributes

VBufStorage_controlFieldNode_treferenceNode
 
- Public Attributes inherited from VBufStorage_controlFieldNode_t
const VBufStorage_controlFieldNodeIdentifier_t identifier
 uniquely identifies this control in its buffer.
 
bool requiresParentUpdate {false}
 If true, When this node is invalidated in a backend, its parent will be invalidated instead.
 
bool allowReuseInAncestorUpdate {true}
 If true, this node is allowing itself to be reused within a subtree that is being re-rendered.
 
bool denyReuseIfPreviousSiblingsChanged {false}
 If True, this node cannot be moved and reused within a subtree being re-rendered, if its previous siblings have changed in anyway.
 
bool alwaysRerenderChildren {false}
 If true, this node's children will always be re-rendered along with this node when being re-rendered.
 
bool alwaysRerenderDescendants {false}
 If true, all this node's descendants will always be re-rendered along with this node when being re-rendered.
 
- Public Attributes inherited from VBufStorage_fieldNode_t
bool isBlock
 true if this field should cause a line break at its start and end when a buffer is calculating lines.
 
bool isHidden
 True if this node his hidden - searches will not locate this node.
 

Additional Inherited Members

- Protected Member Functions inherited from VBufStorage_controlFieldNode_t
virtual void generateAttributesForMarkupOpeningTag (std::wstring &text, int startOffset, int endOffset)
 Generates the attributes within a markup opening tag.
 
virtual void disassociateFromBuffer (VBufStorage_buffer_t *buffer)
 Disassociates this node from its buffer.
 
 VBufStorage_controlFieldNode_t (int docHandle, int ID, bool isBlock)
 constructor.
 
- Protected Member Functions inherited from VBufStorage_fieldNode_t
VBufStorage_fieldNode_tnextNodeInTree (int direction, VBufStorage_fieldNode_t *limitNode, int *relativeStartOffset)
 moves to the next node, in depth-first order.
 
int calculateOffsetInTree () const
 Calculates the offset for this node relative to the surrounding tree.
 
virtual VBufStorage_textFieldNode_tlocateTextFieldNodeAtOffset (int offset, int *relativeOffset)
 Locates the descendant textFieldNode that is positioned at the given offset in this node.
 
void generateMarkupOpeningTag (std::wstring &text, int startOffset, int endOffset)
 generates a markup opening tag for this field.
 
void generateMarkupClosingTag (std::wstring &text)
 generates a markup closing tag for this field.
 
 VBufStorage_fieldNode_t (int length, bool isBlock)
 constructor.
 
virtual ~VBufStorage_fieldNode_t ()
 destructor
 
- Protected Attributes inherited from VBufStorage_fieldNode_t
VBufStorage_controlFieldNode_tparent
 points to this node's parent control field node.
 
VBufStorage_fieldNode_tprevious
 points to the node directly before this node that shares the same parent as this node.
 
VBufStorage_fieldNode_tnext
 points to the node directly after this node that shares the same parent as this node.
 
VBufStorage_fieldNode_tfirstChild
 points to this node's first child.
 
VBufStorage_fieldNode_tlastChild
 points to this node's last child.
 
int length
 The length of this node in characters.
 
VBufStorage_attributeMap_t attributes
 a map to hold attributes for this field.
 

Detailed Description

A node that references another fieldNode.

When rendering a subtree in a temporary buffer to update existing content, This node class is used to indicate where an existing node should be reused.

Constructor & Destructor Documentation

◆ VBufStorage_referenceNode_t()

VBufStorage_referenceNode_t::VBufStorage_referenceNode_t ( int docHandle,
int ID,
VBufStorage_controlFieldNode_t * r )
inline

Member Function Documentation

◆ generateMarkupTagName()

void VBufStorage_referenceNode_t::generateMarkupTagName ( std::wstring & text)
inlinevirtual

generates this field's markup tag name

Parameters
textwhere to place the generated name

Reimplemented from VBufStorage_controlFieldNode_t.

Member Data Documentation

◆ referenceNode

VBufStorage_controlFieldNode_t* VBufStorage_referenceNode_t::referenceNode

The documentation for this class was generated from the following file: