1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski #ifndef _TABCOL_HXX 24*b1cdbd2cSJim Jagielski #define _TABCOL_HXX 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski #ifndef _SVSTDARR_HXX 27*b1cdbd2cSJim Jagielski #define _SVSTDARR_LONGS 28*b1cdbd2cSJim Jagielski #define _SVSTDARR_BOOLS 29*b1cdbd2cSJim Jagielski #include <svl/svstdarr.hxx> 30*b1cdbd2cSJim Jagielski #endif 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielski #ifndef INCLUDED_VECTOR 33*b1cdbd2cSJim Jagielski #include <vector> 34*b1cdbd2cSJim Jagielski #define INCLUDED_VECTOR 35*b1cdbd2cSJim Jagielski #endif 36*b1cdbd2cSJim Jagielski #include "swdllapi.h" 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski struct SwTabColsEntry 39*b1cdbd2cSJim Jagielski { 40*b1cdbd2cSJim Jagielski long nPos; 41*b1cdbd2cSJim Jagielski long nMin; 42*b1cdbd2cSJim Jagielski long nMax; 43*b1cdbd2cSJim Jagielski sal_Bool bHidden; //Fuer jeden Eintrag ein Flag, Hidden oder nicht. 44*b1cdbd2cSJim Jagielski //Wenn das Flag Hidden sal_True ist liegt der Spalten- 45*b1cdbd2cSJim Jagielski //trenner nicht in der aktuellen Zeile; er muss 46*b1cdbd2cSJim Jagielski //mit gepflegt werden, darf aber nicht angezeigt 47*b1cdbd2cSJim Jagielski //werden. 48*b1cdbd2cSJim Jagielski }; 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski typedef std::vector< SwTabColsEntry > SwTabColsEntries; 51*b1cdbd2cSJim Jagielski 52*b1cdbd2cSJim Jagielski class SW_DLLPUBLIC SwTabCols 53*b1cdbd2cSJim Jagielski { 54*b1cdbd2cSJim Jagielski long nLeftMin, //Linker aeusserer Rand (Bezugspunkt) in 55*b1cdbd2cSJim Jagielski //Dokumentkordinaten. 56*b1cdbd2cSJim Jagielski //Alle anderen Werte relativ zu diesem Punkt! 57*b1cdbd2cSJim Jagielski nLeft, //Linker Rand der Tabelle. 58*b1cdbd2cSJim Jagielski nRight, //Rechter Rand der Tabelle. 59*b1cdbd2cSJim Jagielski nRightMax; //Maximaler rechter Rand der Tabelle. 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski bool bLastRowAllowedToChange; // if the last row of the table frame 62*b1cdbd2cSJim Jagielski // is split across pages, it may not 63*b1cdbd2cSJim Jagielski // change its size 64*b1cdbd2cSJim Jagielski 65*b1cdbd2cSJim Jagielski SwTabColsEntries aData; 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski //fuer den CopyCTor GetData() const68*b1cdbd2cSJim Jagielski const SwTabColsEntries& GetData() const { return aData; } 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski public: 71*b1cdbd2cSJim Jagielski SwTabCols( sal_uInt16 nSize = 0 ); 72*b1cdbd2cSJim Jagielski SwTabCols( const SwTabCols& ); 73*b1cdbd2cSJim Jagielski SwTabCols &operator=( const SwTabCols& ); 74*b1cdbd2cSJim Jagielski sal_Bool operator==( const SwTabCols& rCmp ) const; operator [](sal_uInt16 nPos)75*b1cdbd2cSJim Jagielski long& operator[]( sal_uInt16 nPos ) { return aData[nPos].nPos; } operator [](sal_uInt16 nPos) const76*b1cdbd2cSJim Jagielski long operator[]( sal_uInt16 nPos ) const { return aData[nPos].nPos; } Count() const77*b1cdbd2cSJim Jagielski sal_uInt16 Count() const { return sal::static_int_cast< sal_uInt16 >(aData.size()); } 78*b1cdbd2cSJim Jagielski IsHidden(sal_uInt16 nPos) const79*b1cdbd2cSJim Jagielski sal_Bool IsHidden( sal_uInt16 nPos ) const { return aData[nPos].bHidden; } SetHidden(sal_uInt16 nPos,sal_Bool bValue)80*b1cdbd2cSJim Jagielski void SetHidden( sal_uInt16 nPos, sal_Bool bValue ) { aData[nPos].bHidden = bValue; } 81*b1cdbd2cSJim Jagielski 82*b1cdbd2cSJim Jagielski void Insert( long nValue, sal_Bool bValue, sal_uInt16 nPos ); 83*b1cdbd2cSJim Jagielski void Insert( long nValue, long nMin, long nMax, sal_Bool bValue, sal_uInt16 nPos ); 84*b1cdbd2cSJim Jagielski void Remove( sal_uInt16 nPos, sal_uInt16 nAnz = 1 ); 85*b1cdbd2cSJim Jagielski GetEntry(sal_uInt16 nPos) const86*b1cdbd2cSJim Jagielski const SwTabColsEntry& GetEntry( sal_uInt16 nPos ) const { return aData[nPos]; } GetEntry(sal_uInt16 nPos)87*b1cdbd2cSJim Jagielski SwTabColsEntry& GetEntry( sal_uInt16 nPos ) { return aData[nPos]; } 88*b1cdbd2cSJim Jagielski GetLeftMin() const89*b1cdbd2cSJim Jagielski long GetLeftMin() const { return nLeftMin; } GetLeft() const90*b1cdbd2cSJim Jagielski long GetLeft() const { return nLeft; } GetRight() const91*b1cdbd2cSJim Jagielski long GetRight() const { return nRight; } GetRightMax() const92*b1cdbd2cSJim Jagielski long GetRightMax()const { return nRightMax;} 93*b1cdbd2cSJim Jagielski SetLeftMin(long nNew)94*b1cdbd2cSJim Jagielski void SetLeftMin ( long nNew ) { nLeftMin = nNew; } SetLeft(long nNew)95*b1cdbd2cSJim Jagielski void SetLeft ( long nNew ) { nLeft = nNew; } SetRight(long nNew)96*b1cdbd2cSJim Jagielski void SetRight ( long nNew ) { nRight = nNew; } SetRightMax(long nNew)97*b1cdbd2cSJim Jagielski void SetRightMax( long nNew ) { nRightMax = nNew;} 98*b1cdbd2cSJim Jagielski IsLastRowAllowedToChange() const99*b1cdbd2cSJim Jagielski bool IsLastRowAllowedToChange() const { return bLastRowAllowedToChange; } SetLastRowAllowedToChange(bool bNew)100*b1cdbd2cSJim Jagielski void SetLastRowAllowedToChange( bool bNew ) { bLastRowAllowedToChange = bNew; } 101*b1cdbd2cSJim Jagielski }; 102*b1cdbd2cSJim Jagielski 103*b1cdbd2cSJim Jagielski #endif //_TABCOL_HXX 104