openoffice-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From stev...@apache.org
Subject svn commit: r1420522 [7/12] - in /openoffice/branches/ia2/main/winaccessibility: ./ inc/ prj/ source/ source/UAccCOM/ source/UAccCOMIDL/ source/service/
Date Wed, 12 Dec 2012 04:41:33 GMT
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
+
+};



Mime
View raw message