diff options
author | Steve Yin <steve_y@apache.org> | 2013-11-29 13:03:27 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-12-02 10:25:33 +0000 |
commit | 76c549eb01dcb7b5bf28a271ce00e386f3d388ba (patch) | |
tree | bb09874a25b3b29c52556228abdf4aafb9ca6515 /sw/source/core/access/accfrmobjmap.hxx | |
parent | 84972949a3501003b0b6ad98f07f1b4ab83f3ca1 (diff) |
Integrate branch of IAccessible2
Conflicts:
everything
Change-Id: I9619634ee1e60d449025c006803da29c1e9d14b3
Diffstat (limited to 'sw/source/core/access/accfrmobjmap.hxx')
-rw-r--r-- | sw/source/core/access/accfrmobjmap.hxx | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/sw/source/core/access/accfrmobjmap.hxx b/sw/source/core/access/accfrmobjmap.hxx index 92e3402598cd..ac2331597f6f 100644 --- a/sw/source/core/access/accfrmobjmap.hxx +++ b/sw/source/core/access/accfrmobjmap.hxx @@ -20,8 +20,9 @@ #ifndef INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJMAP_HXX #define INCLUDED_SW_SOURCE_CORE_ACCESS_ACCFRMOBJMAP_HXX -#include <accfrmobj.hxx> +#include <tools/gen.hxx> #include <svx/svdtypes.hxx> +#include <accfrmobj.hxx> #include <map> class SwAccessibleMap; @@ -34,28 +35,48 @@ class SwAccessibleChildMapKey public: enum LayerId { INVALID, HELL, TEXT, HEAVEN, CONTROLS, XWINDOW }; - inline SwAccessibleChildMapKey() + SwAccessibleChildMapKey() : eLayerId( INVALID ) , nOrdNum( 0 ) + , nPosNum( 0, 0 ) + {} + + SwAccessibleChildMapKey( LayerId eId, sal_uInt32 nOrd ) + : eLayerId( eId ) + , nOrdNum( nOrd ) + , nPosNum( 0, 0 ) {} - inline SwAccessibleChildMapKey( LayerId eId, sal_uInt32 nOrd ) + SwAccessibleChildMapKey( LayerId eId, sal_uInt32 nOrd, Point nPos ) : eLayerId( eId ) , nOrdNum( nOrd ) + , nPosNum( nPos ) {} - inline bool operator()( const SwAccessibleChildMapKey& r1, + bool operator()( const SwAccessibleChildMapKey& r1, const SwAccessibleChildMapKey& r2 ) const { - return (r1.eLayerId == r2.eLayerId) - ? (r1.nOrdNum < r2.nOrdNum) - : (r1.eLayerId < r2.eLayerId); + return (r1.eLayerId == r2.eLayerId) ? + ( (r1.nPosNum == r2.nPosNum) ?(r1.nOrdNum < r2.nOrdNum) : + (r1.nPosNum.getY() == r2.nPosNum.getY()? r1.nPosNum.getX() < r2.nPosNum.getX() : + r1.nPosNum.getY() < r2.nPosNum.getY()) ) : + (r1.eLayerId < r2.eLayerId); } + /* MT: Need to get this position parameter stuff in dev300 somehow... + //This methods are used to insert an object to the map, adding a position parameter. + ::std::pair< iterator, bool > insert( sal_uInt32 nOrd, Point nPos, + const SwFrmOrObj& rLower ); + ::std::pair< iterator, bool > insert( const SdrObject *pObj, + const SwFrmOrObj& rLower, + const SwDoc *pDoc, + Point nPos); + */ + private: LayerId eLayerId; sal_uInt32 nOrdNum; - + Point nPosNum; }; typedef ::std::map < SwAccessibleChildMapKey, sw::access::SwAccessibleChild, SwAccessibleChildMapKey > |