Update ooo320-m1
[ooovba.git] / sw / inc / edglbldc.hxx
blob82974fdabca3ed748fcbeb4cf308cb935ace2b9b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: edglbldc.hxx,v $
10 * $Revision: 1.5 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _EDGLBLDC_HXX
31 #define _EDGLBLDC_HXX
33 #include <svtools/svarray.hxx>
35 class SwSection;
36 class SwTOXBase;
37 class SwTOXBaseSection;
39 enum GlobalDocContentType {
40 GLBLDOC_UNKNOWN,
41 GLBLDOC_TOXBASE,
42 GLBLDOC_SECTION
45 class SwGlblDocContent
47 GlobalDocContentType eType;
48 ULONG nDocPos;
49 union {
50 const SwTOXBase* pTOX;
51 const SwSection* pSect;
52 } PTR;
54 public:
55 SwGlblDocContent( ULONG nPos );
56 SwGlblDocContent( const SwTOXBaseSection* pTOX );
57 SwGlblDocContent( const SwSection* pSect );
59 // Inhalte abfragen
60 GlobalDocContentType GetType() const { return eType; }
61 const SwSection* GetSection() const
62 { return GLBLDOC_SECTION == eType ? PTR.pSect : 0; }
63 const SwTOXBase* GetTOX() const
64 { return GLBLDOC_TOXBASE == eType ? PTR.pTOX : 0; }
65 ULONG GetDocPos() const { return nDocPos; }
67 // fuers Sortieren
68 inline int operator==( const SwGlblDocContent& rCmp ) const
69 { return GetDocPos() == rCmp.GetDocPos(); }
70 inline int operator<( const SwGlblDocContent& rCmp ) const
71 { return GetDocPos() < rCmp.GetDocPos(); }
75 typedef SwGlblDocContent* SwGlblDocContentPtr;
76 SV_DECL_PTRARR_SORT_DEL( SwGlblDocContents, SwGlblDocContentPtr, 10, 10 )
80 #endif