/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef _FLTGLBS_HXX #define _FLTGLBS_HXX #include #include #include class SfxPoolItem; class SwDoc; class SwPaM; class SwTable; class XF_Buffer; class ColorBuffer; class FontBuffer; class SvNumberFormatter; class ExcGlob; extern ExcGlob *pExcGlob; class LotGlob; extern LotGlob *pLotGlob; // ----- Basis-Klasse ---------------------------------------------------- class FilterGlobals { protected: SvPtrarr aTblFmts; sal_uInt16 nColStart; sal_uInt16 nColEnd; sal_uInt16 nRowStart; sal_uInt16 nRowEnd; sal_uInt16 nAnzCols; sal_uInt16 nAnzRows; public: FilterGlobals( SwDoc& rDoc, const SwPaM& rPam ); ~FilterGlobals(); SwDoc *pD; SwPaM *pPam; const SwTable *pTable; SvNumberFormatter *pNumFormatter; LanguageType eDefLanguage; sal_uLong nStandard; sal_uLong nDefFormat; // = 0xFFFFFFFF void SetRange( sal_uInt16 nCS, sal_uInt16 nCE, sal_uInt16 nRS, sal_uInt16 nRE ); sal_Bool IsInColRange( sal_uInt16 nCol ) { return ( nCol >= nColStart && nCol <= nColEnd ); } sal_Bool IsInRowRange( sal_uInt16 nRow ) { return ( nRow >= nRowStart && nRow <= nRowEnd ); } sal_Bool IsInRange( sal_uInt16 nCol, sal_uInt16 nRow ) { return IsInRowRange(nRow) && IsInColRange(nCol); } void NormalizeCol( sal_uInt16 &rCol ) { rCol -= nColStart; } void NormalizeRow( sal_uInt16 &rRow ) { rRow -= nRowStart; } void Normalize( sal_uInt16 &rCol, sal_uInt16 &rRow ) { NormalizeCol( rCol ); NormalizeRow( rRow ); } sal_uInt16 AnzCols() const { return nAnzCols; } sal_uInt16 AnzRows() const { return nAnzRows; } sal_Bool ColRangeLimitter( sal_uInt16 &rCS, sal_uInt16 &rCE ); void InsertText( sal_uInt16 nCol, sal_uInt16 nRow, const String& rStr ); void CreateTable(); void InsertAttr( const SfxPoolItem& rItem ); inline void ColLimitter( sal_uInt16 &rCol ); inline void RowLimitter( sal_uInt16 &rRow ); }; inline void FilterGlobals::ColLimitter( sal_uInt16 &rCol ) { if( rCol < nColStart ) rCol = nColStart; else if( rCol > nColEnd ) rCol = nColEnd; } inline void FilterGlobals::RowLimitter( sal_uInt16 &rRow ) { if( rRow < nRowStart ) rRow = nRowStart; else if( rRow > nRowEnd ) rRow = nRowEnd; } #endif