1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _SWCONT_HXX 29*cdf0e10cSrcweir #define _SWCONT_HXX 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <tools/string.hxx> 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir class SwContentType; 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir //Reihenfolge und Anzahl mit ResIds abgleichen!! 36*cdf0e10cSrcweir #define CONTENT_TYPE_OUTLINE 0 37*cdf0e10cSrcweir #define CONTENT_TYPE_TABLE 1 38*cdf0e10cSrcweir #define CONTENT_TYPE_FRAME 2 39*cdf0e10cSrcweir #define CONTENT_TYPE_GRAPHIC 3 40*cdf0e10cSrcweir #define CONTENT_TYPE_OLE 4 41*cdf0e10cSrcweir #define CONTENT_TYPE_BOOKMARK 5 42*cdf0e10cSrcweir #define CONTENT_TYPE_REGION 6 43*cdf0e10cSrcweir #define CONTENT_TYPE_URLFIELD 7 44*cdf0e10cSrcweir #define CONTENT_TYPE_REFERENCE 8 45*cdf0e10cSrcweir #define CONTENT_TYPE_INDEX 9 46*cdf0e10cSrcweir #define CONTENT_TYPE_POSTIT 10 47*cdf0e10cSrcweir #define CONTENT_TYPE_DRAWOBJECT 11 48*cdf0e10cSrcweir #define CONTENT_TYPE_MAX CONTENT_TYPE_DRAWOBJECT +1 49*cdf0e10cSrcweir 50*cdf0e10cSrcweir 51*cdf0e10cSrcweir // Typen fuer das Globaldokument 52*cdf0e10cSrcweir #define GLOBAL_CONTENT_REGION 100 53*cdf0e10cSrcweir #define GLOBAL_CONTENT_INDEX 101 54*cdf0e10cSrcweir #define GLOBAL_CONTENT_TEXT 102 55*cdf0e10cSrcweir #define GLOBAL_CONTENT_MAX 3 56*cdf0e10cSrcweir 57*cdf0e10cSrcweir // Strings fuer Kontextmenue 58*cdf0e10cSrcweir #define CONTEXT_COUNT 12 59*cdf0e10cSrcweir #define GLOBAL_CONTEXT_COUNT 14 60*cdf0e10cSrcweir 61*cdf0e10cSrcweir // Modi fuer Drag 'n Drop 62*cdf0e10cSrcweir #define REGION_MODE_NONE 0 63*cdf0e10cSrcweir #define REGION_MODE_LINK 1 64*cdf0e10cSrcweir #define REGION_MODE_EMBEDDED 2 65*cdf0e10cSrcweir 66*cdf0e10cSrcweir //---------------------------------------------------------------------------- 67*cdf0e10cSrcweir //---------------------------------------------------------------------------- 68*cdf0e10cSrcweir 69*cdf0e10cSrcweir //mini rtti 70*cdf0e10cSrcweir class SwTypeNumber 71*cdf0e10cSrcweir { 72*cdf0e10cSrcweir sal_uInt8 nTypeId; 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir public: 75*cdf0e10cSrcweir SwTypeNumber(sal_uInt8 nId) :nTypeId(nId){} 76*cdf0e10cSrcweir virtual ~SwTypeNumber(); 77*cdf0e10cSrcweir 78*cdf0e10cSrcweir virtual sal_uInt8 GetTypeId(); 79*cdf0e10cSrcweir }; 80*cdf0e10cSrcweir //---------------------------------------------------------------------------- 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir class SwContent : public SwTypeNumber 83*cdf0e10cSrcweir { 84*cdf0e10cSrcweir const SwContentType* pParent; 85*cdf0e10cSrcweir String sContentName; 86*cdf0e10cSrcweir long nYPosition; 87*cdf0e10cSrcweir sal_Bool bInvisible; 88*cdf0e10cSrcweir public: 89*cdf0e10cSrcweir SwContent(const SwContentType* pCnt, const String& rName, long nYPos ); 90*cdf0e10cSrcweir 91*cdf0e10cSrcweir virtual sal_Bool IsProtect() const; 92*cdf0e10cSrcweir const SwContentType* GetParent() const {return pParent;} 93*cdf0e10cSrcweir const String& GetName() const {return sContentName;} 94*cdf0e10cSrcweir int operator==(const SwContent& /*rCont*/) const 95*cdf0e10cSrcweir { 96*cdf0e10cSrcweir //gleich sind sie nie, sonst fallen sie aus dem Array 97*cdf0e10cSrcweir return sal_False; 98*cdf0e10cSrcweir } 99*cdf0e10cSrcweir int operator<(const SwContent& rCont) const 100*cdf0e10cSrcweir { 101*cdf0e10cSrcweir //zuerst nach Position dann nach Name sortieren 102*cdf0e10cSrcweir return nYPosition != rCont.nYPosition ? 103*cdf0e10cSrcweir nYPosition < rCont.nYPosition : 104*cdf0e10cSrcweir sContentName < rCont.sContentName;; 105*cdf0e10cSrcweir } 106*cdf0e10cSrcweir 107*cdf0e10cSrcweir long GetYPos() const {return nYPosition;} 108*cdf0e10cSrcweir 109*cdf0e10cSrcweir sal_Bool IsInvisible() const {return bInvisible;} 110*cdf0e10cSrcweir void SetInvisible(){ bInvisible = sal_True;} 111*cdf0e10cSrcweir }; 112*cdf0e10cSrcweir 113*cdf0e10cSrcweir #endif 114