summaryrefslogtreecommitdiff
path: root/sw/source/core/access/accfrmobjmap.hxx
diff options
context:
space:
mode:
authorSteve Yin <steve_y@apache.org>2013-11-29 13:03:27 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-12-02 10:25:33 +0000
commit76c549eb01dcb7b5bf28a271ce00e386f3d388ba (patch)
treebb09874a25b3b29c52556228abdf4aafb9ca6515 /sw/source/core/access/accfrmobjmap.hxx
parent84972949a3501003b0b6ad98f07f1b4ab83f3ca1 (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.hxx37
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 >