Files
libreoffice/sw/inc/swatrset.hxx

349 lines
16 KiB
C++
Raw Normal View History

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2000-09-18 16:15:01 +00:00
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
2000-09-18 16:15:01 +00:00
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
2000-09-18 16:15:01 +00:00
*
* OpenOffice.org - a multi-platform office productivity suite
2000-09-18 16:15:01 +00:00
*
* This file is part of OpenOffice.org.
2000-09-18 16:15:01 +00:00
*
* 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.
2000-09-18 16:15:01 +00:00
*
* 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).
2000-09-18 16:15:01 +00:00
*
* 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.
2000-09-18 16:15:01 +00:00
*
************************************************************************/
#ifndef _SWATRSET_HXX
#define _SWATRSET_HXX
#include <tools/solar.h>
#include <tools/mempool.hxx>
#include <svl/itemset.hxx>
#include <svl/itempool.hxx>
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
2009-01-05 14:06:42 +00:00
#include <swdllapi.h>
2000-09-18 16:15:01 +00:00
class SwModify;
class SwDoc;
class OutputDevice;
class IDocumentSettingAccess;
2000-09-18 16:15:01 +00:00
class SfxBoolItem;
class SvxPostureItem;
class SvxWeightItem;
class SvxShadowedItem;
class SvxAutoKernItem;
class SvxWordLineModeItem;
class SvxContourItem;
class SvxKerningItem;
class SvxUnderlineItem;
class SvxOverlineItem;
2000-09-18 16:15:01 +00:00
class SvxCrossedOutItem;
class SvxFontHeightItem;
class SvxPropSizeItem;
class SvxFontItem;
class SvxColorItem;
class SvxCharSetColorItem;
class SvxLanguageItem;
class SvxEscapementItem;
class SvxCaseMapItem;
class SvxNoHyphenItem;
class SvxBlinkItem;
2000-10-30 11:51:04 +00:00
class SvxEmphasisMarkItem;
2000-11-16 20:31:21 +00:00
class SvxTwoLinesItem;
class SvxCharScaleWidthItem;
class SvxCharRotateItem;
2001-03-05 12:50:48 +00:00
class SvxCharReliefItem;
class SvxCharHiddenItem;
2000-09-18 16:15:01 +00:00
2011-04-18 22:25:24 +02:00
// Frame attributes
2000-09-18 16:15:01 +00:00
class SwFmtFillOrder;
class SwFmtFrmSize;
class SvxPaperBinItem;
class SvxLRSpaceItem;
class SvxULSpaceItem;
class SwFmtCntnt;
class SwFmtHeader;
class SwFmtFooter;
class SvxPrintItem;
class SvxOpaqueItem;
class SvxProtectItem;
class SwFmtSurround;
class SwFmtVertOrient;
class SwFmtHoriOrient;
class SwFmtAnchor;
class SvxBoxItem;
class SvxBrushItem;
class SvxShadowItem;
class SwFmtPageDesc;
class SvxFmtBreakItem;
class SwFmtCol;
class SvxMacroItem;
class SvxFmtKeepItem;
class SwFmtURL;
class SwFmtLineNumber;
class SwFmtEditInReadonly;
class SwFmtLayoutSplit;
class SwFmtRowSplit;
2000-09-18 16:15:01 +00:00
class SwFmtChain;
class SwFmtFtnAtTxtEnd;
class SwFmtEndAtTxtEnd;
class SwFmtNoBalancedColumns;
class SvxFrameDirectionItem;
2002-02-06 15:07:13 +00:00
class SwTextGridItem;
class SwHeaderAndFooterEatSpacingItem;
class SwFmtFollowTextFlow;
class SwFmtWrapInfluenceOnObjPos;
2000-09-18 16:15:01 +00:00
// Graphic attributes
2000-09-18 16:15:01 +00:00
class SwMirrorGrf;
class SwCropGrf;
class SwRotationGrf;
class SwLuminanceGrf;
class SwContrastGrf;
class SwChannelRGrf;
class SwChannelGGrf;
class SwChannelBGrf;
class SwGammaGrf;
class SwInvertGrf;
class SwTransparencyGrf;
class SwDrawModeGrf;
// Paragraph attributes
2000-09-18 16:15:01 +00:00
class SvxLineSpacingItem;
class SvxAdjustItem;
class SvxFmtSplitItem;
class SwRegisterItem;
class SwNumRuleItem;
class SvxWidowsItem;
class SvxOrphansItem;
class SvxTabStopItem;
class SvxHyphenZoneItem;
class SwFmtDrop;
class SvxScriptSpaceItem;
class SvxHangingPunctuationItem;
2000-11-29 16:20:06 +00:00
class SvxForbiddenRuleItem;
2001-04-10 13:18:33 +00:00
class SvxParaVertAlignItem;
2002-02-06 15:07:13 +00:00
class SvxParaGridItem;
class SwParaConnectBorderItem;
2000-09-18 16:15:01 +00:00
// TableBox attributes
2000-09-18 16:15:01 +00:00
class SwTblBoxNumFormat;
class SwTblBoxFormula;
class SwTblBoxValue;
class SwAttrPool : public SfxItemPool
{
2011-04-18 22:25:24 +02:00
friend void _InitCore(); // For creating/deleting of version maps.
friend void _FinitCore();
static sal_uInt16* pVersionMap1;
static sal_uInt16* pVersionMap2;
static sal_uInt16* pVersionMap3;
static sal_uInt16* pVersionMap4;
// due to extension of attribute set a new version
// map for binary filter is necessary (version map 5).
static sal_uInt16* pVersionMap5;
static sal_uInt16* pVersionMap6;
2000-09-18 16:15:01 +00:00
SwDoc* pDoc;
public:
SwAttrPool( SwDoc* pDoc );
CWS-TOOLING: integrate CWS aw063 2009-02-12 13:10:24 +0100 aw r267649 : #i99123# when a primitive is invisible, it is not sufficient to produce no output when decomposing, but to add invisible data using HitTestPrimitive2D. This is needed for the slideshow which relies on geometry data in MetaFiles when painting invisible objects 2009-02-12 13:08:39 +0100 aw r267648 : #i99123# do not ignore HitTestPrimitive2D, but draw empty rectangles instead. This is needed since Slideshow is based on getting MetaFile content when painting invisible objects 2009-02-11 16:04:28 +0100 aw r267620 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:04:10 +0100 aw r267619 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:03:56 +0100 aw r267618 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:03:39 +0100 aw r267617 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:03:21 +0100 aw r267615 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:02:48 +0100 aw r267614 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:02:24 +0100 aw r267613 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:02:01 +0100 aw r267612 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:01:32 +0100 aw r267611 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:01:05 +0100 aw r267610 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 16:00:15 +0100 aw r267608 : #i98788# made SfxItemPool destructor protected, added static ::Free method 2009-02-11 11:27:33 +0100 aw r267585 : #i98788# added missing include for STL 2009-02-10 17:46:50 +0100 aw r267570 : #i98788# added reaction on pool destruction 2009-02-10 17:11:58 +0100 aw r267562 : #i98788# added messaging mechanism to register for pool destruction 2009-02-10 13:35:35 +0100 aw r267549 : #i98788# removing changes, too complicated and risky for 3.1 2009-02-10 12:13:48 +0100 aw r267546 : #i98788# 4th round 2009-02-10 12:13:37 +0100 aw r267545 : #i98788# 4th round 2009-02-10 12:13:26 +0100 aw r267544 : #i98788# 4th round 2009-02-10 12:13:14 +0100 aw r267543 : #i98788# 4th round 2009-02-10 12:13:03 +0100 aw r267542 : #i98788# 4th round 2009-02-10 12:12:50 +0100 aw r267541 : #i98788# 4th round 2009-02-10 12:12:37 +0100 aw r267540 : #i98788# 4th round 2009-02-08 14:38:22 +0100 aw r267495 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:38:06 +0100 aw r267494 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:37:48 +0100 aw r267493 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:37:17 +0100 aw r267492 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:36:56 +0100 aw r267491 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:36:44 +0100 aw r267490 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:36:29 +0100 aw r267489 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:36:16 +0100 aw r267488 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:36:02 +0100 aw r267487 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-08 14:35:46 +0100 aw r267486 : #i98788# 3rd round of changes to SfxItemPool handling 2009-02-05 12:20:39 +0100 aw r267415 : #i98788# 2nd batch of adaptions for SfxItemPoolHolder addition 2009-02-04 15:12:54 +0100 aw r267385 : #i98788# added newline at EOF 2009-02-04 13:26:04 +0100 aw r267379 : #i98788# make SfxItemPool holdable 2009-02-04 13:25:40 +0100 aw r267378 : #i98788# make SfxItemPool holdable 2009-02-04 13:25:08 +0100 aw r267377 : #i98788# make SfxItemPool holdable 2009-02-04 13:24:42 +0100 aw r267376 : #i98788# make SfxItemPool holdable 2009-02-04 13:23:14 +0100 aw r267375 : #i98788# make SfxItemPool holdable 2009-02-04 13:23:02 +0100 aw r267374 : #i98788# make SfxItemPool holdable 2009-01-29 17:08:31 +0100 aw r267159 : #i97628# completed the fix 2009-01-29 17:08:15 +0100 aw r267158 : #i97628# completed the fix 2009-01-29 14:09:07 +0100 aw r267132 : #i97628# Corrected usage of ParagraphData in headers 2009-01-29 14:06:58 +0100 iha r267131 : #i98344# incorrect font size in charts 2009-01-29 12:13:46 +0100 aw r267115 : #i97628# back to old state; triggers too many errors in other modules 2009-01-29 12:03:51 +0100 aw r267114 : #i97628# enabled exceptions due to STL vector include 2009-01-29 11:21:37 +0100 aw r267107 : #i97628# added needed include 2009-01-28 17:58:29 +0100 aw r267077 : #i97628# first version of newly implemented OutlinerParaObject and adaptions 2009-01-28 17:58:12 +0100 aw r267076 : #i97628# first version of newly implemented OutlinerParaObject and adaptions 2009-01-28 17:57:51 +0100 aw r267074 : #i97628# first version of newly implemented OutlinerParaObject and adaptions 2009-01-28 17:57:21 +0100 aw r267073 : #i97628# first version of newly implemented OutlinerParaObject and adaptions 2009-01-27 17:07:33 +0100 aw r267011 : #i98402# added support for ViewRange when exporting MetaFiles in ObjectContactOfPageView::DoProcessDisplay to avoid to paint too much 2009-01-27 11:45:48 +0100 aw r266973 : #i98404# Added a warning to a place where a conversion to rectangle should not be copied from 2009-01-26 21:44:36 +0100 iha r266949 : #i98497# 3D charts are rendered with wrong size 2009-01-26 20:47:07 +0100 aw r266947 : #i98404# handle BackgroundColorPrimitive2D directly in PixelRenderers and avoid AA under all circumstances 2009-01-26 14:50:36 +0100 aw r266926 : #i98386# secured cloning of SdrObject in IMapUserData by boost::shared_prt usage 2009-01-26 12:51:30 +0100 aw r266916 : #i96581# added separated FontStretching and fallback for small X!=Y scale differences 2009-01-23 16:14:55 +0100 aw r266834 : #i96475# added missing implementation of TextDecoratedPortionPrimitive2D::getB2DRange 2009-01-23 15:24:34 +0100 aw r266826 : #i98405# fixed fallback to DrawAlphaRect to use the correctly sized rectangle 2009-01-23 13:34:43 +0100 aw r266813 : #i96474# fixed impSplitSingleWords for an unexpected case 2009-01-23 10:47:31 +0100 aw r266786 : #i98289#,#i96474# tooling and new flags for tasks 2009-01-23 10:47:20 +0100 aw r266785 : #i98289#,#i96474# tooling and new flags for tasks 2009-01-23 10:47:09 +0100 aw r266783 : #i98289#,#i96474# tooling and new flags for tasks 2009-01-23 10:46:58 +0100 aw r266782 : #i98289#,#i96474# tooling and new flags for tasks 2009-01-23 10:46:48 +0100 aw r266781 : #i98289#,#i96474# tooling and new flags for tasks
2009-03-04 14:16:02 +00:00
protected:
virtual ~SwAttrPool();
public:
2000-09-18 16:15:01 +00:00
SwDoc* GetDoc() { return pDoc; }
const SwDoc* GetDoc() const { return pDoc; }
static sal_uInt16* GetVersionMap1() { return pVersionMap1; }
static sal_uInt16* GetVersionMap2() { return pVersionMap2; }
static sal_uInt16* GetVersionMap3() { return pVersionMap3; }
static sal_uInt16* GetVersionMap6() { return pVersionMap4; }
2000-09-18 16:15:01 +00:00
};
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
2009-01-05 14:06:42 +00:00
class SW_DLLPUBLIC SwAttrSet : public SfxItemSet
2000-09-18 16:15:01 +00:00
{
// Pointer for Modify-System
2000-09-18 16:15:01 +00:00
SwAttrSet *pOldSet, *pNewSet;
// Notification-Callback
virtual void Changed( const SfxPoolItem& rOld, const SfxPoolItem& rNew );
void PutChgd( const SfxPoolItem& rI ) { SfxItemSet::PutDirect( rI ); }
public:
SwAttrSet( SwAttrPool&, sal_uInt16 nWhich1, sal_uInt16 nWhich2 );
SwAttrSet( SwAttrPool&, const sal_uInt16* nWhichPairTable );
2000-09-18 16:15:01 +00:00
SwAttrSet( const SwAttrSet& );
virtual SfxItemSet* Clone(sal_Bool bItems = sal_True, SfxItemPool *pToPool = 0) const;
2000-09-18 16:15:01 +00:00
int Put_BC( const SfxPoolItem& rAttr, SwAttrSet* pOld, SwAttrSet* pNew );
int Put_BC( const SfxItemSet& rSet, SwAttrSet* pOld, SwAttrSet* pNew );
2011-04-18 22:25:24 +02:00
// Delete an item or a range.
sal_uInt16 ClearItem_BC( sal_uInt16 nWhich, SwAttrSet* pOld, SwAttrSet* pNew );
sal_uInt16 ClearItem_BC( sal_uInt16 nWhich1, sal_uInt16 nWhich2,
2000-09-18 16:15:01 +00:00
SwAttrSet* pOld = 0, SwAttrSet* pNew = 0 );
int Intersect_BC( const SfxItemSet& rSet, SwAttrSet* pOld, SwAttrSet* pNew );
void GetPresentation( SfxItemPresentation ePres,
SfxMapUnit eCoreMetric, SfxMapUnit ePresMetric, String &rText ) const;
SwAttrPool* GetPool() const { return (SwAttrPool*)SfxItemSet::GetPool(); }
2011-04-18 22:25:24 +02:00
// Copy attributes, if necessary across documents.
2000-09-18 16:15:01 +00:00
void CopyToModify( SwModify& rMod ) const;
2011-04-18 22:25:24 +02:00
// Special treatment for some attributes.
// Set Modify-pointer (the old pDefinedIn) at the following attributes:
2000-09-18 16:15:01 +00:00
// - SwFmtDropCaps
// - SwFmtPageDesc
2011-04-18 22:25:24 +02:00
// (Is called at insert in formats/nodes.)
// Second version is for the SwAttrSet handles of SwCntntNode.
bool SetModifyAtAttr( const SwModify* pModify );
2000-09-18 16:15:01 +00:00
2011-04-18 22:25:24 +02:00
// Document is set at SwAttrPool. Therefore it is always accessible.
2000-09-18 16:15:01 +00:00
const SwDoc *GetDoc() const { return GetPool()->GetDoc(); }
SwDoc *GetDoc() { return GetPool()->GetDoc(); }
2011-04-18 22:25:24 +02:00
// Get methods: bool indicates whether to search only in Set (sal_False)
// or also in parents. If nothing is found then default attribute is returned.
// Character attributes. Implementation in charatr.hxx.
inline const SvxPostureItem &GetPosture( sal_Bool = sal_True ) const;
inline const SvxWeightItem &GetWeight( sal_Bool = sal_True ) const;
inline const SvxShadowedItem &GetShadowed( sal_Bool = sal_True ) const;
inline const SvxAutoKernItem &GetAutoKern( sal_Bool = sal_True ) const;
inline const SvxWordLineModeItem &GetWordLineMode( sal_Bool = sal_True ) const;
inline const SvxContourItem &GetContour( sal_Bool = sal_True ) const;
inline const SvxKerningItem &GetKerning( sal_Bool = sal_True ) const;
inline const SvxUnderlineItem &GetUnderline( sal_Bool = sal_True ) const;
inline const SvxOverlineItem &GetOverline( sal_Bool = sal_True ) const;
inline const SvxCrossedOutItem &GetCrossedOut( sal_Bool = sal_True ) const;
inline const SvxFontHeightItem &GetSize( sal_Bool = sal_True ) const;
inline const SvxPropSizeItem &GetPropSize( sal_Bool = sal_True ) const;
inline const SvxFontItem &GetFont( sal_Bool = sal_True ) const;
inline const SvxColorItem &GetColor( sal_Bool = sal_True ) const;
inline const SvxCharSetColorItem &GetCharSetColor( sal_Bool = sal_True ) const;
inline const SvxLanguageItem &GetLanguage( sal_Bool = sal_True ) const;
inline const SvxEscapementItem &GetEscapement( sal_Bool = sal_True ) const;
inline const SvxCaseMapItem &GetCaseMap( sal_Bool = sal_True ) const;
inline const SvxNoHyphenItem &GetNoHyphenHere( sal_Bool = sal_True ) const;
inline const SvxBlinkItem &GetBlink( sal_Bool = sal_True ) const;
inline const SvxBrushItem &GetChrBackground( sal_Bool = sal_True ) const;
inline const SvxFontItem &GetCJKFont( sal_Bool = sal_True ) const;
inline const SvxFontHeightItem &GetCJKSize( sal_Bool = sal_True ) const;
inline const SvxLanguageItem &GetCJKLanguage( sal_Bool = sal_True ) const;
inline const SvxPostureItem &GetCJKPosture( sal_Bool = sal_True ) const;
inline const SvxWeightItem &GetCJKWeight( sal_Bool = sal_True ) const;
inline const SvxFontItem &GetCTLFont( sal_Bool = sal_True ) const;
inline const SvxFontHeightItem &GetCTLSize( sal_Bool = sal_True ) const;
inline const SvxLanguageItem &GetCTLLanguage( sal_Bool = sal_True ) const;
inline const SvxPostureItem &GetCTLPosture( sal_Bool = sal_True ) const;
inline const SvxWeightItem &GetCTLWeight( sal_Bool = sal_True ) const;
inline const SfxBoolItem &GetWritingDirection( sal_Bool = sal_True ) const;
inline const SvxEmphasisMarkItem &GetEmphasisMark( sal_Bool = sal_True ) const;
inline const SvxTwoLinesItem &Get2Lines( sal_Bool = sal_True ) const;
inline const SvxCharScaleWidthItem &GetCharScaleW( sal_Bool = sal_True ) const;
inline const SvxCharRotateItem &GetCharRotate( sal_Bool = sal_True ) const;
inline const SvxCharReliefItem &GetCharRelief( sal_Bool = sal_True ) const;
inline const SvxCharHiddenItem &GetCharHidden( sal_Bool = sal_True ) const;
2000-09-18 16:15:01 +00:00
2011-04-18 22:25:24 +02:00
// Frame attributes. Implementation in frmatr.hxx.
inline const SwFmtFillOrder &GetFillOrder( sal_Bool = sal_True ) const;
inline const SwFmtFrmSize &GetFrmSize( sal_Bool = sal_True ) const;
inline const SvxPaperBinItem &GetPaperBin( sal_Bool = sal_True ) const;
inline const SvxLRSpaceItem &GetLRSpace( sal_Bool = sal_True ) const;
inline const SvxULSpaceItem &GetULSpace( sal_Bool = sal_True ) const;
inline const SwFmtCntnt &GetCntnt( sal_Bool = sal_True ) const;
inline const SwFmtHeader &GetHeader( sal_Bool = sal_True ) const;
inline const SwFmtFooter &GetFooter( sal_Bool = sal_True ) const;
inline const SvxPrintItem &GetPrint( sal_Bool = sal_True ) const;
inline const SvxOpaqueItem &GetOpaque( sal_Bool = sal_True ) const;
inline const SvxProtectItem &GetProtect( sal_Bool = sal_True ) const;
inline const SwFmtSurround &GetSurround( sal_Bool = sal_True ) const;
inline const SwFmtVertOrient &GetVertOrient( sal_Bool = sal_True ) const;
inline const SwFmtHoriOrient &GetHoriOrient( sal_Bool = sal_True ) const;
inline const SwFmtAnchor &GetAnchor( sal_Bool = sal_True ) const;
inline const SvxBoxItem &GetBox( sal_Bool = sal_True ) const;
inline const SvxFmtKeepItem &GetKeep( sal_Bool = sal_True ) const;
inline const SvxBrushItem &GetBackground( sal_Bool = sal_True ) const;
inline const SvxShadowItem &GetShadow( sal_Bool = sal_True ) const;
inline const SwFmtPageDesc &GetPageDesc( sal_Bool = sal_True ) const;
inline const SvxFmtBreakItem &GetBreak( sal_Bool = sal_True ) const;
inline const SwFmtCol &GetCol( sal_Bool = sal_True ) const;
inline const SvxMacroItem &GetMacro( sal_Bool = sal_True ) const;
inline const SwFmtURL &GetURL( sal_Bool = sal_True ) const;
inline const SwFmtEditInReadonly &GetEditInReadonly( sal_Bool = sal_True ) const;
inline const SwFmtLayoutSplit &GetLayoutSplit( sal_Bool = sal_True ) const;
inline const SwFmtRowSplit &GetRowSplit( sal_Bool = sal_True ) const;
inline const SwFmtChain &GetChain( sal_Bool = sal_True ) const;
inline const SwFmtLineNumber &GetLineNumber( sal_Bool = sal_True ) const;
inline const SwFmtFtnAtTxtEnd &GetFtnAtTxtEnd( sal_Bool = sal_True ) const;
inline const SwFmtEndAtTxtEnd &GetEndAtTxtEnd( sal_Bool = sal_True ) const;
inline const SwFmtNoBalancedColumns &GetBalancedColumns( sal_Bool = sal_True ) const;
inline const SvxFrameDirectionItem &GetFrmDir( sal_Bool = sal_True ) const;
inline const SwTextGridItem &GetTextGrid( sal_Bool = sal_True ) const;
inline const SwHeaderAndFooterEatSpacingItem &GetHeaderAndFooterEatSpacing( sal_Bool = sal_True ) const;
inline const SwFmtFollowTextFlow &GetFollowTextFlow(sal_Bool = sal_True) const;
inline const SwFmtWrapInfluenceOnObjPos& GetWrapInfluenceOnObjPos(sal_Bool = sal_True) const;
2000-09-18 16:15:01 +00:00
// Graphic attributes - implementation in grfatr.hxx
inline const SwMirrorGrf &GetMirrorGrf( sal_Bool = sal_True ) const;
inline const SwCropGrf &GetCropGrf( sal_Bool = sal_True ) const;
inline const SwRotationGrf &GetRotationGrf(sal_Bool = sal_True ) const;
inline const SwLuminanceGrf &GetLuminanceGrf(sal_Bool = sal_True ) const;
inline const SwContrastGrf &GetContrastGrf(sal_Bool = sal_True ) const;
inline const SwChannelRGrf &GetChannelRGrf(sal_Bool = sal_True ) const;
inline const SwChannelGGrf &GetChannelGGrf(sal_Bool = sal_True ) const;
inline const SwChannelBGrf &GetChannelBGrf(sal_Bool = sal_True ) const;
inline const SwGammaGrf &GetGammaGrf(sal_Bool = sal_True ) const;
inline const SwInvertGrf &GetInvertGrf(sal_Bool = sal_True ) const;
inline const SwTransparencyGrf &GetTransparencyGrf(sal_Bool = sal_True ) const;
inline const SwDrawModeGrf &GetDrawModeGrf(sal_Bool = sal_True ) const;
2000-09-18 16:15:01 +00:00
// Paragraph attributes - implementation in paratr.hxx
inline const SvxLineSpacingItem &GetLineSpacing( sal_Bool = sal_True ) const;
inline const SvxAdjustItem &GetAdjust( sal_Bool = sal_True ) const;
inline const SvxFmtSplitItem &GetSplit( sal_Bool = sal_True ) const;
inline const SwRegisterItem &GetRegister( sal_Bool = sal_True ) const;
inline const SwNumRuleItem &GetNumRule( sal_Bool = sal_True ) const;
inline const SvxWidowsItem &GetWidows( sal_Bool = sal_True ) const;
inline const SvxOrphansItem &GetOrphans( sal_Bool = sal_True ) const;
inline const SvxTabStopItem &GetTabStops( sal_Bool = sal_True ) const;
inline const SvxHyphenZoneItem &GetHyphenZone( sal_Bool = sal_True ) const;
inline const SwFmtDrop &GetDrop( sal_Bool = sal_True ) const;
inline const SvxScriptSpaceItem &GetScriptSpace(sal_Bool = sal_True) const;
inline const SvxHangingPunctuationItem &GetHangingPunctuation(sal_Bool = sal_True) const;
inline const SvxForbiddenRuleItem &GetForbiddenRule(sal_Bool = sal_True) const;
inline const SvxParaVertAlignItem &GetParaVertAlign(sal_Bool = sal_True) const;
inline const SvxParaGridItem &GetParaGrid(sal_Bool = sal_True) const;
inline const SwParaConnectBorderItem &GetParaConnectBorder(sal_Bool = sal_True ) const;
2000-09-18 16:15:01 +00:00
// Tablebox attributes - implementation in cellatr.hxx
inline const SwTblBoxNumFormat &GetTblBoxNumFmt( sal_Bool = sal_True ) const;
inline const SwTblBoxFormula &GetTblBoxFormula( sal_Bool = sal_True ) const;
inline const SwTblBoxValue &GetTblBoxValue( sal_Bool = sal_True ) const;
2000-09-18 16:15:01 +00:00
DECL_FIXEDMEMPOOL_NEWDEL(SwAttrSet)
};
//Helper for filters to find true lineheight of a font
CWS-TOOLING: integrate CWS libmsword 2008-12-18 12:33:19 +0100 kendy r265681 : Export less symbols. 2008-12-17 19:26:56 +0100 kendy r265655 : Move libmsword to the -writer package. 2008-12-15 17:46:16 +0100 kendy r265516 : Enable exceptions for iodetect.cxx. 2008-12-15 15:17:53 +0100 kendy r265504 : Deliver the msword.dll. 2008-12-09 19:38:17 +0100 kendy r265138 : Remove accidentally added method. 2008-12-09 19:33:57 +0100 kendy r265137 : Fix linking on Win32. 2008-12-09 18:37:16 +0100 kendy r265135 : Move SwFltControlStack::Delete() to ww1/fltshell.cxx to fix linking. 2008-12-09 18:01:56 +0100 kendy r265127 : Visibility fixes. 2008-12-09 15:51:52 +0100 kendy r265109 : Fix ambiguous usage of class Color. 2008-12-09 14:54:27 +0100 kendy r265091 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-09 14:44:59 +0100 kendy r265088 : Add #include "precompiled_sw.hxx" to fix --enable-pch build. 2008-12-08 19:14:49 +0100 kendy r265015 : #i96313# Get rid of inc/iodetect.cxx, it's a really bad idea to share code by #ifdefing parts of it, and #including a .cxx file ;-) This change moves it to iodetect.cxx, which is compiled to a .o/.obj that is used where needed. 2008-11-20 17:45:08 +0100 kendy r264083 : #i96313# Make the destruction of Readers consistent. 2008-11-20 17:18:11 +0100 kendy r264070 : #i96313# Added missing SW_DLLPUBLIC for (Import|Export)(DOC|RTF). 2008-11-18 19:21:07 +0100 kendy r263797 : #i96313# Remove accidentally added file. 2008-11-18 17:14:31 +0100 kendy r263790 : #i96313# Split doc and rtf filters into a separate library From: Radek Doulik <rodo@novell.com> fix SwFieldBookmark class visibility (suggested by kendy) 2008-11-18 17:14:01 +0100 kendy r263789 : #i96313# Split doc and rtf filters into a separate library From: Fridrich Strba <fstrba@novell.com> add visibility markup to allow linking 2008-11-18 17:13:29 +0100 kendy r263788 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Visibility markup for libmsword. This is the most trivial approach, every class that had a symbol that needed to be visible was marked with SW_DLLPUBLIC; the correct (but more time consuming) way would be to mark just the exact methods that were needed. To be done later if generally shows that the separate libmsword makes sense; and also now we have the upper limit of symbols that needed to be added, and we can only make it better [decrease the number] ;-) 2008-11-18 17:12:58 +0100 kendy r263787 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Added the missing msword.map. 2008-11-18 17:12:25 +0100 kendy r263786 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> scp2 change for libmsword. 2008-11-18 17:11:55 +0100 kendy r263785 : #i96313# Split doc and rtf filters into a separate library From: Jan Holesovsky <kendy@suse.cz> Convert the binary .doc and .rtf filters into a separate library. It is called 'libmsword' and loaded on demand when either of the formats (.doc, .rtf) is loaded or saved.
2009-01-05 14:06:42 +00:00
SW_DLLPUBLIC long AttrSetToLineHeight( const IDocumentSettingAccess& rIDocumentSettingAccess,
const SwAttrSet &rSet,
const OutputDevice &rOut, sal_Int16 nScript);
2000-09-18 16:15:01 +00:00
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */