summaryrefslogtreecommitdiff
path: root/sw/source/core/access/accfrmobj.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/access/accfrmobj.hxx')
-rw-r--r--sw/source/core/access/accfrmobj.hxx214
1 files changed, 46 insertions, 168 deletions
diff --git a/sw/source/core/access/accfrmobj.hxx b/sw/source/core/access/accfrmobj.hxx
index 45414f8cc6e0..76113c62eae3 100644
--- a/sw/source/core/access/accfrmobj.hxx
+++ b/sw/source/core/access/accfrmobj.hxx
@@ -26,192 +26,70 @@
************************************************************************/
#ifndef _ACCFRMOBJ_HXX
#define _ACCFRMOBJ_HXX
-#include <flyfrm.hxx>
-#include <pagefrm.hxx>
-#include <dflyobj.hxx>
-#include <swtable.hxx>
-class SwFrmOrObj
-{
- const SdrObject *pObj;
- const SwFrm *pFrm;
-
- inline void Init( const SdrObject *pO );
- inline void Init( const SwFrm *pF );
-
-public:
-
- inline SwFrmOrObj();
- inline SwFrmOrObj( const SdrObject *pO );
- inline SwFrmOrObj( const SwFrm *pF );
- inline SwFrmOrObj( const SwFrm *pF, const SdrObject *pO );
- inline SwFrmOrObj( const SwFrmOrObj& r );
+#include <sal/types.h>
- inline SwFrmOrObj& operator=( const SwFrmOrObj& r );
- inline SwFrmOrObj& operator=( const SdrObject *pO );
- inline SwFrmOrObj& operator=( const SwFrm *pF );
+class SwAccessibleMap;
+class SwFrm;
+class SdrObject;
+class Window;
+class SwRect;
- inline sal_Bool operator==( const SwFrmOrObj& r ) const;
- inline sal_Bool operator==( const SdrObject *pO ) const;
- inline sal_Bool operator==( const SwFrm *pF ) const;
-
- inline sal_Bool IsValid() const;
-
- inline const SdrObject *GetSdrObject() const;
- inline const SwFrm *GetSwFrm() const;
-
- sal_Bool IsAccessible( sal_Bool bPagePreview ) const;
- sal_Bool IsBoundAsChar() const;
- inline sal_Bool IsVisibleChildrenOnly() const;
- inline SwRect GetBox() const;
- inline SwRect GetBounds() const;
-};
+namespace sw { namespace access {
-inline void SwFrmOrObj::Init( const SdrObject *pO )
+class SwAccessibleChild
{
- pObj = pO;
- // #110094#-1
- pFrm = pObj && pObj->ISA(SwVirtFlyDrawObj)
- ? static_cast < const SwVirtFlyDrawObj * >( pObj )->GetFlyFrm()
- : 0;
-}
-
-inline void SwFrmOrObj::Init( const SwFrm *pF )
-{
- pFrm = pF;
- pObj = pFrm && pFrm->IsFlyFrm()
- ? static_cast < const SwFlyFrm * >( pFrm )->GetVirtDrawObj()
- : 0;
-}
+ public:
+ SwAccessibleChild();
+ explicit SwAccessibleChild( const SdrObject* pDrawObj );
+ explicit SwAccessibleChild( const SwFrm* pFrm );
+ explicit SwAccessibleChild( Window* pWindow );
+ SwAccessibleChild( const SwFrm* pFrm,
+ const SdrObject* pDrawObj,
+ Window* pWindow );
-inline SwFrmOrObj::SwFrmOrObj() :
- pObj( 0 ), pFrm( 0 )
-{}
+ SwAccessibleChild( const SwAccessibleChild& r );
+ SwAccessibleChild& operator=( const SwAccessibleChild& r );
-inline SwFrmOrObj::SwFrmOrObj( const SdrObject *pO )
-{
- Init( pO );
-}
+ SwAccessibleChild& operator=( const SdrObject* pDrawObj );
+ SwAccessibleChild& operator=( const SwFrm* pFrm );
+ SwAccessibleChild& operator=( Window* pWindow );
-inline SwFrmOrObj::SwFrmOrObj( const SwFrm *pF )
-{
- Init( pF );
-}
+ bool operator==( const SwAccessibleChild& r ) const;
-inline SwFrmOrObj::SwFrmOrObj( const SwFrm *pF, const SdrObject *pO )
-{
- if( pF )
- Init( pF );
- else
- Init( pO );
- ASSERT( (!pF || pF == pFrm) && (!pO || pO == pObj),
- "invalid frame/object combination" );
+ bool IsValid() const;
-}
+ const SwFrm* GetSwFrm() const;
+ const SdrObject* GetDrawObject() const;
+ Window* GetWindow() const;
-inline SwFrmOrObj::SwFrmOrObj( const SwFrmOrObj& r ) :
- pObj( r.pObj ), pFrm( r.pFrm )
-{}
+ const SwFrm* GetParent( const sal_Bool bInPagePreview ) const;
-inline SwFrmOrObj& SwFrmOrObj::operator=( const SwFrmOrObj& r )
-{
- pObj = r.pObj;
- pFrm = r.pFrm;
- return *this;
-}
+ bool IsAccessible( sal_Bool bPagePreview ) const;
+ bool IsBoundAsChar() const;
-inline SwFrmOrObj& SwFrmOrObj::operator=( const SdrObject *pO )
-{
- Init( pO );
- return *this;
-}
+ bool IsVisibleChildrenOnly() const;
+ SwRect GetBox( const SwAccessibleMap& rAccMap ) const;
+ SwRect GetBounds( const SwAccessibleMap& rAccMap ) const;
-inline SwFrmOrObj& SwFrmOrObj::operator=( const SwFrm *pF )
-{
- Init( pF );
- return *this;
-}
+ /** indicating, if accessible child is included even, if the corresponding
+ object is not visible.
-inline sal_Bool SwFrmOrObj::operator==( const SwFrmOrObj& r ) const
-{
- return pObj == r.pObj && pFrm == r.pFrm;
-}
-
-inline sal_Bool SwFrmOrObj::operator==( const SdrObject *pO ) const
-{
- return pObj == pO;
-}
-
-inline sal_Bool SwFrmOrObj::operator==( const SwFrm *pF ) const
-{
- return pFrm == pF;
-}
-
-inline sal_Bool SwFrmOrObj::IsValid() const
-{
- return pObj != 0 || pFrm != 0;
-}
+ @author OD
+ */
+ bool AlwaysIncludeAsChild() const;
-inline const SdrObject *SwFrmOrObj::GetSdrObject() const
-{
- return pObj;
-}
-
-inline const SwFrm *SwFrmOrObj::GetSwFrm() const
-{
- return pFrm;
-}
+ private:
+ const SwFrm* mpFrm;
+ const SdrObject* mpDrawObj;
+ Window* mpWindow;
-inline sal_Bool SwFrmOrObj::IsVisibleChildrenOnly() const
-{
- return !pFrm || pFrm->IsRootFrm() ||
- !( pFrm->IsTabFrm() || pFrm->IsInTab() ||
- ( IsBoundAsChar() &&
- static_cast<const SwFlyFrm*>(pFrm)->GetAnchorFrm()->IsInTab()) );
-}
+ void Init( const SdrObject* pDrawObj );
+ void Init( const SwFrm* pFrm );
+ void Init( Window* pWindow );
+};
-inline SwRect SwFrmOrObj::GetBox() const
-{
- if( pFrm )
- {
- if( pFrm->IsPageFrm() &&
- static_cast< const SwPageFrm * >( pFrm )->IsEmptyPage() )
- {
- SwRect aBox( pFrm->Frm().Left(), pFrm->Frm().Top()-1, 1, 1 );
- return aBox;
- }
- else if ( pFrm->IsTabFrm() )
- {
- SwRect aBox( pFrm->Frm() );
- aBox.Intersection( pFrm->GetUpper()->Frm() );
- return aBox;
- }
- else
- return pFrm->Frm();
- }
- else if( pObj )
- return SwRect( pObj->GetCurrentBoundRect() );
- else
- return SwRect();
-}
-
-inline SwRect SwFrmOrObj::GetBounds() const
-{
- if( pFrm )
- {
- if( pFrm->IsPageFrm() &&
- static_cast< const SwPageFrm * >( pFrm )->IsEmptyPage() )
- {
- SwRect aBox( pFrm->Frm().Left(), pFrm->Frm().Top()-1, 0, 0 );
- return aBox;
- }
- else
- return pFrm->PaintArea();
- }
- else if( pObj )
- return SwRect( pObj->GetCurrentBoundRect() );
- return SwRect();
-}
+} } // eof of namespace sw::access
#endif