You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by st...@apache.org on 2012/12/12 05:41:33 UTC
svn commit: r1420522 [7/12] - in
/openoffice/branches/ia2/main/winaccessibility: ./ inc/ prj/ source/
source/UAccCOM/ source/UAccCOMIDL/ source/service/
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.h (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.h Wed Dec 12 04:41:12 2012
@@ -0,0 +1,304 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __MACCESSIBLE_H_
+#define __MACCESSIBLE_H_
+
+#include <Windows.h>
+#include "resource.h" // main symbols
+#include <vector>
+#include <map>
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
+#include <com/sun/star/accessibility/XAccessibleAction.hpp>
+#include <AccObjectManagerAgent.hxx>
+#include "EnumVariant.h"
+#ifndef __ACCCOMMON_H_
+#include "acccommon.h"
+#endif
+#ifndef __AccessibleApplication_h__
+#include "AccessibleApplication.h"
+#endif
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+#define CHILDID_SELF 0
+#define OBJID_WINDOW ((LONG)0x00000000)
+#define OBJID_SYSMENU ((LONG)0xFFFFFFFF)
+#define OBJID_TITLEBAR ((LONG)0xFFFFFFFE)
+#define OBJID_MENU ((LONG)0xFFFFFFFD)
+#define OBJID_CLIENT ((LONG)0xFFFFFFFC)
+#define OBJID_VSCROLL ((LONG)0xFFFFFFFB)
+#define OBJID_HSCROLL ((LONG)0xFFFFFFFA)
+#define OBJID_SIZEGRIP ((LONG)0xFFFFFFF9)
+#define OBJID_CARET ((LONG)0xFFFFFFF8)
+#define OBJID_CURSOR ((LONG)0xFFFFFFF7)
+#define OBJID_ALERT ((LONG)0xFFFFFFF6)
+#define OBJID_SOUND ((LONG)0xFFFFFFF5)
+#define OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4)
+#define OBJID_NATIVEOM ((LONG)0xFFFFFFF0)
+
+using namespace rtl;
+/**
+ *This class implements IMAccessible interface, which inherits from IAccessible2, and
+ *in turn inherits from IAccessible. So its methods include the methods defined only in
+ *IAccessible, plus the methods defined only in IAccessible2, plus the methods defined
+ *only in IMAccessible.
+ */
+class ATL_NO_VTABLE CMAccessible :
+ public CComObjectRoot,
+ public CComCoClass<CMAccessible, &CLSID_MAccessible>,
+ public IDispatchImpl<IMAccessible, &IID_IMAccessible, &LIBID_UACCCOMLib>,
+ public IServiceProvider,
+ public IAccessibleApplication
+{
+ typedef map< const GUID, CComPtr<IUnknown> ,ltComp > XGUIDToComObjHash;
+
+ typedef HRESULT (WINAPI _UNO_AGGCREATORFUNC)(void*, REFIID, LPVOID*);
+
+ struct _UNO_AGGMAP_ENTRY
+ {
+ const IID* piid;
+ _UNO_AGGCREATORFUNC* pfnCreateInstance;
+ int XIFIndex;
+ };
+
+ enum XInterfaceIndex {
+ XI_COMPONENT = 0x01,
+ XI_TEXT = 0x02,
+ XI_TABLE = 0x03,
+ XI_EDITABLETEXT = 0x04,
+ XI_IMAGE = 0x05,
+ XI_SELECTION = 0x06,
+ XI_EXTENDEDCOMP = 0x07,
+ XI_VALUE = 0x08,
+ XI_KEYBINDING = 0x09,
+ XI_ACTION = 0x0A,
+ XI_HYPERTEXT = 0x0B,
+ XI_HYPERLINK = 0x0C,
+ XI_ATTRIBUTE = 0x0D,
+ XI_NULL = -1
+ };
+
+public:
+ CMAccessible();
+ virtual ~CMAccessible();
+ DECLARE_REGISTRY_RESOURCEID(IDR_MACCESSIBLE)
+
+ DECLARE_GET_CONTROLLING_UNKNOWN()
+
+ DECLARE_PROTECT_FINAL_CONSTRUCT()
+
+ BEGIN_COM_MAP(CMAccessible)
+ COM_INTERFACE_ENTRY(IMAccessible)
+ COM_INTERFACE_ENTRY(IAccessible)
+ COM_INTERFACE_ENTRY(IAccessible2)
+ COM_INTERFACE_ENTRY(IDispatch)
+ COM_INTERFACE_ENTRY(IAccessibleApplication)
+ COM_INTERFACE_ENTRY(IServiceProvider)
+ COM_INTERFACE_ENTRY_FUNC_BLIND(NULL,_SmartQI)
+ END_COM_MAP()
+
+ // AGGREGATE OBJECT MAP
+ BEGIN_AGGOBJECT_MAP(CMAccessible)
+ AGGOBJECT_ENTRY(IID_IAccessibleComponent, CLSID_AccComponent, COMPONENT)
+ AGGOBJECT_ENTRY(IID_IAccessibleText, CLSID_AccText, TEXT)
+ AGGOBJECT_ENTRY(IID_IAccessibleEditableText, CLSID_AccEditableText, EDITABLETEXT)
+ AGGOBJECT_ENTRY(IID_IAccessibleImage, CLSID_AccImage, IMAGE)
+ AGGOBJECT_ENTRY(IID_IAccessibleTable, CLSID_AccTable, TABLE)
+ AGGOBJECT_ENTRY(IID_IAccessibleAction, CLSID_AccAction, ACTION)
+ AGGOBJECT_ENTRY(IID_IAccessibleValue, CLSID_AccValue, VALUE)
+ AGGOBJECT_ENTRY(IID_IAccessibleHypertext, CLSID_AccHypertext, HYPERTEXT)
+ AGGOBJECT_ENTRY(IID_IAccessibleHyperlink, CLSID_AccHyperLink, HYPERLINK)
+
+
+ END_AGGOBJECT_MAP()
+
+ // IMAccessible
+ STDMETHOD(put_accValue)(VARIANT varChild,BSTR szValue);
+ STDMETHOD(put_accName)(VARIANT varChild,BSTR szName);
+ STDMETHOD(accDoDefaultAction)(VARIANT varChild);
+ STDMETHOD(accHitTest)(long xLeft,long yTop,VARIANT *pvarChild);
+ STDMETHOD(accNavigate)(long navDir,VARIANT varStart,VARIANT *pvarEndUpAt);
+ STDMETHOD(accLocation)(long *pxLeft,long *pyTop,long *pcxWidth,long *pcyHeight,VARIANT varChild);
+ STDMETHOD(accSelect)(long flagsSelect,VARIANT varChild);
+ STDMETHOD(get_accDefaultAction)( VARIANT varChild,BSTR *pszDefaultAction);
+ STDMETHOD(get_accSelection)(VARIANT *pvarChildren);
+ STDMETHOD(get_accFocus)(VARIANT *pvarChild);
+ STDMETHOD(get_accKeyboardShortcut)( VARIANT varChild,BSTR *pszKeyboardShortcut);
+ STDMETHOD(get_accHelpTopic)(BSTR *pszHelpFile,VARIANT varChild,long *pidTopic);
+ STDMETHOD(get_accHelp)(VARIANT varChild,BSTR *pszHelp);
+ STDMETHOD(get_accState)(VARIANT varChild,VARIANT *pvarState);
+ STDMETHOD(get_accRole)(VARIANT varChild,VARIANT *pvarRole);
+ STDMETHOD(get_accDescription)(VARIANT varChild,BSTR *pszDescription);
+ STDMETHOD(get_accValue)( VARIANT varChild,BSTR *pszValue);
+ STDMETHOD(get_accName)(VARIANT varChild,BSTR *pszName);
+ STDMETHOD(get_accChild)(VARIANT varChild,IDispatch **ppdispChild);
+ STDMETHOD(get_accChildCount)(long *pcountChildren);
+ STDMETHOD(get_accParent)( IDispatch **ppdispParent);
+
+ // methods which are defined only in the IAccessible2
+ // These methods only declare here, and their implementation bodies are empty now.
+ STDMETHOD(get_nRelations)( long __RPC_FAR *nRelations) ;
+ STDMETHOD(get_relation)( long relationIndex, IAccessibleRelation __RPC_FAR *__RPC_FAR *relation) ;
+ STDMETHOD(get_relations)( long maxRelations, IAccessibleRelation __RPC_FAR *__RPC_FAR *relation, long __RPC_FAR *nRelations) ;
+ STDMETHOD(role)(long __RPC_FAR *role);
+ STDMETHOD(get_nActions)(long __RPC_FAR *nActions);
+ STDMETHOD(scrollTo)(enum IA2ScrollType scrollType);
+ STDMETHOD(scrollToPoint)(enum IA2CoordinateType coordinateType, long x, long y);
+ STDMETHOD(get_groupPosition)(long __RPC_FAR *groupLevel,long __RPC_FAR *similarItemsInGroup,long __RPC_FAR *positionInGroup);
+ STDMETHOD(get_states)( AccessibleStates __RPC_FAR *states );
+ STDMETHOD(get_extendedRole)( BSTR __RPC_FAR *extendedRole );
+ STDMETHOD(get_localizedExtendedRole)( BSTR __RPC_FAR *localizedExtendedRole );
+ STDMETHOD(get_nExtendedStates)( long __RPC_FAR *nExtendedStates);
+ STDMETHOD(get_extendedStates)( long maxExtendedStates, BSTR __RPC_FAR *__RPC_FAR *extendedStates, long __RPC_FAR *nExtendedStates);
+ STDMETHOD(get_localizedExtendedStates)(long maxLocalizedExtendedStates,BSTR __RPC_FAR *__RPC_FAR *localizedExtendedStates,long __RPC_FAR *nLocalizedExtendedStates);
+ STDMETHOD(get_uniqueID)(long __RPC_FAR *uniqueID);
+ STDMETHOD(get_windowHandle)(HWND __RPC_FAR *windowHandle);
+ STDMETHOD(get_indexInParent)( long __RPC_FAR *accParentIndex );
+ STDMETHOD(get_locale)( IA2Locale __RPC_FAR *locale );
+ STDMETHOD(get_attributes)(/*[out]*/ BSTR *pAttr);
+
+ //IServiceProvider.
+ STDMETHOD(QueryService)(REFGUID guidService, REFIID riid, void** ppvObject);
+
+ //IAccessibleApplication
+ STDMETHOD(get_appName)(BSTR __RPC_FAR *name);
+ STDMETHOD(get_appVersion)(BSTR __RPC_FAR *version);
+ STDMETHOD(get_toolkitName)(BSTR __RPC_FAR *name);
+ STDMETHOD(get_toolkitVersion)(BSTR __RPC_FAR *version);
+
+ // methods which are defined only in IMAccessible
+ // These methods are provided for UNO management system.
+ // The UNO management system use these methods to put Accessibility
+ // information to COM.
+ STDMETHOD(Put_XAccName)(const OLECHAR __RPC_FAR *pszName);
+ STDMETHOD(Put_XAccRole)(unsigned short pRole);
+ STDMETHOD(DecreaseState)(DWORD pXSate);
+ STDMETHOD(IncreaseState)(DWORD pXSate);
+ STDMETHOD(SetState)(DWORD pXSate);
+ STDMETHOD(Put_XAccDescription)(const OLECHAR __RPC_FAR *pszDescription);
+ STDMETHOD(Put_XAccValue)(const OLECHAR __RPC_FAR *pszAccValue);
+ STDMETHOD(Put_XAccLocation)(const Location sLocation);
+ STDMETHOD(Put_XAccFocus)(long dChildID);
+ STDMETHOD(Put_XAccParent)(IMAccessible __RPC_FAR *pIParent);
+ STDMETHOD(Put_XAccWindowHandle)(HWND hwnd);
+ STDMETHOD(Put_XAccChildID)(long dChildID);
+ STDMETHOD(Put_XAccAgent)(long pAgent);
+ STDMETHOD(NotifyDestroy)(BOOL isDestroy);
+ STDMETHOD(Put_ActionDescription)( const OLECHAR* szAction);
+ STDMETHOD(SetDefaultAction)(long pAction);
+ STDMETHOD(GetUNOInterface)(long*);
+ STDMETHOD(SetXAccessible)(long);
+
+private:
+ OLECHAR* m_pszName;
+ OLECHAR* m_pszValue;
+ OLECHAR* m_pszActionDescription;
+ unsigned short m_iRole;
+ DWORD m_dState;
+ OLECHAR* m_pszDescription;
+ IMAccessible* m_pIParent;
+ Location m_sLocation;
+
+ // identify a COM object/Acc object uniquely
+ long m_dChildID;
+ // specify the focus child ID in object self and its direct children
+
+ long m_dFocusChildID;
+ // parent window handle,will be used in the future application, its value comes from UNO
+
+ HWND m_hwnd;
+
+ // the COM class which implements IEnumVARIANT interface,currently only used in
+ // the implementation of get_accSelection
+ CEnumVariant* m_pEnumVar;
+
+ // specify if the XAccessible is invalid
+ BOOL m_isDestroy;
+
+ XAccessible* pUNOInterface;
+ Reference< XAccessible > pRef;
+ XAccessible* pAchorUNOInterface;
+ XAccessibleAction* m_pXAction;
+ XAccessibleContext* pRContextInterface;
+ Reference<XAccessibleContext> pRContext;
+
+private:
+
+ // the helper methods in order to implement the above public methods
+ IMAccessible* GetChildInterface(long dChildIndex);//notice here the parameter is child index,not child id
+ IMAccessible* GetNavigateChildForDM(VARIANT varCur,short flags);//for decendant manage
+ HRESULT GetFirstChild(VARIANT varStart,VARIANT* pvarEndUpAt);//for accNavigate implementation
+ HRESULT GetLastChild(VARIANT varStart,VARIANT* pvarEndUpAt);//for accNavigate implementation
+ HRESULT GetNextSibling(VARIANT varStart,VARIANT* pvarEndUpAt);//for accNavigate implementation
+ HRESULT GetPreSibling(VARIANT varStart,VARIANT* pvarEndUpAt);//for accNavigate implementation
+ BOOL IsDecendantManage();//identify whether the current COM belongs to manage_decendant roles
+
+ // the following private methods are used to implement accSelect method
+ HRESULT SelectChild(XAccessible* pItem);
+ HRESULT DeSelectChild(XAccessible* pItem);
+ HRESULT SelectMutipleChidren( XAccessible** pItem,int size );
+ HRESULT DeSelectMutipleChildren( XAccessible** pItem,int size );
+ XAccessibleContext* GetContextByXAcc( XAccessible* pXAcc );
+ Reference< XAccessibleSelection > GetSelection();
+ // end accSelect implementation methods
+ BOOL GetXInterfaceFromXAccessible(XAccessible*, XInterface**, int);
+ HRESULT WINAPI SmartQI(void* pv, REFIID iid, void** ppvObject);
+
+public:
+ STDMETHOD(Get_XAccChildID)(/*[out,retval]*/ long* childID);
+ // AccObjectManagerAgent is a management object in UNO, here keep its pointer for
+ // the implementation of accNavigate when decendant manage happens for List,Tree, or Table
+ // AccObjectManagerAgent and the following UNO objects XAccessble,XAccessibleSelection,
+ // XAccessibleAction are all used to operate UNO accessiblility information directly when
+ // implement some specific MSAA methods,such as accSelection,accNavigate
+ static AccObjectManagerAgent* g_pAgent;
+
+ static BOOL get_IAccessibleFromXAccessible(long pXAcc,IAccessible** ppIA);
+ BOOL m_bRequiresSave;
+ XGUIDToComObjHash m_containedObjects;
+
+ static HRESULT WINAPI _SmartQI(void* pv,
+ REFIID iid, void** ppvObject, DWORD)
+ {
+ return ((CMAccessible*)pv)->SmartQI(pv,iid,ppvObject);
+ }
+
+ static void get_OLECHARFromAny(Any& pAny, OLECHAR* pChar);
+
+ static void get_OLECHAR4Numbering(const Any& pAny, short numberingLevel, const OUString& numberingPrefix,OLECHAR* pChar);
+
+ // Helper function for data conversion.
+ static void ConvertAnyToVariant(const ::com::sun::star::uno::Any &rAnyVal, VARIANT *pvData);
+};
+
+
+
+#endif //__MACCESSIBLE_H_
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.rgs
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.rgs?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.rgs (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/MAccessible.rgs Wed Dec 12 04:41:12 2012
@@ -0,0 +1,26 @@
+HKCR
+{
+ UAccCOM.MAccessible.1 = s 'MAccessible Class'
+ {
+ CLSID = s '{CF8DF8BA-44FE-4B10-BD2E-8C8CB322485F}'
+ }
+ UAccCOM.MAccessible = s 'MAccessible Class'
+ {
+ CLSID = s '{CF8DF8BA-44FE-4B10-BD2E-8C8CB322485F}'
+ CurVer = s 'UAccCOM.MAccessible.1'
+ }
+ NoRemove CLSID
+ {
+ ForceRemove {CF8DF8BA-44FE-4B10-BD2E-8C8CB322485F} = s 'MAccessible Class'
+ {
+ ProgID = s 'UAccCOM.MAccessible.1'
+ VersionIndependentProgID = s 'UAccCOM.MAccessible'
+ ForceRemove 'Programmable'
+ InprocServer32 = s '%MODULE%'
+ {
+ val ThreadingModel = s 'Both'
+ }
+ 'TypeLib' = s '{19ECB1B0-9376-4FF9-B580-223FC9C200B8}'
+ }
+ }
+}
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/Resource.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/Resource.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/Resource.h (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/Resource.h Wed Dec 12 04:41:12 2012
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by UAccCOM.rc
+//
+#define WNT
+
+#define IDS_PROJNAME 100
+#define IDR_MACCESSIBLE 101
+#define IDR_ENUMVARIANT 106
+#define IDR_UNOXWRAPPER 107
+#define IDS_ACCCOMPONENT_DESC 108
+#define IDR_AccComponent 109
+#define IDS_ACCCONTEXT_DESC 110
+#define IDR_AccContext 111
+#define IDR_ACCRELATION 112
+#define IDR_ACCACTION 113
+#define IDS_ACCFONT_DESC 114
+#define IDR_AccFont 115
+#define IDS_ACCSELECTION_DESC 116
+#define IDR_AccSelection 117
+#define IDS_ACCEXTENDEDCOMPONENT_DESC 118
+#define IDR_AccExtendedComponent 119
+#define IDS_ACCTEXT_DESC 120
+#define IDR_AccText 121
+#define IDS_ACCEDITABLETEXT_DESC 122
+#define IDR_AccEditableText 123
+#define IDS_ACCHYPERTEXT_DESC 124
+#define IDR_AccHypertext 125
+#define IDS_ACCIMAGE_DESC 126
+#define IDR_AccImage 127
+#define IDS_ACCVALUE_DESC 128
+#define IDR_AccValue 129
+#define IDS_ACCTABLE_DESC 130
+#define IDR_ACCTABLE 131
+#define IDS_ACCHYPERLINK_DESC 132
+#define IDR_AccHyperLink 133
+#define IDS_ACCKEYBINDING_DESC 134
+#define IDR_AccKeyBinding 135
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 203
+#define _APS_NEXT_COMMAND_VALUE 32768
+#define _APS_NEXT_CONTROL_VALUE 201
+#define _APS_NEXT_SYMED_VALUE 137
+#endif
+#endif
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/StdAfx.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/StdAfx.cpp?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/StdAfx.cpp (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/StdAfx.cpp Wed Dec 12 04:41:12 2012
@@ -0,0 +1,36 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "stdafx.h"
+
+#ifdef _ATL_STATIC_REGISTRY
+#include <statreg.h>
+#include <statreg.cpp>
+#endif
+
+#include <atlimpl.cpp>
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.cpp?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.cpp (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.cpp Wed Dec 12 04:41:12 2012
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "stdafx.h"
+#include "resource.h"
+#include <initguid.h>
+#include "UAccCOM2.h"
+
+#include "UAccCOM_i.c"
+#include "Accessible2_i.c"
+#include "AccessibleComponent_i.c"
+#include "AccessibleText_i.c"
+#include "AccessibleEditableText_i.c"
+#include "AccessibleImage_i.c"
+#include "AccessibleTable_i.c"
+#include "AccessibleAction_i.c"
+#include "AccessibleValue_i.c"
+#include "AccessibleHyperText_i.c"
+#include "AccessibleRelation_i.c"
+#include "AccessibleHyperLink_i.c"
+
+#include "MAccessible.h"
+#include "EnumVariant.h"
+#include "UNOXWrapper.h"
+#include "AccComponent.h"
+#include "AccRelation.h"
+#include "AccAction.h"
+#include "AccText.h"
+#include "AccEditableText.h"
+#include "AccImage.h"
+#include "AccValue.h"
+#include "AccTable.h"
+#include "AccHyperLink.h"
+#include "AccHyperText.h"
+
+
+CComModule _Module;
+
+BEGIN_OBJECT_MAP(ObjectMap)
+OBJECT_ENTRY(CLSID_MAccessible, CMAccessible)
+OBJECT_ENTRY(CLSID_EnumVariant, CEnumVariant)
+OBJECT_ENTRY(CLSID_AccComponent, CAccComponent)
+OBJECT_ENTRY(CLSID_AccRelation, CAccRelation)
+OBJECT_ENTRY(CLSID_AccAction, CAccAction)
+OBJECT_ENTRY(CLSID_AccText, CAccText)
+OBJECT_ENTRY(CLSID_AccEditableText, CAccEditableText)
+OBJECT_ENTRY(CLSID_AccImage, CAccImage)
+OBJECT_ENTRY(CLSID_AccValue, CAccValue)
+OBJECT_ENTRY(CLSID_AccTable, CAccTable)
+OBJECT_ENTRY(CLSID_AccHyperLink, CAccHyperLink)
+OBJECT_ENTRY(CLSID_AccHypertext, CAccHypertext)
+END_OBJECT_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// DLL Entry Point
+
+extern "C"
+ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
+{
+ if (dwReason == DLL_PROCESS_ATTACH)
+ {
+ _Module.Init(ObjectMap, hInstance, &LIBID_UACCCOMLib);
+ DisableThreadLibraryCalls(hInstance);
+ }
+ else if (dwReason == DLL_PROCESS_DETACH)
+ _Module.Term();
+ return TRUE; // ok
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// Used to determine whether the DLL can be unloaded by OLE
+
+STDAPI DllCanUnloadNow(void)
+{
+ return (_Module.GetLockCount()==0) ? S_OK : E_FAIL;
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// Returns a class factory to create an object of the requested type
+
+STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
+{
+ return _Module.GetClassObject(rclsid, riid, ppv);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllRegisterServer - Adds entries to the system registry
+
+STDAPI DllRegisterServer(void)
+{
+ // registers object, typelib and all interfaces in typelib
+ return _Module.RegisterServer(TRUE);
+}
+
+/////////////////////////////////////////////////////////////////////////////
+// DllUnregisterServer - Removes entries from the system registry
+
+STDAPI DllUnregisterServer(void)
+{
+ return _Module.UnregisterServer(TRUE);
+}
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.def
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.def?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.def (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.def Wed Dec 12 04:41:12 2012
@@ -0,0 +1,35 @@
+;
+; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+;
+; Copyright IBM Corporation 2010.
+; Copyright 2000, 2010 Oracle and/or its affiliates.
+;
+; OpenOffice.org - a multi-platform office productivity suite
+;
+; This file is part of OpenOffice.org.
+;
+; OpenOffice.org is free software: you can redistribute it and/or modify
+; it under the terms of the GNU Lesser General Public License version 3
+; only, as published by the Free Software Foundation.
+;
+; OpenOffice.org is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU Lesser General Public License version 3 for more details
+; (a copy is included in the LICENSE file that accompanied this code).
+;
+; You should have received a copy of the GNU Lesser General Public License
+; version 3 along with OpenOffice.org. If not, see
+; <http://www.openoffice.org/license.html>
+; for a copy of the LGPLv3 License.
+;
+
+; UAccCOM.def : Declares the module parameters.
+
+LIBRARY "UAccCOM.DLL"
+
+EXPORTS
+ DllCanUnloadNow PRIVATE
+ DllGetClassObject PRIVATE
+ DllRegisterServer PRIVATE
+ DllUnregisterServer PRIVATE
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.rc
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.rc?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.rc (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccCOM.rc Wed Dec 12 04:41:12 2012
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Chinese (P.R.C.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
+#ifdef _WIN32
+LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
+#pragma code_page(936)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// REGISTRY
+//
+
+IDR_MACCESSIBLE REGISTRY DISCARDABLE "MAccessible.rgs"
+IDR_ENUMVARIANT REGISTRY DISCARDABLE "EnumVariant.rgs"
+IDR_UNOXWRAPPER REGISTRY DISCARDABLE "UNOXWrapper.rgs"
+IDR_AccComponent REGISTRY DISCARDABLE "AccComponent.rgs"
+IDR_AccExtendedComponent REGISTRY DISCARDABLE "AccExtendedComponent.rgs"
+IDR_ACCRELATION REGISTRY DISCARDABLE "AccRelation.rgs"
+IDR_ACCACTION REGISTRY DISCARDABLE "AccAction.rgs"
+IDR_AccFont REGISTRY DISCARDABLE "AccFont.rgs"
+IDR_AccSelection REGISTRY DISCARDABLE "AccSelection.rgs"
+IDR_AccText REGISTRY DISCARDABLE "AccText.rgs"
+IDR_AccEditableText REGISTRY DISCARDABLE "AccEditableText.rgs"
+IDR_AccImage REGISTRY DISCARDABLE "AccImage.rgs"
+IDR_AccValue REGISTRY DISCARDABLE "AccValue.rgs"
+IDR_ACCTABLE REGISTRY DISCARDABLE "AccTable.rgs"
+IDR_AccHyperLink REGISTRY DISCARDABLE "AccHyperLink.rgs"
+IDR_AccHypertext REGISTRY DISCARDABLE "AccHypertext.rgs"
+IDR_AccKeyBinding REGISTRY DISCARDABLE "AccKeyBinding.rgs"
+#endif // Chinese (P.R.C.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "1 TYPELIB ""UAccCOM.tlb""\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+//
+// String Table
+//
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_PROJNAME "UAccCOM"
+ IDS_ACCCOMPONENT_DESC "AccComponent Class"
+ IDS_ACCCONTEXT_DESC "AccContext Class"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_ACCFONT_DESC "AccFont Class"
+ IDS_ACCSELECTION_DESC "AccSelection Class"
+ IDS_ACCEXTENDEDCOMPONENT_DESC "AccExtendedComponent Class"
+ IDS_ACCTEXT_DESC "AccText Class"
+ IDS_ACCEDITABLETEXT_DESC "AccEditableText Class"
+ IDS_ACCHYPERTEXT_DESC "AccHypertext Class"
+ IDS_ACCIMAGE_DESC "AccImage Class"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_ACCVALUE_DESC "AccValue Class"
+ IDS_ACCTABLE_DESC "AccTable Class"
+ IDS_ACCHYPERLINK_DESC "AccHyperLink Class"
+ IDS_ACCKEYBINDING_DESC "AccKeyBinding Class"
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+1 TYPELIB "UAccCOM.tlb"
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccComMarshal.def
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccComMarshal.def?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccComMarshal.def (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UAccComMarshal.def Wed Dec 12 04:41:12 2012
@@ -0,0 +1,32 @@
+;
+; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+;
+; Copyright IBM Corporation 2010.
+; Copyright 2000, 2010 Oracle and/or its affiliates.
+;
+; OpenOffice.org - a multi-platform office productivity suite
+;
+; This file is part of OpenOffice.org.
+;
+; OpenOffice.org is free software: you can redistribute it and/or modify
+; it under the terms of the GNU Lesser General Public License version 3
+; only, as published by the Free Software Foundation.
+;
+; OpenOffice.org is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU Lesser General Public License version 3 for more details
+; (a copy is included in the LICENSE file that accompanied this code).
+;
+; You should have received a copy of the GNU Lesser General Public License
+; version 3 along with OpenOffice.org. If not, see
+; <http://www.openoffice.org/license.html>
+; for a copy of the LGPLv3 License.
+;
+
+LIBRARY UAccComMarshal.dll
+DESCRIPTION 'generic proxy/stub DLL'
+EXPORTS DllGetClassObject @1 PRIVATE
+ DllCanUnloadNow @2 PRIVATE
+ DllRegisterServer @4 PRIVATE
+ DllUnregisterServer @5 PRIVATE
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.cpp
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.cpp?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.cpp (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.cpp Wed Dec 12 04:41:12 2012
@@ -0,0 +1,34 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#include "stdafx.h"
+#include "UAccCOM2.h"
+#include "UNOXWrapper.h"
+
+/////////////////////////////////////////////////////////////////////////////
+// CUNOXWrapper
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.h (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.h Wed Dec 12 04:41:12 2012
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __UNOXWRAPPER_H_
+#define __UNOXWRAPPER_H_
+
+#define WNT
+
+#include "resource.h" // main symbols
+
+
+#include <com/sun/star/accessibility/XAccessible.hpp>
+#include "UAccCOM2.h"
+
+/**
+ * CUNOXWrapper implements IUNOXWrapper interface.
+ */
+class ATL_NO_VTABLE CUNOXWrapper : public IUNOXWrapper
+{
+public:
+ CUNOXWrapper()
+ { }
+
+public:
+ // IUNOXWrapper
+
+ STDMETHOD(put_XInterface)(long pXInterface)
+ {
+ pUNOInterface = (com::sun::star::accessibility::XAccessible*)pXInterface;
+ return S_OK;
+ }
+
+ STDMETHOD(put_XSubInterface)(long)
+ {
+ return S_OK;
+ }
+
+ STDMETHOD(get_XInterface)(/*[out,retval]*/long *pXInterface)
+ {
+ *pXInterface = (long)pUNOInterface;//.get();
+ return S_OK;
+ }
+
+ STDMETHOD(get_XSubInterface)(/*[out,retval]*/long *)
+ {
+ return S_OK;
+ }
+
+protected:
+
+ com::sun::star::accessibility::XAccessible* pUNOInterface;
+};
+
+#endif //__UNOXWRAPPER_H_
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.rgs
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.rgs?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.rgs (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/UNOXWrapper.rgs Wed Dec 12 04:41:12 2012
@@ -0,0 +1,26 @@
+HKCR
+{
+ UAccCOM.UNOXWrapper.1 = s 'UNOXWrapper Class'
+ {
+ CLSID = s '{AA360FB0-BC98-41C1-A885-BB921F5ED601}'
+ }
+ UAccCOM.UNOXWrapper = s 'UNOXWrapper Class'
+ {
+ CLSID = s '{AA360FB0-BC98-41C1-A885-BB921F5ED601}'
+ CurVer = s 'UAccCOM.UNOXWrapper.1'
+ }
+ NoRemove CLSID
+ {
+ ForceRemove {AA360FB0-BC98-41C1-A885-BB921F5ED601} = s 'UNOXWrapper Class'
+ {
+ ProgID = s 'UAccCOM.UNOXWrapper.1'
+ VersionIndependentProgID = s 'UAccCOM.UNOXWrapper'
+ ForceRemove 'Programmable'
+ InprocServer32 = s '%MODULE%'
+ {
+ val ThreadingModel = s 'Apartment'
+ }
+ 'TypeLib' = s '{19ECB1B0-9376-4FF9-B580-223FC9C200B8}'
+ }
+ }
+}
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/acccommon.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/acccommon.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/acccommon.h (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/acccommon.h Wed Dec 12 04:41:12 2012
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __ACCCOMMON_H_
+#define __ACCCOMMON_H_
+
+
+//using namespace com::sun::star::accessibility;
+//using namespace com::sun::star::uno;
+
+
+//for MAccessible.cpp
+struct ltComp
+{
+ bool operator()(REFGUID rguid1, REFGUID rguid2) const
+ {
+ if(((PLONG) &rguid1)[0] < ((PLONG) &rguid2)[0])
+ return TRUE;
+ else if(((PLONG) &rguid1)[0] > ((PLONG) &rguid2)[0])
+ return FALSE;
+ if(((PLONG) &rguid1)[1] < ((PLONG) &rguid2)[1])
+ return TRUE;
+ else if(((PLONG) &rguid1)[1] > ((PLONG) &rguid2)[1])
+ return FALSE;
+ if(((PLONG) &rguid1)[2] < ((PLONG) &rguid2)[2])
+ return TRUE;
+ else if(((PLONG) &rguid1)[2] > ((PLONG) &rguid2)[2])
+ return FALSE;
+ if(((PLONG) &rguid1)[3] < ((PLONG) &rguid2)[3])
+ return TRUE;
+ else if(((PLONG) &rguid1)[3] > ((PLONG) &rguid2)[3])
+ return FALSE;
+ return FALSE;
+ }
+};
+
+#define BEGIN_AGGOBJECT_MAP(x) \
+ static _UNO_AGGMAP_ENTRY* WINAPI _GetAggEntries() { \
+ static _UNO_AGGMAP_ENTRY _aggentries[] = {
+#define END_AGGOBJECT_MAP() {NULL, NULL,NULL}}; \
+ return _aggentries;}
+#define AGGOBJECT_ENTRY(iid, clsid, ifindex) {&iid, \
+ CComAggregateCreator< CComObject<CMAccessible>, &clsid >::CreateInstance,\
+ XI_##ifindex},
+
+enum DM_NIR {
+ DM_FIRSTCHILD = 0x00,
+ DM_LASTCHILD = 0x01,
+ DM_NEXTCHILD = 0x02,
+ DM_PREVCHILD = 0x03
+};
+
+inline BOOL ImplIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
+{
+ return (
+ ((PLONG) &rguid1)[0] == ((PLONG) &rguid2)[0] &&
+ ((PLONG) &rguid1)[1] == ((PLONG) &rguid2)[1] &&
+ ((PLONG) &rguid1)[2] == ((PLONG) &rguid2)[2] &&
+ ((PLONG) &rguid1)[3] == ((PLONG) &rguid2)[3]);
+}
+#define InlineIsEqualGUID ImplIsEqualGUID
+//End
+
+//for AccAction.cpp
+#define CODEENTRY(key) \
+ {KEYCODE_##key, L#key}
+#define countof(x) (sizeof(x)/sizeof(x[0]))
+
+#define SELECT L"Select"
+#define PRESS L"Press"
+#define UNCHECK L"UnCheck"
+#define CHECK L"Check"
+//End
+
+static DWORD GetMSAAStateFromUNO(short xState);
+
+#endif
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/makefile.mk
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/makefile.mk?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/makefile.mk (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/makefile.mk Wed Dec 12 04:41:12 2012
@@ -0,0 +1,146 @@
+#/*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright IBM Corporation 2010.
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#************************************************************************/
+
+PRJ=..$/..
+PRJNAME=winaccessibility
+TARGET=UAccCOM
+
+# --- Settings -----------------------------------------------------
+.IF "$(GUI)" == "WNT" && "$(DISABLE_ATL)"==""
+PROF_EDITION=TRUE
+.ENDIF
+
+.INCLUDE : settings.mk
+
+.IF "$(GUI)" == "WNT" && "$(DISABLE_ATL)"==""
+
+VERSIONOBJ=
+LIBTARGET=NO
+USE_DEFFILE=YES
+UWINAPILIB=
+
+INCPRE+=$(foreach,i,$(ATL_INCLUDE) -I$(i)) \
+ -I$(MISC) \
+
+CFLAGS+=-D_UNICODE -DUNICODE
+
+# --- Files --------------------------------------------------------
+.IF "$(PRODUCT)"!=""
+RC+=-DPRODUCT
+.ENDIF
+.IF "$(USE_STLP_DEBUG)"!=""
+CDEFS+=-D_DEBUG
+.ENDIF # "$(USE_STLP_DEBUG)"!=""
+
+RCFILES=\
+ $(TARGET).rc
+#RCDEPN=$(MISC)$/envsettings.h
+
+SLOFILES=\
+ $(SLO)$/AccAction.obj \
+ $(SLO)$/AccActionBase.obj \
+ $(SLO)$/AccComponent.obj \
+ $(SLO)$/AccComponentBase.obj \
+ $(SLO)$/AccEditableText.obj \
+ $(SLO)$/AccHyperLink.obj \
+ $(SLO)$/AccHypertext.obj \
+ $(SLO)$/AccImage.obj \
+ $(SLO)$/AccRelation.obj \
+ $(SLO)$/AccText.obj \
+ $(SLO)$/AccValue.obj \
+ $(SLO)$/EnumVariant.obj \
+ $(SLO)$/StdAfx.obj \
+ $(SLO)$/UAccCOM.obj \
+ $(SLO)$/UNOXWrapper.obj \
+ $(SLO)$/AccTable.obj \
+ $(SLO)$/AccTextBase.obj \
+ $(SLO)$/MAccessible.obj \
+ $(SLO)$/CheckEnableAccessible.obj \
+
+EXCEPTIONSFILES= \
+ $(SLO)$/AccAction.obj \
+ $(SLO)$/AccActionBase.obj \
+ $(SLO)$/AccComponent.obj \
+ $(SLO)$/AccComponentBase.obj \
+ $(SLO)$/AccEditableText.obj \
+ $(SLO)$/AccHyperLink.obj \
+ $(SLO)$/AccHypertext.obj \
+ $(SLO)$/AccImage.obj \
+ $(SLO)$/AccRelation.obj \
+ $(SLO)$/AccText.obj \
+ $(SLO)$/AccValue.obj \
+ $(SLO)$/EnumVariant.obj \
+ $(SLO)$/StdAfx.obj \
+ $(SLO)$/UAccCOM.obj \
+ $(SLO)$/UNOXWrapper.obj \
+ $(SLO)$/AccTable.obj \
+ $(SLO)$/AccTextBase.obj \
+ $(SLO)$/MAccessible.obj \
+
+SHL1TARGET=$(TARGET)
+SHL1STDLIBS=\
+ oleacc.lib\
+ isal.lib\
+ icuuc.lib\
+ icuin.lib\
+ icppu.lib\
+ ivcl.lib \
+ kernel32.lib \
+ user32.lib \
+ advapi32.lib \
+ ole32.lib \
+ oleaut32.lib \
+ delayimp.lib \
+ shlwapi.lib \
+ uuid.lib
+
+LINKFLAGS += /delayload:sal3.dll \
+ /delayload:cppu3.dll \
+ /delayload:vclmi.dll
+
+.IF "$(COM)"!="GCC"
+.IF "$(CCNUMVER)" > "001300000000"
+.IF "$(USE_STLP_DEBUG)" != ""
+ SHL1STDLIBS+= $(ATL_LIB)$/atlsd.lib
+.ELSE
+ SHL1STDLIBS+= $(ATL_LIB)$/atls.lib
+.ENDIF
+.ENDIF
+.ENDIF
+
+SHL1OBJS=$(SLOFILES)
+SHL1DEF=$(TARGET).def
+SHL1RES=$(RES)$/$(TARGET).res
+
+DEF1NAME= $(TARGET)
+#DEF1EXPORTFILE= exports.dxp
+
+.ENDIF
+
+# --- Targets ----------------------------------
+.INCLUDE : target.mk
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/stdafx.h
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/stdafx.h?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/stdafx.h (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOM/stdafx.h Wed Dec 12 04:41:12 2012
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently,
+// but are changed infrequently
+
+#if !defined(AFX_STDAFX_H__5E2F9072_190F_47C7_8003_4D44FD308CB9__INCLUDED_)
+#define AFX_STDAFX_H__5E2F9072_190F_47C7_8003_4D44FD308CB9__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#define STRICT
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0400
+#endif
+//#define _ATL_APARTMENT_THREADED
+
+#include <atlbase.h>
+// You may derive a class from CComModule and use it if you want to override
+// something, but do not change the name of _Module
+extern CComModule _Module;
+#include <atlcom.h>
+
+#define ENTER_PROTECTED_BLOCK \
+ try \
+ {
+
+#define LEAVE_PROTECTED_BLOCK \
+ } \
+ catch(...) \
+ { \
+ return E_FAIL; \
+ }
+
+#define SAFE_SYSFREESTRING(x) { ::SysFreeString(x); x=NULL; }
+
+#include <windows.h>
+#undef OPAQUE
+#include "CheckEnableAccessible.h"
+//{{AFX_INSERT_LOCATION}}
+// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
+
+#endif // !defined(AFX_STDAFX_H__5E2F9072_190F_47C7_8003_4D44FD308CB9__INCLUDED)
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/Accessible2.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/Accessible2.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/Accessible2.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/Accessible2.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,353 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/** @mainpage
+
+ @section _interfaces Interfaces
+ IAccessible2\n
+ IAccessibleAction\n
+ IAccessibleApplication\n
+ IAccessibleComponent\n
+ IAccessibleHypertext\n
+ IAccessibleHyperlink\n
+ IAccessibleImage\n
+ IAccessibleRelation\n
+ IAccessibleTable\n
+ IAccessibleText\n
+ IAccessibleEditableText\n
+ IAccessibleValue
+
+ @section _structs Structs
+ IA2Locale\n
+ IA2TableModelChange\n
+ IA2TextSegment
+
+ @section _enums Enums
+ ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n
+ ::IA2EventID values identify events.\n
+ ::IA2Role values define roles.\n
+ ::IA2ScrollType values define where to place an object or substring on the screen.\n
+ ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n
+ ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).
+
+ @section _constants Constants
+ @ref grpRelations\n
+ @ref grpStates\n
+
+ @section _license License
+ @ref _licensePage "LGPL"
+
+ @page _licensePage License
+ IAccessible2 IDL Specification
+
+ Copyright (c) IBM Corp. 2006\n
+ Copyright (c) Sun Microsystems, Inc. 2000, 2006
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License version 2.1, as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
+
+ You may also refer to http://www.gnu.org/licenses/lgpl.html
+
+**/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+import "AccessibleRelation.idl";
+import "AccessibleStates.idl";
+import "IA2CommonTypes.idl";
+
+/// A structure defining the locale of an accessible object.
+typedef struct {
+ BSTR language; ///< ISO 639-1 Alpha-2 two character language code
+ BSTR country; ///< ISO 3166-1 Alpha-2 two character country code
+ BSTR variant; ///< Application specific variant of the locale
+} IA2Locale;
+
+/** This interface must always be provided for objects that support some
+ portion of the collection of the IAccessible2 interfaces.
+
+ IAccessible2 is a subclass of MSAA's IAccessible. This is a matter of
+ convenience, i.e. an IAccessible2 is an IAccessible so MSAA methods can be
+ easily accessed. None of MSAA's IAccessible methods are overridden or extended.
+ */
+[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)]
+interface IAccessible2 : IAccessible
+{
+
+ /** @brief Returns the number of accessible relations for this object.
+ @param [out] nRelations
+ */
+ [propget] HRESULT nRelations
+ (
+ [out, retval] long *nRelations
+ );
+
+ /** @brief Returns one accessible relation for this object.
+ @param [in] relationIndex
+ 0-based
+ @param [out] relation
+ */
+ [propget] HRESULT relation
+ (
+ [in] long relationIndex,
+ [out, retval] IAccessibleRelation **relation
+ );
+
+ /** @brief Returns multiple accessible relations for this object.
+ @param [in] maxRelations
+ maximum number of relations to get
+ @param [out] relation
+ array of accessible relation objects
+ @param [out] nRelations
+ length of array (not more than maxRelations)
+ */
+ [propget] HRESULT relations
+ (
+ [in] long maxRelations,
+ [out, size_is(maxRelations), length_is(*nRelations)]
+ IAccessibleRelation **relation,
+ [out, retval] long *nRelations
+ );
+
+ /** @brief Returns the role of an IAccessible2 object.
+
+ Note: For convenience MSAA roles are also passed through this method so the
+ AT doesn't have to also fetch roles through MSAA's get_accRole.
+ @param [out] role
+ The role of an IAccessible2 object.
+ */
+ HRESULT role
+ (
+ [out, retval] long *role
+ );
+
+ /** @brief Makes an object visible on the screen.
+ @param [in] scrollType
+ Defines where the object should be placed on the screen.
+ */
+ HRESULT scrollTo
+ (
+ [in] enum IA2ScrollType scrollType
+ );
+
+ /** @brief Moves the top left of an object to a specified location.
+
+ Note: S_FALSE is returned if the object is already at the specified location.
+ @param [in] coordinateType
+ Specifies whether the coordinates are relative to the screen or the parent object.
+ @param [in] x
+ Defines the x coordinate.
+ @param [in] y
+ Defines the y coordinate.
+ */
+ HRESULT scrollToPoint
+ (
+ [in] enum IA2CoordinateType coordinateType,
+ [in] long x,
+ [in] long y
+ );
+
+ /** @brief Returns grouping information.
+
+ Used for tree items, list items, tab panel labels, radio buttons, etc.
+ Also used for collectons of non-text objects.
+
+ @param [out] groupLevel
+ 0-based
+ @param [out] similarItemsInGroup
+ 1-based
+ @param [out] positionInGroup
+ 0-based
+ */
+ [propget] HRESULT groupPosition
+ (
+ [out] long *groupLevel,
+ [out] long *similarItemsInGroup,
+ [out, retval] long *positionInGroup
+ );
+
+ /** @brief Returns the bit strip containing any IAccessible2 states.
+ @param [out] states
+ */
+ [propget] HRESULT states
+ (
+ [out, retval] AccessibleStates *states
+ );
+
+ /** @brief Returns the extended role.
+
+ An extended role is a role which is dynamically generated by the application.
+ It is not predefined by the IAccessible2 specification.
+
+ @param [out] extendedRole
+ */
+ [propget] HRESULT extendedRole
+ (
+ [out, retval] BSTR *extendedRole
+ );
+
+ /** @brief Returns the localized extended role.
+ @param [out] localizedExtendedRole
+ */
+ [propget] HRESULT localizedExtendedRole
+ (
+ [out, retval] BSTR *localizedExtendedRole
+ );
+
+ /** @brief Returns the number of extended states.
+ @param [out] nExtendedStates
+ */
+ [propget] HRESULT nExtendedStates
+ (
+ [out, retval] long *nExtendedStates
+ );
+
+ /** @brief Returns the extended states (array of strings).
+
+ An extended state is a state which is dynamically generated by the application.
+ It is not predefined by the IAccessible2 specification.
+
+ @param [in] maxExtendedStates
+ @param [out] extendedStates
+ @param [out] nExtendedStates
+ */
+ [propget] HRESULT extendedStates
+ (
+ [in] long maxExtendedStates,
+ [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates,
+ [out, retval] long *nExtendedStates
+ );
+
+ /** @brief Returns the localized extended states (array of strings).
+ @param [in] maxLocalizedExtendedStates
+ @param [out] localizedExtendedStates
+ @param [out] nLocalizedExtendedStates
+ */
+ [propget] HRESULT localizedExtendedStates
+ (
+ [in] long maxLocalizedExtendedStates,
+ [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
+ [out, retval] long *nLocalizedExtendedStates
+ );
+
+ /** @brief Returns the unique ID.
+
+ The uniqueID is an identifier for this object, is unique within the
+ current window, and remains the same for the lifetime of the accessible
+ object. This is the same value that is passed in the idChild parameter of
+ the WinEventProc callback function for any events that occur on the object,
+ and is typically a negative number. Using negative numbers prevents the ID
+ from conflicting with the use of positive numbers that might possibly be
+ used to indicate a direct child N of the window's root accessible object,
+ and thus the implementation of get_accChild() can differentiate between
+ requests for direct child N vs. a descendant lower in the hierarchy with a
+ given uniqueID. This is important because get_accChild() is used by
+ AccessibleObjectFromEvent() to retrieve the accessible object which fired
+ the event by starting from the window's root accessible object.
+
+ This value is provided so the AT can have access to it even when not
+ handling an event for the object.
+
+ An example of when this value is useful if the AT wants to build a cache.
+ The AT could cache the uniqueIDs in addition to other data being cached.
+ When an event is fired the AT could map that to its internal model. Thus,
+ if there's a REORDER/SHOW/HIDE event the AT knows which part of the internal
+ structure has been invalidated and can refetch just that part.
+
+ This value can also be used by and AT to determine when the current control
+ has changed. If the role is the same for two controls that are adjacent in
+ the tab order, this can be used to detect the new control.
+
+ Another use of this value by an AT is to identify when a grouping object has
+ changed, e.g. when moving from a radio button in one group to a radio button in a
+ different group.
+
+ @param [out] uniqueID
+ */
+ [propget] HRESULT uniqueID
+ (
+ [out, retval] long *uniqueID
+ );
+
+ /** @brief Returns the window handle for the parent window which contains this object.
+
+ This is the same window handle which will be passed for any events that occur on the
+ object, but is cached in the accessible object for use when it would be helpful to
+ access the window handle in cases where an event isn't fired on this object.
+
+ A use case is when a screen reader is grabbing an entire web page on a page load.
+ Without the availability of windowHandle, the AT would have to get the window handle
+ by using WindowFromAccessibleObject on each IAccessible, which is slow because it's
+ implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for
+ a ROLE_WINDOW object, mapping that back to a window handle.
+
+ @param [out] windowHandle
+ */
+ [propget] HRESULT windowHandle
+ (
+ [out, retval] HWND *windowHandle
+ );
+
+ /** @brief Returns the index of this object in its parent object.
+ @param [out] indexInParent
+ */
+ [propget] HRESULT indexInParent
+ (
+ [out, retval] long *indexInParent
+ );
+
+ /** @brief Returns the IA2Locale of the accessible object.
+ @param [out] locale
+ */
+ [propget] HRESULT locale
+ (
+ [out, retval] IA2Locale *locale
+ );
+
+ /** @brief Returns the attributes specific to this IAccessible2 object, such as a cell's formula.
+ @param [out] attributes
+ */
+ [propget] HRESULT attributes
+ (
+ [out, retval] BSTR *attributes
+ );
+
+}
+
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleAction.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleAction.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleAction.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleAction.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,131 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+
+/** @brief This interface gives access to actions that can be executed
+ for accessible objects.
+
+ Every accessible object that can be manipulated beyond its methods
+ exported over the accessibility API should support this interface to
+ expose all actions that it can perform. Each action can be performed
+ or queried for a name, description or associated key bindings. Actions
+ are needed more for ATs that assist the mobility impaired. By providing
+ actions directly, the AT can present them to the user without the user having
+ to perform the extra steps to navigate a context menu.
+*/
+[object, uuid(B70D9F59-3B5A-4dba-AB9E-22012F607DF5)]
+interface IAccessibleAction : IUnknown
+{
+
+ /** @brief Returns the number of accessible actions available in this object.
+
+ If there are more than one, the first one is considered the
+ "default" action of the object.
+ @param [out] nActions
+ The returned value of the number of actions is zero if there are
+ no actions.
+ */
+ HRESULT nActions
+ (
+ [out,retval] long* nActions
+ );
+
+ /** @brief Performs the specified Action on the object.
+ @param [in] actionIndex
+ This index specifies the action to perform. If it lies outside
+ the valid range no action is performed.
+ */
+ HRESULT doAction
+ (
+ [in] long actionIndex
+ );
+
+ /** @brief Returns a description of the specified action of the object.
+ @param [in] actionIndex
+ This index specifies the action of which to return a
+ description. If it lies outside the valid range an empty string
+ is returned.
+ @param [out] description
+ The returned value is a localized string of the specified action.
+ */
+ [propget] HRESULT description
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *description
+ );
+
+ /** @brief Returns an array of BSTRs describing one or more key bindings, if there
+ are any, associated with the specified action.
+
+ Note: the client allocates and passes in an array of pointers. The server
+ allocates the BSTRs and passes back one or more pointers to these BSTRs into
+ the array of pointers allocated by the client. The client is responsible
+ for deallocating the BSTRs.
+
+ @param [in] actionIndex
+ This index specifies the action of which to return the key bindings.
+ @param [in] nMaxBinding
+ The maximum number of keybindings requested, i.e. the size of the array
+ allocated to hold the results.
+ @param [out] keyBinding
+ An array of BSTRs, one for each key binding.
+ @param [out] nBinding
+ The actual number of key bindings returned.
+ */
+ [propget] HRESULT keyBinding
+ (
+ [in] long actionIndex,
+ [in] long nMaxBinding,
+ [out, size_is(,nMaxBinding), length_is(,*nBinding)] BSTR **keyBinding,
+ [out, retval] long *nBinding
+ );
+
+ /** @brief Returns the non-localized name of specified action.
+ @param [in] actionIndex
+ @param [out] name
+ */
+ [propget] HRESULT name
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the localized name of specified action.
+ @param [in] actionIndex
+ @param [out] localizedName
+ */
+ [propget] HRESULT localizedName
+ (
+ [in] long actionIndex,
+ [out, retval] BSTR *localizedName
+ );
+
+}
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleApplication.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleApplication.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleApplication.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleApplication.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+
+/** @brief This interface gives access to the application's name and version information.
+
+ This interface provides the AT with the information it needs to differentiate
+ this application from other applications, from other versions of this
+ application, or from other versions of this application running on different
+ versions of an accessibility bridge or accessbility toolkit.
+*/
+[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)]
+interface IAccessibleApplication : IUnknown
+{
+
+ /** @brief Returns the application name.
+ @param [out] name
+ */
+ [propget] HRESULT appName
+ (
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the application version.
+ @param [out] version
+ */
+ [propget] HRESULT appVersion
+ (
+ [out, retval] BSTR *version
+ );
+
+ /** @brief Returns the toolkit/bridge name.
+ @param [out] name
+ */
+ [propget] HRESULT toolkitName
+ (
+ [out, retval] BSTR *name
+ );
+
+ /** @brief Returns the toolkit/bridge version.
+ @param [out] version
+ */
+ [propget] HRESULT toolkitVersion
+ (
+ [out, retval] BSTR *version
+ );
+
+}
+
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleComponent.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleComponent.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleComponent.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleComponent.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+
+typedef long IA2Color;
+
+/** @brief This interface is implemented by any object that can be rendered
+ on the screen.
+
+ This interface provides the standard mechanism for an assistive technology
+ to retrieve information concerning the graphical representation of an object.
+ Coordinates used by the functions of this interface are specified in
+ different coordinate systems. Their scale is the same and is equal to
+ that of the screen coordiante system. In other words all coordinates
+ are measured in pixels. They differ in their respective origin:
+ <ul>
+ <li>The screen coordinate system has its origin in the upper left
+ corner of the current screen.</li>
+ <li>The origin of the parent coordinate system is the upper left corner
+ of the parent's bounding box. With no parent the screen coordinate
+ system is used instead.</li>
+ </ul>
+*/
+[object, uuid(1546D4B0-4C98-4bda-89AE-9A64748BDDE4)]
+interface IAccessibleComponent : IUnknown
+{
+
+ /** @brief Returns the location of the upper left corner of the object's
+ bounding box relative to the immediate parent object.
+
+ The coordinates of the bounding box are given relative to the parent's
+ coordinate system. The coordinates of the returned position are relative
+ to this object's parent or relative to the screen on which this object
+ is rendered if it has no parent. If the object is not on any screen
+ the returned position is (0,0).
+
+ @param [out] x
+ @param [out] y
+ */
+ [propget] HRESULT locationInParent
+ (
+ [out] long *x,
+ [out, retval] long *y
+ );
+
+ /** @brief Returns the foreground color of this object.
+ @param [out] foreground
+ The returned color is the foreground color of this object or, if
+ that is not supported, the default foreground color.
+ */
+ [propget] HRESULT foreground
+ (
+ [out, retval] IA2Color *foreground
+ );
+
+ /** @brief Returns the background color of this object.
+ @param [out] background
+ The returned color is the background color of this object or, if
+ that is not supported, the default background color.
+ */
+ [propget] HRESULT background
+ (
+ [out, retval] IA2Color *background
+ );
+}
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEditableText.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEditableText.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEditableText.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEditableText.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,185 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+import "objidl.idl";
+import "oaidl.idl";
+import "oleacc.idl";
+
+/** @brief This interface gives write access to a text representation.
+
+ This interface is typically used in conjunction with the IAccessibleText
+ interface and complements that interface with the additional ability to
+ modify text.
+
+ The substrings used with this interface are specified as follows:
+ If startOffset is less than endOffset, the substring starts with the
+ character at startOffset and ends with the character just before endOffset.
+ If endOffset is lower than startOffset, the result is the same as a call
+ with the two arguments exchanged. The whole text can be defined by passing
+ the indices zero and IAccessibleText::nCharacters. If both indices have the
+ same value, an empty string is defined.
+*/
+[object, uuid(A59AA09A-7011-4b65-939D-32B1FB5547E3)]
+interface IAccessibleEditableText : IUnknown
+{
+
+ /** @brief Copies the text range into the clipboard.
+
+ The specified text between the two given indices is copied into the
+ system clipboard.
+
+ @param [in] startOffset
+ Start index of the text to moved into the clipboard.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to moved into the clipboard.
+ The valid range is 0..length.
+ */
+ HRESULT copyText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Deletes a range of text.
+
+ The text between and including the two given indices is deleted
+ from the text represented by this object.
+
+ @param [in] startOffset
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to be deleted.
+ The valid range is 0..length.
+ */
+ HRESULT deleteText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Inserts text at the specified position.
+
+ The specified string is inserted at the given index into the text
+ represented by this object.
+
+ @param [in] offset
+ Index at which to insert the text.
+ The valid range is 0..length.
+ @param [in] text
+ Text that is inserted.
+ */
+ HRESULT insertText
+ (
+ [in] long offset,
+ [in] BSTR *text
+ );
+
+ /** @brief Deletes a range of text and copies it to the clipboard.
+
+ The text between the two given indices is deleted from the text
+ represented by this object and copied to the clipboard.
+
+ @param [in] startOffset
+ Start index of the text to be deleted.
+ The valid range is 0..length.
+ @param [in] endOffset
+ End index of the text to be deleted.
+ The valid range is 0..length.
+ */
+ HRESULT cutText
+ (
+ [in] long startOffset,
+ [in] long endOffset
+ );
+
+ /** @brief Pastes text from the clipboard.
+
+ The text in the system clipboard is pasted into the text represented
+ by this object at the given index. This method is similar to the
+ IAccessibleEditableText::insertText method. If the index is not valid
+ the system clipboard text is not inserted.
+
+ @param [in] offset
+ Index at which to insert the text from the system clipboard into
+ the text represented by this object.
+ The valid range is 0..length.
+ */
+ HRESULT pasteText
+ (
+ [in] long offset
+ );
+
+ /** @brief Replaces text.
+
+ The text between the two given indices is replaced by the specified
+ replacement string. This method is equivalent to calling first
+ IAccessibleEditableText::deleteText with the two indices and then
+ calling IAccessibleEditableText::insertText with the replacement text
+ at the start index.
+
+ @param [in] startOffset
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+ @param [in] endOffset
+ Start index of the text to be replaced.
+ The valid range is 0..length.
+ @param [in] text
+ The Text that replaces the text between the given indices.
+ */
+ HRESULT replaceText
+ (
+ [in] long startOffset,
+ [in] long endOffset,
+ [in] BSTR *text
+ );
+
+ /** @brief Replaces the attributes of a text range by the given set of attributes.
+
+ Sets the attributes for the text between the two given indices. The old
+ attributes are replaced by the new list of attributes.
+
+ @param [in] startOffset
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+ @param [in] endOffset
+ Start index of the text whose attributes are modified.
+ The valid range is 0..length.
+ @param [in] attributes
+ Set of attributes that replaces the old list of attributes of
+ the specified text portion.
+ */
+ HRESULT setAttributes
+ (
+ [in] long startOffset,
+ [in] long endOffset,
+ [in] BSTR *attributes
+ );
+}
+
Added: openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEventId.idl
URL: http://svn.apache.org/viewvc/openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEventId.idl?rev=1420522&view=auto
==============================================================================
--- openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEventId.idl (added)
+++ openoffice/branches/ia2/main/winaccessibility/source/UAccCOMIDL/AccessibleEventId.idl Wed Dec 12 04:41:12 2012
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright IBM Corporation 2010.
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+/// These constants identify the event IDs fired by IAccessible2 objects.
+enum IA2EventID {
+
+ /** The change of the number or attributes of actions of an accessible
+ object is signaled by events of this type.
+ */
+ IA2_EVENT_ACTION_CHANGED = 0x101,
+
+ /** The active descendant of a component has changed. The active descendant
+ is used in objects with transient children.
+ */
+ IA2_EVENT_ACTIVE_DECENDENT_CHANGED,
+
+ /** The document wide attributes of the document object have changed.
+ */
+ IA2_EVENT_DOCUMENT_ATTRIBUTE_CHANGED,
+
+ /** The contents of the document have changed.
+ */
+ IA2_EVENT_DOCUMENT_CONTENT_CHANGED,
+
+ /** The loading of the document has completed.
+ */
+ IA2_EVENT_DOCUMENT_LOAD_COMPLETE,
+
+ /** The loading of the document was interrupted.
+ */
+ IA2_EVENT_DOCUMENT_LOAD_STOPPED,
+
+ /** The document contents are being reloaded.
+ */
+ IA2_EVENT_DOCUMENT_RELOAD,
+
+ /** The ending index of this link within the containing string has changed.
+ */
+ IA2_EVENT_HYPERLINK_END_INDEX_CHANGED,
+
+ /** The number of anchors assoicated with this hyperlink object has changed.
+ */
+ IA2_EVENT_HYPERLINK_NUMBER_OF_ANCHORS_CHANGED,
+
+ /** The hyperlink selected state changed from selected to unselected or
+ from unselected to selected.
+ */
+ IA2_EVENT_HYPERLINK_SELECTED_LINK_CHANGED,
+
+ /** One of the links associated with the hypertext object has been activated.
+ */
+ IA2_EVENT_HYPERTEXT_LINK_ACTIVATED,
+
+ /** One of the links associated with the hypertext object has been selected.
+ */
+ IA2_EVENT_HYPERTEXT_LINK_SELECTED,
+
+ /** The starting index of this link within the containing string has changed.
+ */
+ IA2_EVENT_HYPERLINK_START_INDEX_CHANGED,
+
+ /** Focus has changed from one hypertext object to another, or focus moved
+ from a non-hypertext object to a hypertext object, or focus moved from a
+ hypertext object to a non-hypertext object.
+ */
+ IA2_EVENT_HYPERTEXT_CHANGED,
+
+ /** The number of hyperlinks associated with a hypertext object changed
+ */
+ IA2_EVENT_HYPERTEXT_NLINKS_CHANGED,
+
+ /** An object's attributes changed.
+ Also see ::IA2_EVENT_TEXT_ATTRIBUTE_CHANGED.
+ */
+ IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED,
+
+ /** A slide changed in a presentation document or a page boundary was
+ crossed in a word processing document.
+ */
+ IA2_EVENT_PAGE_CHANGED,
+
+ /** The caret moved from one section to the next.
+ */
+ IA2_EVENT_SECTION_CHANGED,
+
+ /** A table caption changed.
+ */
+ IA2_EVENT_TABLE_CAPTION_CHANGED,
+
+ /** A table's column description changed.
+ */
+ IA2_EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED,
+
+ /** A table's column header changed.
+ */
+ IA2_EVENT_TABLE_COLUMN_HEADER_CHANGED,
+
+ /** A table's data changed.
+ */
+ IA2_EVENT_TABLE_MODEL_CHANGED,
+
+ /** A table's row description changed.
+ */
+ IA2_EVENT_TABLE_ROW_DESCRIPTION_CHANGED,
+
+ /** A table's row header changed.
+ */
+ IA2_EVENT_TABLE_ROW_HEADER_CHANGED,
+
+ /** A table's summary changed.
+ */
+ IA2_EVENT_TABLE_SUMMARY_CHANGED,
+
+ /** A text object's attributes changed.
+ Also see ::IA2_EVENT_OBJECT_ATTRIBUTE_CHANGED.
+ */
+ IA2_EVENT_TEXT_ATTRIBUTE_CHANGED,
+
+ /** The caret has moved to a new position.
+ */
+ IA2_EVENT_TEXT_CARET_MOVED,
+
+ /** This event indicates general text changes, i.e. changes to text that is
+ exposed through the IAccessibleText and IAccessibleEditableText interfaces.
+ */
+ IA2_EVENT_TEXT_CHANGED,
+
+ /** The caret moved from one column to the next.
+ */
+ IA2_EVENT_TEXT_COLUMN_CHANGED,
+
+ /** Text was inserted.
+ */
+ IA2_EVENT_TEXT_INSERTED,
+
+ /** Text was removed.
+ */
+ IA2_EVENT_TEXT_REMOVED,
+
+ /** Text was updated.
+ */
+ IA2_EVENT_TEXT_UPDATED,
+
+ /** The text selection changed.
+ */
+ IA2_EVENT_TEXT_SELECTION_CHANGED,
+
+ /** A visibile data event indicates the change of the visual appearance
+ of an accessible object. This includes for example most of the
+ attributes available via the IAccessibleComponent interface.
+ */
+ IA2_EVENT_VISIBLE_DATA_CHANGED
+
+};