diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 16:15:01 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 16:15:01 +0000 |
commit | 7b0b5cdfeed656b279bc32cd929630d5fc25878b (patch) | |
tree | 5b89fb8497d7329d26c43f109bb014c54ffb0e8c /sw/inc/tblafmt.hxx | |
parent | d791366863cf9659a01b171ce0e727bfe2f28cdf (diff) |
initial import
Diffstat (limited to 'sw/inc/tblafmt.hxx')
-rw-r--r-- | sw/inc/tblafmt.hxx | 383 |
1 files changed, 383 insertions, 0 deletions
diff --git a/sw/inc/tblafmt.hxx b/sw/inc/tblafmt.hxx new file mode 100644 index 000000000000..c0decd5e754c --- /dev/null +++ b/sw/inc/tblafmt.hxx @@ -0,0 +1,383 @@ +/************************************************************************* + * + * $RCSfile: tblafmt.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 17:14:28 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _TBLAFMT_HXX +#define _TBLAFMT_HXX + +/************************************************************************* +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +JP 20.07.95: + + Die akt. Struktur der Autoformatierung darf nicht mehr veraendert werden. + Diese wird durch unterschiedlichen Code vom StartWriter und vom StarCalc + eingelesen/geschrieben. + Sollte sich doch mal eine Aenderung nicht vermeiden lassen, dann auf + jedenfall in beiden Applikationen aendern. + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +**************************************************************************/ + +#ifndef _SVARRAY_HXX //autogen +#include <svtools/svarray.hxx> +#endif + +#include "hintids.hxx" //_immmer_ vor den solar-items! + +#define ITEMID_HORJUSTIFY 0 +#define ITEMID_VERJUSTIFY 0 +#define ITEMID_ORIENTATION 0 +#define ITEMID_MARGIN 0 + +#ifndef _SVX_ALGITEM_HXX //autogen +#include <svx/algitem.hxx> +#endif +#ifndef _SVX_FONTITEM_HXX //autogen +#include <svx/fontitem.hxx> +#endif +#ifndef _SVX_FHGTITEM_HXX //autogen +#include <svx/fhgtitem.hxx> +#endif +#ifndef _SVX_WGHTITEM_HXX //autogen +#include <svx/wghtitem.hxx> +#endif +#ifndef _SVX_POSTITEM_HXX //autogen +#include <svx/postitem.hxx> +#endif +#ifndef _SVX_UDLNITEM_HXX //autogen +#include <svx/udlnitem.hxx> +#endif +#ifndef _SVX_CRSDITEM_HXX //autogen +#include <svx/crsditem.hxx> +#endif +#ifndef _SVX_CNTRTITEM_HXX //autogen +#include <svx/cntritem.hxx> +#endif +#ifndef _SVX_SHDDITEM_HXX //autogen +#include <svx/shdditem.hxx> +#endif +#ifndef _SVX_COLRITEM_HXX //autogen +#include <svx/colritem.hxx> +#endif +#ifndef _SVX_BOXITEM_HXX //autogen +#include <svx/boxitem.hxx> +#endif +#ifndef _SVX_BRSHITEM_HXX //autogen +#include <svx/brshitem.hxx> +#endif +#ifndef _SVX_ADJITEM_HXX //autogen +#include <svx/adjitem.hxx> +#endif +#ifndef _SVX_ROTMODIT_HXX //autogen +#include <svx/rotmodit.hxx> +#endif +#ifndef _SFXINTITEM_HXX //autogen +#include <svtools/intitem.hxx> +#endif + +struct SwAfVersions; + +class SvNumberFormatter; + +class SwBoxAutoFmt +{ + // gemeinsamer Teil von StarCalc und StarWriter + SvxFontItem aFont; + + SvxFontHeightItem aHeight; + SvxWeightItem aWeight; + SvxPostureItem aPosture; + SvxUnderlineItem aUnderline; + SvxCrossedOutItem aCrossedOut; + SvxContourItem aContour; + SvxShadowedItem aShadowed; + SvxColorItem aColor; + SvxBoxItem aBox; + SvxBrushItem aBackground; + + // StarWriter spezifisches + SvxAdjustItem aAdjust; + + // StarCalc spezifisches + SvxHorJustifyItem aHorJustify; + SvxVerJustifyItem aVerJustify; + SvxOrientationItem aOrientation; + SvxMarginItem aMargin; + SfxBoolItem aLinebreak; + SfxInt32Item aRotateAngle; + SvxRotateModeItem aRotateMode; + + // und als letzes das Zahlenformat fuer die Box + String sNumFmtString; + LanguageType eSysLanguage, eNumFmtLanguage; + +public: + SwBoxAutoFmt(); + SwBoxAutoFmt( const SwBoxAutoFmt& rNew ); + ~SwBoxAutoFmt(); + + int operator==( const SwBoxAutoFmt& rCmp ) const; + SwBoxAutoFmt& operator=( const SwBoxAutoFmt& rNew ); + + // die Get-Methoden + const SvxFontItem &GetFont() const { return aFont; } + const SvxFontHeightItem &GetHeight() const { return aHeight; } + const SvxWeightItem &GetWeight() const { return aWeight; } + const SvxPostureItem &GetPosture() const { return aPosture; } + const SvxUnderlineItem &GetUnderline() const { return aUnderline; } + const SvxCrossedOutItem &GetCrossedOut() const { return aCrossedOut; } + const SvxContourItem &GetContour() const { return aContour; } + const SvxShadowedItem &GetShadowed() const { return aShadowed; } + const SvxColorItem &GetColor() const { return aColor; } + const SvxAdjustItem &GetAdjust() const { return aAdjust; } + const SvxBoxItem &GetBox() const { return aBox; } + const SvxBrushItem &GetBackground() const { return aBackground; } + void GetValueFormat( String& rFmt, LanguageType& rLng, LanguageType& rSys ) const + { rFmt = sNumFmtString; rLng = eNumFmtLanguage; rSys = eSysLanguage; } + + // die SetMethoden + void SetFont( const SvxFontItem& rNew ) { aFont = rNew; } + void SetHeight( const SvxFontHeightItem& rNew ) { aHeight = rNew; } + void SetWeight( const SvxWeightItem& rNew ) { aWeight = rNew; } + void SetPosture( const SvxPostureItem& rNew ) { aPosture = rNew; } + void SetUnderline( const SvxUnderlineItem& rNew ) { aUnderline = rNew; } + void SetCrossedOut( const SvxCrossedOutItem& rNew ) { aCrossedOut = rNew; } + void SetContour( const SvxContourItem& rNew ) { aContour = rNew; } + void SetShadowed( const SvxShadowedItem& rNew ) { aShadowed = rNew; } + void SetColor( const SvxColorItem& rNew ) { aColor = rNew; } + void SetAdjust( const SvxAdjustItem& rNew ) + { + aAdjust.SetAdjust( rNew.GetAdjust() ); + aAdjust.SetOneWord( rNew.GetOneWord() ); + aAdjust.SetLastBlock( rNew.GetLastBlock() ); + } + void SetBox( const SvxBoxItem& rNew ) { aBox = rNew; } + void SetBackground( const SvxBrushItem& rNew ) { aBackground = rNew; } + void SetValueFormat( const String& rFmt, LanguageType eLng, LanguageType eSys ) + { sNumFmtString = rFmt; eNumFmtLanguage = eLng; eSysLanguage = eSys; } + + BOOL Load( SvStream& rStream, const SwAfVersions& rVersions, USHORT nVer ); + BOOL Save( SvStream& rStream ) const; + BOOL SaveVerionNo( SvStream& rStream ) const; + +#ifdef READ_OLDVERS + // lade alte Version + BOOL LoadOld( SvStream& rStream, USHORT aLoadVer[] ); +#endif +}; + +class SwTableAutoFmt +{ + friend void _FinitCore(); // zum Zerstoeren des dflt. Pointers + static SwBoxAutoFmt* pDfltBoxAutoFmt; + + String aName; + USHORT nStrResId; + BOOL bInclFont : 1; + BOOL bInclJustify : 1; + BOOL bInclFrame : 1; + BOOL bInclBackground : 1; + BOOL bInclValueFormat : 1; + + // StarCalc Spezifisches + BOOL bInclWidthHeight : 1; + + SwBoxAutoFmt* aBoxAutoFmt[ 16 ]; + +public: + SwTableAutoFmt( const String& rName ); + SwTableAutoFmt( const SwTableAutoFmt& rNew ); + ~SwTableAutoFmt(); + + SwTableAutoFmt& operator=( const SwTableAutoFmt& rNew ); + + void SetBoxFmt( const SwBoxAutoFmt& rNew, BYTE nPos ); + const SwBoxAutoFmt& GetBoxFmt( BYTE nPos ) const; + + void SetName( const String& rNew ) { aName = rNew; nStrResId = USHRT_MAX; } + const String& GetName() const { return aName; } + + enum UpdateFlags { UPDATE_CHAR = 1, UPDATE_BOX = 2, UPDATE_ALL = 3 }; + SwBoxAutoFmt& UpdateFromSet( BYTE nPos, const SfxItemSet& rSet, + UpdateFlags eFlags, SvNumberFormatter* ); + void UpdateToSet( BYTE nPos, SfxItemSet& rSet, UpdateFlags eFlags, + SvNumberFormatter* ) const ; + + BOOL IsFont() const { return bInclFont; } + BOOL IsJustify() const { return bInclJustify; } + BOOL IsFrame() const { return bInclFrame; } + BOOL IsBackground() const { return bInclBackground; } + BOOL IsValueFormat() const { return bInclValueFormat; } + BOOL IsWidthHeight() const { return bInclWidthHeight; } + + void SetFont( const BOOL bNew ) { bInclFont = bNew; } + void SetJustify( const BOOL bNew ) { bInclJustify = bNew; } + void SetFrame( const BOOL bNew ) { bInclFrame = bNew; } + void SetBackground( const BOOL bNew ) { bInclBackground = bNew; } + void SetValueFormat( const BOOL bNew ) { bInclValueFormat = bNew; } + void SetWidthHeight( const BOOL bNew ) { bInclWidthHeight = bNew; } + + BOOL Load( SvStream& rStream, const SwAfVersions& ); + BOOL Save( SvStream& rStream ) const; + +#ifdef READ_OLDVERS + // lade alte Version + BOOL LoadOld( SvStream& rStream, USHORT aLoadVer[] ); +#endif +}; +typedef SwTableAutoFmt* SwTableAutoFmtPtr ; + +SV_DECL_PTRARR_DEL( _SwTableAutoFmtTbl, SwTableAutoFmtPtr, 1, 5 ) + +class SwTableAutoFmtTbl : public _SwTableAutoFmtTbl +{ + BOOL Load( SvStream& rStream ); + BOOL Save( SvStream& rStream ) const; +public: + SwTableAutoFmtTbl(); + + BOOL Load(); + BOOL Save() const; +}; + + + +/************************************************************************* + + Source Code Control System - Header + + $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/sw/inc/tblafmt.hxx,v 1.1.1.1 2000-09-18 17:14:28 hr Exp $ + + Source Code Control System - Update + + $Log: not supported by cvs2svn $ + Revision 1.22 2000/09/18 16:03:31 willem.vandorp + OpenOffice header added. + + Revision 1.21 2000/09/08 13:24:29 willem.vandorp + Header and footer replaced + + Revision 1.20 1999/10/11 15:23:51 jp + TableautoFormatnames with resource ids + + Revision 1.19 1998/09/29 08:12:48 NN + #53381# bei Zahlformat Systemsprache beim Erzeugen mitspeichern + + + Rev 1.18 29 Sep 1998 10:12:48 NN + #53381# bei Zahlformat Systemsprache beim Erzeugen mitspeichern + + Rev 1.17 15 Sep 1998 21:23:02 ER + #47738# gedrehter Text in Tabellen-AutoFormat + + Rev 1.16 02 Jun 1998 10:35:02 JP + TabellenAutoFormat: Load/Save ohne Stream - erzeugen diesen selbst + + Rev 1.15 14 May 1998 15:16:48 JP + neu: Numberformat vom Boxen unterstuetzen + + Rev 1.14 12 May 1998 23:34:52 JP + neu: Zuweisungsoperator fuer SwTableAutoFmt + + Rev 1.13 04 Sep 1997 09:02:58 MA + includes + + Rev 1.12 09 Aug 1997 12:45:06 OS + paraitem/frmitems/textitem aufgeteilt + + Rev 1.11 07 Aug 1997 14:43:12 OM + Headerfile-Umstellung + + Rev 1.10 24 Jun 1996 18:35:28 MA + includes + + Rev 1.9 13 Dec 1995 09:55:02 MA + opt: Bessere Defaults fuer Arrays + + Rev 1.8 11 Dec 1995 13:38:48 HJS + anpassung fuer unix + + Rev 1.7 30 Nov 1995 20:22:30 JP + DefaultTblAutoFmt erst auf Bedarf anlegen + + Rev 1.6 31 Jul 1995 10:17:50 AMA + International-Umstellung wg. Update 253 + + Rev 1.5 20 Jul 1995 19:39:48 JP + Aederung fuer gemeinsamen Import/Export der Tabellen-Autoformatierung von Calc/Writer + + Rev 1.4 10 Jun 1995 16:05:20 JP + Save/Load nochmals umgestellt + + Rev 1.3 10 Jun 1995 12:51:26 JP + SwBoxAutoFmt::Load - Load-Version mit geben + + Rev 1.2 06 Mar 1995 05:07:02 JP + Load & Save als Dummy + + Rev 1.1 04 Mar 1995 20:42:22 JP + Adjust nachgetragen + + Rev 1.0 04 Mar 1995 15:46:14 JP + Initial revision. + +*************************************************************************/ + // #ifndef _... +#endif |