NVDA Helper
In-process and lite high-speed utilities for NVDA
gecko_ia2.cpp File Reference
#include <memory>
#include <numeric>
#include <functional>
#include <vector>
#include <map>
#include <optional>
#include <windows.h>
#include <set>
#include <string>
#include <sstream>
#include <atlcomcli.h>
#include <ia2.h>
#include <common/ia2utils.h>
#include <remote/nvdaHelperRemote.h>
#include <vbufBase/backend.h>
#include <vbufBase/storage.h>
#include <common/log.h>
#include <vbufBase/utils.h>
#include <remote/textFromIAccessible.h>
#include "gecko_ia2.h"

Go to the source code of this file.

Classes

class  LabelInfo
 

Typedefs

typedef long *void fillTableHeaders(VBufStorage_controlFieldNode_t *node, IAccessibleTableCell *paccTableCell, const IATableCellGetHeaderCellsFunc getHeaderCells, const wstring &attribName)
 
using OptionalLabelInfo = optional< LabelInfo >
 

Functions

map< wstring, wstring > createMapOfIA2AttributesFromPacc (IAccessible2 *pacc)
 
bool hasXmlRoleAttribContainingValue (const map< wstring, wstring > &attribsMap, const wstring roleName)
 
static IAccessible2 * IAccessible2FromIdentifier (int docHandle, int ID)
 
int getTableIDFromCell (IAccessibleTableCell *tableCell)
 
typedef HRESULT (STDMETHODCALLTYPE IAccessibleTableCell::*IATableCellGetHeaderCellsFunc)(IUnknown ***
 
optional< intgetIAccessible2UniqueID (IAccessible2 *targetAcc)
 
long getChildCount (const bool isAriaHidden, IAccessible2 *const pacc)
 
bool hasAriaHiddenAttribute (const map< wstring, wstring > &IA2AttribsMap)
 
std::optional< wstring > getAccDescription (IAccessible2 *pacc, VARIANT childID)
 
CComPtr< IAccessible2 > getTextBoxInComboBox (IAccessible2 *comboBox)
 Get the text box inside a combo box, if any.
 
std::tuple< long, CComBSTR > getRoleLongRoleString (CComPtr< IAccessible2 > pacc, CComVariant varChild)
 
const vector< wstring > ATTRLIST_ROLES (1, L"IAccessible2::attribute_xml-roles")
 
const wregex REGEX_PRESENTATION_ROLE (L"IAccessible2\\\\:\\\\:attribute_xml-roles:.*\\bpresentation\\b.*;")
 
void _extendDetailsRolesAttribute (VBufStorage_controlFieldNode_t &node, const std::wstring &detailsRole)
 
VBufBackend_tGeckoVBufBackend_t_createInstance (int docHandle, int ID)
 

Variables

const wchar_t EMBEDDED_OBJ_CHAR = 0xFFFC
 
constexpr const wchar_t EMPTY_TEXT_NODE [] {L" "}
 

Typedef Documentation

◆ fillTableHeaders

typedef long *void fillTableHeaders(VBufStorage_controlFieldNode_t *node, IAccessibleTableCell *paccTableCell, const IATableCellGetHeaderCellsFunc getHeaderCells, const wstring &attribName)
inline

◆ OptionalLabelInfo

using OptionalLabelInfo = optional< LabelInfo >

Function Documentation

◆ createMapOfIA2AttributesFromPacc()

map< wstring, wstring > createMapOfIA2AttributesFromPacc ( IAccessible2 * pacc)

References IA2AttribsToMap().

◆ hasXmlRoleAttribContainingValue()

bool hasXmlRoleAttribContainingValue ( const map< wstring, wstring > & attribsMap,
const wstring roleName )

◆ IAccessible2FromIdentifier()

static IAccessible2 * IAccessible2FromIdentifier ( int docHandle,
int ID )
static

◆ getTableIDFromCell()

int getTableIDFromCell ( IAccessibleTableCell * tableCell)
inline

References HRESULT().

◆ HRESULT()

◆ getIAccessible2UniqueID()

optional< int > getIAccessible2UniqueID ( IAccessible2 * targetAcc)

References LOG_DEBUG, and LOG_ERROR.

◆ getChildCount()

long getChildCount ( const bool isAriaHidden,
IAccessible2 *const pacc )

◆ hasAriaHiddenAttribute()

bool hasAriaHiddenAttribute ( const map< wstring, wstring > & IA2AttribsMap)

◆ getAccDescription()

std::optional< wstring > getAccDescription ( IAccessible2 * pacc,
VARIANT childID )

◆ getTextBoxInComboBox()

CComPtr< IAccessible2 > getTextBoxInComboBox ( IAccessible2 * comboBox)

Get the text box inside a combo box, if any.

◆ getRoleLongRoleString()

std::tuple< long, CComBSTR > getRoleLongRoleString ( CComPtr< IAccessible2 > pacc,
CComVariant varChild )

References LOG_DEBUG.

◆ ATTRLIST_ROLES()

const vector< wstring > ATTRLIST_ROLES ( 1 ,
L"IAccessible2::attribute_xml-roles"  )

◆ REGEX_PRESENTATION_ROLE()

const wregex REGEX_PRESENTATION_ROLE ( L"IAccessible2\\\\:\\\\:attribute_xml-roles:.*\\bpresentation\\b.*;" )

◆ _extendDetailsRolesAttribute()

void _extendDetailsRolesAttribute ( VBufStorage_controlFieldNode_t & node,
const std::wstring & detailsRole )

◆ GeckoVBufBackend_t_createInstance()

VBufBackend_t * GeckoVBufBackend_t_createInstance ( int docHandle,
int ID )

Variable Documentation

◆ EMBEDDED_OBJ_CHAR

const wchar_t EMBEDDED_OBJ_CHAR = 0xFFFC

◆ EMPTY_TEXT_NODE

const wchar_t EMPTY_TEXT_NODE[] {L" "}
constexpr