summaryrefslogtreecommitdiff
path: root/sw/inc/tblafmt.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/inc/tblafmt.hxx')
-rw-r--r--sw/inc/tblafmt.hxx273
1 files changed, 273 insertions, 0 deletions
diff --git a/sw/inc/tblafmt.hxx b/sw/inc/tblafmt.hxx
new file mode 100644
index 000000000000..3ca914531882
--- /dev/null
+++ b/sw/inc/tblafmt.hxx
@@ -0,0 +1,273 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: tblafmt.hxx,v $
+ * $Revision: 1.9.210.1 $
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org 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 version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#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.
+
+ The structure of table auto formatting should not changed. It is used
+ by different code of Writer and Calc. If a change is necessary, the
+ source code of both applications must be changed!
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+**************************************************************************/
+
+#include <svl/svarray.hxx>
+#include "hintids.hxx" //_immmer_ vor den solar-items!
+#include <svx/algitem.hxx>
+#include <svx/fontitem.hxx>
+#include <svx/fhgtitem.hxx>
+#include <svx/wghtitem.hxx>
+#include <svx/postitem.hxx>
+#include <svx/udlnitem.hxx>
+#include <svx/crsditem.hxx>
+#ifndef _SVX_CNTRTITEM_HXX //autogen
+#include <svx/cntritem.hxx>
+#endif
+#include <svx/shdditem.hxx>
+#include <svx/colritem.hxx>
+#include <svx/boxitem.hxx>
+#include <svx/brshitem.hxx>
+#include <svx/adjitem.hxx>
+#include <svx/rotmodit.hxx>
+#include <svl/intitem.hxx>
+#include <svx/bolnitem.hxx>
+#include "swdllapi.h"
+
+struct SwAfVersions;
+
+class SvNumberFormatter;
+
+class SwBoxAutoFmt
+{
+ // common attributes of Calc and Writer
+ // --- from 641 on: CJK and CTL font settings
+ SvxFontItem aFont;
+ SvxFontHeightItem aHeight;
+ SvxWeightItem aWeight;
+ SvxPostureItem aPosture;
+
+ SvxFontItem aCJKFont;
+ SvxFontHeightItem aCJKHeight;
+ SvxWeightItem aCJKWeight;
+ SvxPostureItem aCJKPosture;
+
+ SvxFontItem aCTLFont;
+ SvxFontHeightItem aCTLHeight;
+ SvxWeightItem aCTLWeight;
+ SvxPostureItem aCTLPosture;
+
+ SvxUnderlineItem aUnderline;
+ SvxOverlineItem aOverline;
+ SvxCrossedOutItem aCrossedOut;
+ SvxContourItem aContour;
+ SvxShadowedItem aShadowed;
+ SvxColorItem aColor;
+ SvxBoxItem aBox;
+ SvxLineItem aTLBR;
+ SvxLineItem aBLTR;
+ SvxBrushItem aBackground;
+
+ // Writer specific
+ SvxAdjustItem aAdjust;
+
+ // Calc specific
+ SvxHorJustifyItem aHorJustify;
+ SvxVerJustifyItem aVerJustify;
+ SfxBoolItem aStacked;
+ SvxMarginItem aMargin;
+ SfxBoolItem aLinebreak;
+ SfxInt32Item aRotateAngle;
+ SvxRotateModeItem aRotateMode;
+
+ // number format
+ 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 SvxFontItem &GetCJKFont() const { return aCJKFont; }
+ const SvxFontHeightItem &GetCJKHeight() const { return aCJKHeight; }
+ const SvxWeightItem &GetCJKWeight() const { return aCJKWeight; }
+ const SvxPostureItem &GetCJKPosture() const { return aCJKPosture; }
+ const SvxFontItem &GetCTLFont() const { return aCTLFont; }
+ const SvxFontHeightItem &GetCTLHeight() const { return aCTLHeight; }
+ const SvxWeightItem &GetCTLWeight() const { return aCTLWeight; }
+ const SvxPostureItem &GetCTLPosture() const { return aCTLPosture; }
+ const SvxUnderlineItem &GetUnderline() const { return aUnderline; }
+ const SvxOverlineItem &GetOverline() const { return aOverline; }
+ 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 SvxLineItem &GetTLBR() const { return aTLBR; }
+ const SvxLineItem &GetBLTR() const { return aBLTR; }
+ 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 SetCJKFont( const SvxFontItem& rNew ) { aCJKFont = rNew; }
+ void SetCJKHeight( const SvxFontHeightItem& rNew ) { aCJKHeight = rNew; }
+ void SetCJKWeight( const SvxWeightItem& rNew ) { aCJKWeight = rNew; }
+ void SetCJKPosture( const SvxPostureItem& rNew ) { aCJKPosture = rNew; }
+ void SetCTLFont( const SvxFontItem& rNew ) { aCTLFont = rNew; }
+ void SetCTLHeight( const SvxFontHeightItem& rNew ) { aCTLHeight = rNew; }
+ void SetCTLWeight( const SvxWeightItem& rNew ) { aCTLWeight = rNew; }
+ void SetCTLPosture( const SvxPostureItem& rNew ) { aCTLPosture = rNew; }
+ void SetUnderline( const SvxUnderlineItem& rNew ) { aUnderline = rNew; }
+ void SetOverline( const SvxOverlineItem& rNew ) { aOverline = 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 SW_DLLPUBLIC SwTableAutoFmt
+{
+ friend void _FinitCore(); // zum Zerstoeren des dflt. Pointers
+ static SwBoxAutoFmt* pDfltBoxAutoFmt;
+
+ String aName;
+ USHORT nStrResId;
+
+ // common flags of Calc and Writer
+ BOOL bInclFont : 1;
+ BOOL bInclJustify : 1;
+ BOOL bInclFrame : 1;
+ BOOL bInclBackground : 1;
+ BOOL bInclValueFormat : 1;
+
+ // Calc specific flags
+ 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; }
+
+ 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 SW_DLLPUBLIC SwTableAutoFmtTbl : public _SwTableAutoFmtTbl
+{
+ SW_DLLPRIVATE BOOL Load( SvStream& rStream );
+ SW_DLLPRIVATE BOOL Save( SvStream& rStream ) const;
+
+public:
+ SwTableAutoFmtTbl();
+
+ BOOL Load();
+ BOOL Save() const;
+};
+
+#endif