2010-10-12 15:53:47 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
re-base on ALv2 code. Includes (at least) relevant parts of:
linecap: Reintegrating finished LineCap feature
Patch contributed by Regina Henschel
http://svn.apache.org/viewvc?view=revision&revision=1232507
Patches contributed by Sven Jacobi
impress212: #i81610# fixed animation export
http://svn.apache.org/viewvc?view=revision&revision=1167620
impress212: drawinglayer gbuild environment changes
http://svn.apache.org/viewvc?view=revision&revision=1167627
http://svn.apache.org/viewvc?view=revision&revision=1167628
impress212: DffPropSet -> minor code improvements, removing table
http://svn.apache.org/viewvc?view=revision&revision=1167634
impress212: #158494# fixed excel import (text rotation)
http://svn.apache.org/viewvc?view=revision&revision=1167638
Patches contributed by Armin Le Grand
Svg: Reintegrated Svg replacement from /branches/alg/svgreplavement
http://svn.apache.org/viewvc?view=revision&revision=1220836
#118728# changed indentifying definitions for Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1229961
#118838# LineGeometry creation for complicated cases optimized to
create single Polygons
http://svn.apache.org/viewvc?view=revision&revision=1236232
#119176# corrected file type detection for SVG for svg files
without xml header
http://svn.apache.org/viewvc?view=revision&revision=1309445
#118728# Extended Svg file detection
http://svn.apache.org/viewvc?view=revision&revision=1230531
#118529# solve break converters and convert commands for OLEs and images
http://svn.apache.org/viewvc?view=revision&revision=1186168
svg: added WaE changes from branch svgreplacement to trunc
http://svn.apache.org/viewvc?view=revision&revision=1222974
svg: corrected missing member initialization
http://svn.apache.org/viewvc?view=revision&revision=1226134
fix for #118525#: Using primitives for chart sub-geometry visualisation
http://svn.apache.org/viewvc?view=revision&revision=1226879
#118898# Adapted ImpGraphic::ImplGetBitmap to correctly convert
metafiles to bitmapEx ...
http://svn.apache.org/viewvc?view=revision&revision=1293316
fix for #118525#: removed no longer used variable maOriginalMapMode, one
more exception eliminated
http://svn.apache.org/viewvc?view=revision&revision=1227097
#16758# Added buffering to the VDev usages of the VclProcessor2D derivates...
http://svn.apache.org/viewvc?view=revision&revision=1229521
#116758# Secured VDev buffer device to Vcl deinit
http://svn.apache.org/viewvc?view=revision&revision=1230574
#116758# added remembering allocated VDevs for VDevBuffer to be able to also
delete these when vcl goes down; it should never happen, but You never know
http://svn.apache.org/viewvc?view=revision&revision=1230927
#118730# Changed SvgClipPathNode to use MaskPrimitive2D for primitive
representation instead of TransparencePrimitive2D
http://svn.apache.org/viewvc?view=revision&revision=1231198
#118822# secured 3D geometry creation (slices) by subdividing the 2D
source polyPolygon early
http://svn.apache.org/viewvc?view=revision&revision=1234749
#118829# enhanced Svg gradient quality, obstacles avoided
http://svn.apache.org/viewvc?view=revision&revision=1235361
#118834# Unified usage of TextBreakupHelper as single tooling class
for i18n text primitive breakup
http://svn.apache.org/viewvc?view=revision&revision=1236110
#118853# added square pixel size limit to conversion of
TransparencePrimitive2D to Metafile action
http://svn.apache.org/viewvc?view=revision&revision=1237656
#118824# coreccted mirroring and boundrect when the graphicmanager
is used for bitmap output
http://svn.apache.org/viewvc?view=revision&revision=1240097
#115092# Corrected VclProcessor2D::RenderPolygonStrokePrimitive2D for
various optimization scenarios
http://svn.apache.org/viewvc?view=revision&revision=1241434
#118783# Corrected errors in ID strings, corrected Svg line/fill export,
corrected polygon close state
http://svn.apache.org/viewvc?view=revision&revision=1232006
#118796# corrected null-pointer usage in SVG text exporter
http://svn.apache.org/viewvc?view=revision&revision=1240262
#118729# Use GraphicStreamUrl and GraphicUrl to allow multi image
import with linked graphics, too
http://svn.apache.org/viewvc?view=revision&revision=1229962
#118898# corrected error in GDIMetaFile::GetBoundRect in handling
MetaFloatTransparentAction
http://svn.apache.org/viewvc?view=revision&revision=1293349
#118855# Corrected handling of possibly created empty clipRegions
after PolyPolygon clipping
http://svn.apache.org/viewvc?view=revision&revision=1237725
#115962# Better (but not yet optimal, see comments in task) handling
of MetaFloatTransparentAction in PDF export
http://svn.apache.org/viewvc?view=revision&revision=1241078
IP clearance: #118466# This patch removes librsvg, libcroco, libgsf, ...
http://svn.apache.org/viewvc?view=revision&revision=1200879
118779# Added svg content streaming in/out to ImpGraphic stream operators
http://svn.apache.org/viewvc?view=revision&revision=1231908
linecap: correctons for WaE and mac drawing
http://svn.apache.org/viewvc?view=revision&revision=1232793
svg: uses current system Dpi for Svg replacement image creation
http://svn.apache.org/viewvc?view=revision&revision=1233948
Patches contributed by Mathias Bauer (and others)
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1394326
Remove duplicate header includes.
cws mba34issues01: #i117720#: convert assertion into warning
http://svn.apache.org/viewvc?view=revision&revision=1172352
118485 - Styles for OLEs are not saved. Submitted by Armin Le Grand.
http://svn.apache.org/viewvc?view=revision&revision=1182166
cws mba34issues01: #i117714#: remove assertion
http://svn.apache.org/viewvc?view=revision&revision=1172357
Patch contributed by Jurgen Schmidt
add some additional checks to ensure proper reading operations
http://svn.apache.org/viewvc?view=revision&revision=1209022
mostly prefer our stream / bounds checking work.
Patches contributed by Herbert Duerr
#i118816# add clarifying comment regarding Font::*Color*() methods
http://svn.apache.org/viewvc?view=revision&revision=1233833
extend macro->string handling for empty strings
http://svn.apache.org/viewvc?view=revision&revision=1175801
avoid magic constants for SALCOLOR_NONE
http://svn.apache.org/viewvc?view=revision&revision=1177543
initialize slant properly in ImplFontMetricData constructor (author=iorsh)
http://svn.apache.org/viewvc?view=revision&revision=1177551
#i118675# make check for extension updates more stable
http://svn.apache.org/viewvc?view=revision&revision=1214797
#a118617# remove VBasicEventListener.dll binary
There are no known users depending on its CLSID
http://svn.apache.org/viewvc?view=revision&revision=1203697
Patches contributed by Ariel Constenla-Haile
Fix build breaker on Linux/gcc
http://svn.apache.org/viewvc?view=revision&revision=1221104
Fix crash when trying to instantiate css.graphic.GraphicRasterizer_RSVG
http://svn.apache.org/viewvc?view=revision&revision=1215559
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117962# - method <SwFlyFrm::IsPaint(..)> - consider
instances of <SwFlyDrawObj>
http://svn.apache.org/viewvc?view=revision&revision=1172120
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
gnumake4 work variously from Hans-Joachim Lankenau
http://svn.apache.org/viewvc?view=revision&revision=1397315
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1396782
http://svn.apache.org/viewvc?view=revision&revision=1394707
plus some amount of re-splitting of legacy headers.
Patch contributed by Pavel Janik
WaE: Remove unused variables.
http://svn.apache.org/viewvc?view=revision&revision=1230697
Patches contributed by Takashi Ono
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
mingwport35: i#117795: MinGW port fix for vcl2gnumake
http://svn.apache.org/viewvc?view=revision&revision=1172091
Patch contributed by Christian Lippka
impress212: #i98044# re enable Text menu for outline and title shapes
http://svn.apache.org/viewvc?view=revision&revision=1167639
Patch contributed by Andre Fischer
118674: Made category B code optional and disabled by default.
http://svn.apache.org/viewvc?view=revision&revision=1215131
118881: Ignore empty paragraphs after bullets.
http://svn.apache.org/viewvc?view=revision&revision=1296205
Patches contributed by Philipp Lohmann
ooo340fixes: #i117780# use rtl allocator
http://svn.apache.org/viewvc?view=revision&revision=1172087
ooo34gsl02: #i117807# fix an off by one error (index actually
inside the pfb section header)
http://svn.apache.org/viewvc?view=revision&revision=1167576
various cleanups, related compilation fixes, warning cleanups, re-working
of obsolete stl template pieces to use boost instead, changed string
classes, re-adapt KDE about data, about dialog, fixing warnings,
and other fixes & improvements.
Disable svg import / render for about/ branding code-paths for now.
Restore full icon theme set.
Remove OS/2 conditionals and sources.
Remove conflicting gtk/full-screen monitors support.
Retain existing svg rasterizer files - temporarily disabled.
Standardize stringificaiton and fixup dllpostfix issues.
Rename SvgGradientHelper::== to equalTo to avoid overloading issues.
Use the flat GdiPlus API for LineCaps calls.
2012-10-09 12:22:23 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* 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 .
|
|
|
|
*/
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
#include <com/sun/star/style/TabStop.hpp>
|
|
|
|
#include <com/sun/star/style/LineSpacing.hpp>
|
|
|
|
#include <com/sun/star/style/LineSpacingMode.hpp>
|
|
|
|
#include <com/sun/star/uno/Sequence.hxx>
|
2001-07-10 10:22:50 +00:00
|
|
|
#include <comphelper/processfactory.hxx>
|
2009-10-16 00:05:16 +02:00
|
|
|
#include <unotools/syslocale.hxx>
|
2000-10-23 11:08:49 +00:00
|
|
|
#include <comphelper/types.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <tools/rtti.hxx>
|
2014-04-04 13:39:38 +03:00
|
|
|
#include <tools/mapunit.hxx>
|
2009-10-16 00:05:16 +02:00
|
|
|
#include <svl/itempool.hxx>
|
|
|
|
#include <svl/memberid.hrc>
|
2010-01-06 19:26:54 +01:00
|
|
|
#include <editeng/editrids.hrc>
|
|
|
|
#include <editeng/lspcitem.hxx>
|
2013-02-12 13:41:53 -05:00
|
|
|
#include <editeng/adjustitem.hxx>
|
2010-01-06 19:26:54 +01:00
|
|
|
#include <editeng/orphitem.hxx>
|
|
|
|
#include <editeng/widwitem.hxx>
|
|
|
|
#include <editeng/tstpitem.hxx>
|
|
|
|
#include <editeng/pmdlitem.hxx>
|
|
|
|
#include <editeng/spltitem.hxx>
|
2013-02-12 13:41:53 -05:00
|
|
|
#include <editeng/hyphenzoneitem.hxx>
|
2010-01-06 19:26:54 +01:00
|
|
|
#include <editeng/scriptspaceitem.hxx>
|
|
|
|
#include <editeng/hngpnctitem.hxx>
|
|
|
|
#include <editeng/forbiddenruleitem.hxx>
|
|
|
|
#include <editeng/paravertalignitem.hxx>
|
|
|
|
#include <editeng/pgrditem.hxx>
|
2006-06-19 15:14:15 +00:00
|
|
|
#include <rtl/ustring.hxx>
|
2010-01-06 19:26:54 +01:00
|
|
|
#include <editeng/memberids.hrc>
|
|
|
|
#include <editeng/editids.hrc>
|
|
|
|
#include <editeng/itemtype.hxx>
|
|
|
|
#include <editeng/eerdll.hxx>
|
|
|
|
#include <editeng/paperinf.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <vcl/svapp.hxx>
|
2000-11-09 09:15:17 +00:00
|
|
|
#include <algorithm>
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
using namespace ::com::sun::star;
|
|
|
|
|
2007-05-10 13:52:54 +00:00
|
|
|
TYPEINIT1_FACTORY(SvxLineSpacingItem, SfxPoolItem , new SvxLineSpacingItem(LINE_SPACE_DEFAULT_HEIGHT, 0));
|
|
|
|
TYPEINIT1_FACTORY(SvxAdjustItem, SfxPoolItem, new SvxAdjustItem(SVX_ADJUST_LEFT, 0));
|
|
|
|
TYPEINIT1_FACTORY(SvxWidowsItem, SfxByteItem, new SvxWidowsItem(0, 0));
|
|
|
|
TYPEINIT1_FACTORY(SvxOrphansItem, SfxByteItem, new SvxOrphansItem(0, 0));
|
2014-02-21 10:01:27 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxHyphenZoneItem, SfxPoolItem, new SvxHyphenZoneItem(false, 0));
|
2007-05-10 13:52:54 +00:00
|
|
|
TYPEINIT1_FACTORY(SvxTabStopItem, SfxPoolItem, new SvxTabStopItem(0));
|
2014-02-26 12:53:18 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxFmtSplitItem, SfxBoolItem, new SvxFmtSplitItem(false, 0));
|
2007-05-10 13:52:54 +00:00
|
|
|
TYPEINIT1_FACTORY(SvxPageModelItem, SfxStringItem, new SvxPageModelItem(0));
|
2014-02-26 12:53:18 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxScriptSpaceItem, SfxBoolItem, new SvxScriptSpaceItem(false, 0));
|
2014-02-21 10:20:00 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxHangingPunctuationItem, SfxBoolItem, new SvxHangingPunctuationItem(false, 0));
|
2014-02-21 16:06:28 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxForbiddenRuleItem, SfxBoolItem, new SvxForbiddenRuleItem(false, 0));
|
2007-05-10 13:52:54 +00:00
|
|
|
TYPEINIT1_FACTORY(SvxParaVertAlignItem, SfxUInt16Item, new SvxParaVertAlignItem(0, 0));
|
2014-02-25 16:12:39 +02:00
|
|
|
TYPEINIT1_FACTORY(SvxParaGridItem, SfxBoolItem, new SvxParaGridItem(true, 0));
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvxLineSpacingItem::SvxLineSpacingItem( sal_uInt16 nHeight, const sal_uInt16 nId )
|
|
|
|
: SfxEnumItemInterface( nId )
|
|
|
|
{
|
|
|
|
nPropLineSpace = 100;
|
|
|
|
nInterLineSpace = 0;
|
|
|
|
nLineHeight = nHeight;
|
|
|
|
eLineSpace = SVX_LINE_SPACE_AUTO;
|
|
|
|
eInterLineSpace = SVX_INTER_LINE_SPACE_OFF;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-01-10 17:01:52 +01:00
|
|
|
bool SvxLineSpacingItem::operator==( const SfxPoolItem& rAttr ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
|
|
|
|
|
2014-09-30 09:02:35 +02:00
|
|
|
const SvxLineSpacingItem& rLineSpace = static_cast<const SvxLineSpacingItem&>(rAttr);
|
2000-09-18 16:07:07 +00:00
|
|
|
return (
|
2011-02-16 16:34:02 -05:00
|
|
|
// Same Linespacing Rule?
|
2000-09-18 16:07:07 +00:00
|
|
|
(eLineSpace == rLineSpace.eLineSpace)
|
2011-02-16 16:34:02 -05:00
|
|
|
// For maximum and minimum Linespacing be the size must coincide.
|
2000-09-18 16:07:07 +00:00
|
|
|
&& (eLineSpace == SVX_LINE_SPACE_AUTO ||
|
|
|
|
nLineHeight == rLineSpace.nLineHeight)
|
2011-02-16 16:34:02 -05:00
|
|
|
// Same Linespacing Rule?
|
2000-09-18 16:07:07 +00:00
|
|
|
&& ( eInterLineSpace == rLineSpace.eInterLineSpace )
|
2011-02-16 16:34:02 -05:00
|
|
|
// Either set proportional or additive.
|
2000-09-18 16:07:07 +00:00
|
|
|
&& (( eInterLineSpace == SVX_INTER_LINE_SPACE_OFF)
|
|
|
|
|| (eInterLineSpace == SVX_INTER_LINE_SPACE_PROP
|
|
|
|
&& nPropLineSpace == rLineSpace.nPropLineSpace)
|
|
|
|
|| (eInterLineSpace == SVX_INTER_LINE_SPACE_FIX
|
|
|
|
&& (nInterLineSpace == rLineSpace.nInterLineSpace)))) ?
|
|
|
|
1 : 0;
|
|
|
|
}
|
|
|
|
|
2011-02-16 16:34:02 -05:00
|
|
|
/* Who does still know why the LineSpacingItem is so complicated?
|
|
|
|
We can not use it for UNO since there are only two values:
|
|
|
|
- ein sal_uInt16 for the mode
|
|
|
|
- ein sal_uInt32 for all values (distance, height, rel. detail)
|
2010-11-09 01:42:14 +05:00
|
|
|
*/
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxLineSpacingItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
style::LineSpacing aLSp;
|
|
|
|
switch( eLineSpace )
|
|
|
|
{
|
|
|
|
case SVX_LINE_SPACE_AUTO:
|
|
|
|
if(eInterLineSpace == SVX_INTER_LINE_SPACE_FIX)
|
|
|
|
{
|
|
|
|
aLSp.Mode = style::LineSpacingMode::LEADING;
|
2014-04-04 13:39:38 +03:00
|
|
|
aLSp.Height = ( bConvert ? (short)convertTwipToMm100(nInterLineSpace) : nInterLineSpace);
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
else if(eInterLineSpace == SVX_INTER_LINE_SPACE_OFF)
|
|
|
|
{
|
|
|
|
aLSp.Mode = style::LineSpacingMode::PROP;
|
|
|
|
aLSp.Height = 100;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
aLSp.Mode = style::LineSpacingMode::PROP;
|
|
|
|
aLSp.Height = nPropLineSpace;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case SVX_LINE_SPACE_FIX :
|
|
|
|
case SVX_LINE_SPACE_MIN :
|
|
|
|
aLSp.Mode = eLineSpace == SVX_LINE_SPACE_FIX ? style::LineSpacingMode::FIX : style::LineSpacingMode::MINIMUM;
|
2014-04-04 13:39:38 +03:00
|
|
|
aLSp.Height = ( bConvert ? (short)convertTwipToMm100(nLineHeight) : nLineHeight );
|
2000-09-18 16:07:07 +00:00
|
|
|
break;
|
2006-06-19 15:14:15 +00:00
|
|
|
default:
|
|
|
|
;//prevent warning about SVX_LINE_SPACE_END
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2002-05-22 11:05:15 +00:00
|
|
|
|
|
|
|
switch ( nMemberId )
|
|
|
|
{
|
|
|
|
case 0 : rVal <<= aLSp; break;
|
|
|
|
case MID_LINESPACE : rVal <<= aLSp.Mode; break;
|
|
|
|
case MID_HEIGHT : rVal <<= aLSp.Height; break;
|
2011-03-01 19:07:44 +01:00
|
|
|
default: OSL_FAIL("Wrong MemberId!"); break;
|
2002-05-22 11:05:15 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2010-10-04 15:23:49 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxLineSpacingItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
|
|
|
|
|
|
|
// fill with current data
|
2000-09-18 16:07:07 +00:00
|
|
|
style::LineSpacing aLSp;
|
2002-05-22 11:05:15 +00:00
|
|
|
uno::Any aAny;
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bRet = QueryValue( aAny, bConvert ? CONVERT_TWIPS : 0 ) && ( aAny >>= aLSp );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2002-05-22 11:05:15 +00:00
|
|
|
// get new data
|
|
|
|
switch ( nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
case 0 : bRet = (rVal >>= aLSp); break;
|
|
|
|
case MID_LINESPACE : bRet = (rVal >>= aLSp.Mode); break;
|
|
|
|
case MID_HEIGHT : bRet = (rVal >>= aLSp.Height); break;
|
2011-03-01 19:07:44 +01:00
|
|
|
default: OSL_FAIL("Wrong MemberId!"); break;
|
2002-05-22 11:05:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if( bRet )
|
|
|
|
{
|
|
|
|
nLineHeight = aLSp.Height;
|
|
|
|
switch( aLSp.Mode )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
case style::LineSpacingMode::LEADING:
|
|
|
|
{
|
|
|
|
eInterLineSpace = SVX_INTER_LINE_SPACE_FIX;
|
|
|
|
eLineSpace = SVX_LINE_SPACE_AUTO;
|
|
|
|
nInterLineSpace = aLSp.Height;
|
2005-10-24 14:39:16 +00:00
|
|
|
if(bConvert)
|
2014-04-04 13:39:38 +03:00
|
|
|
nInterLineSpace = (short)convertMm100ToTwip(nInterLineSpace);
|
2005-10-24 14:39:16 +00:00
|
|
|
|
2002-05-22 11:05:15 +00:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case style::LineSpacingMode::PROP:
|
|
|
|
{
|
|
|
|
eLineSpace = SVX_LINE_SPACE_AUTO;
|
2013-11-12 11:29:34 +05:30
|
|
|
nPropLineSpace = (sal_Int16)aLSp.Height;
|
2002-05-22 11:05:15 +00:00
|
|
|
if(100 == aLSp.Height)
|
|
|
|
eInterLineSpace = SVX_INTER_LINE_SPACE_OFF;
|
|
|
|
else
|
|
|
|
eInterLineSpace = SVX_INTER_LINE_SPACE_PROP;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case style::LineSpacingMode::FIX:
|
|
|
|
case style::LineSpacingMode::MINIMUM:
|
|
|
|
{
|
|
|
|
eInterLineSpace = SVX_INTER_LINE_SPACE_OFF;
|
|
|
|
eLineSpace = aLSp.Mode == style::LineSpacingMode::FIX ? SVX_LINE_SPACE_FIX : SVX_LINE_SPACE_MIN;
|
|
|
|
nLineHeight = aLSp.Height;
|
2002-07-23 09:34:23 +00:00
|
|
|
if(bConvert)
|
2014-04-04 13:39:38 +03:00
|
|
|
nLineHeight = (sal_uInt16)convertMm100ToTwip(nLineHeight);
|
2002-05-22 11:05:15 +00:00
|
|
|
}
|
|
|
|
break;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
2002-05-22 11:05:15 +00:00
|
|
|
|
|
|
|
return bRet;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxLineSpacingItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxLineSpacingItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxLineSpacingItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxItemPresentation /*ePres*/,
|
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
2009-07-10 14:03:42 +02:00
|
|
|
#ifdef DBG_UTIL
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = "SvxLineSpacingItem";
|
2000-09-18 16:07:07 +00:00
|
|
|
#else
|
2014-11-12 14:24:10 +05:30
|
|
|
rText.clear();
|
2000-09-18 16:07:07 +00:00
|
|
|
#endif
|
2014-07-24 11:31:39 +02:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxLineSpacingItem::Create(SvStream& rStrm, sal_uInt16) const
|
|
|
|
{
|
|
|
|
sal_Int8 nPropSpace;
|
|
|
|
short nInterSpace;
|
|
|
|
sal_uInt16 nHeight;
|
|
|
|
sal_Int8 nRule, nInterRule;
|
|
|
|
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( nPropSpace )
|
|
|
|
.ReadInt16( nInterSpace )
|
|
|
|
.ReadUInt16( nHeight )
|
|
|
|
.ReadSChar( nRule )
|
|
|
|
.ReadSChar( nInterRule );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvxLineSpacingItem* pAttr = new SvxLineSpacingItem( nHeight, Which() );
|
|
|
|
pAttr->SetInterLineSpace( nInterSpace );
|
|
|
|
pAttr->SetPropLineSpace( nPropSpace );
|
|
|
|
pAttr->GetLineSpaceRule() = (SvxLineSpace)nRule;
|
|
|
|
pAttr->GetInterLineSpaceRule() = (SvxInterLineSpace)nInterRule;
|
|
|
|
return pAttr;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxLineSpacingItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2015-01-16 08:07:06 +02:00
|
|
|
rStrm.WriteSChar( GetPropLineSpace() )
|
|
|
|
.WriteInt16( GetInterLineSpace() )
|
2014-09-25 17:56:24 +02:00
|
|
|
.WriteUInt16( GetLineHeight() )
|
2015-01-16 08:07:06 +02:00
|
|
|
.WriteSChar( GetLineSpaceRule() )
|
|
|
|
.WriteSChar( GetInterLineSpaceRule() );
|
2000-09-18 16:07:07 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxLineSpacingItem::GetValueCount() const
|
|
|
|
{
|
|
|
|
return SVX_LINESPACE_END; // SVX_LINESPACE_TWO_LINES + 1
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString SvxLineSpacingItem::GetValueTextByPos( sal_uInt16 nPos ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2011-02-16 16:34:02 -05:00
|
|
|
//! load strings from resource
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aText;
|
2000-09-18 16:07:07 +00:00
|
|
|
switch ( nPos )
|
|
|
|
{
|
2012-04-16 07:50:35 +01:00
|
|
|
case SVX_LINESPACE_USER:
|
|
|
|
aText = "User";
|
|
|
|
break;
|
|
|
|
case SVX_LINESPACE_ONE_LINE:
|
|
|
|
aText = "One line";
|
|
|
|
break;
|
|
|
|
case SVX_LINESPACE_ONE_POINT_FIVE_LINES:
|
|
|
|
aText = "1.5 line";
|
|
|
|
break;
|
|
|
|
case SVX_LINESPACE_TWO_LINES:
|
|
|
|
aText = "Two lines";
|
|
|
|
break;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
return aText;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxLineSpacingItem::GetEnumValue() const
|
|
|
|
{
|
|
|
|
sal_uInt16 nVal;
|
|
|
|
switch ( nPropLineSpace )
|
|
|
|
{
|
|
|
|
case 100: nVal = SVX_LINESPACE_ONE_LINE; break;
|
|
|
|
case 150: nVal = SVX_LINESPACE_ONE_POINT_FIVE_LINES; break;
|
|
|
|
case 200: nVal = SVX_LINESPACE_TWO_LINES; break;
|
|
|
|
default: nVal = SVX_LINESPACE_USER; break;
|
|
|
|
}
|
|
|
|
return nVal;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
void SvxLineSpacingItem::SetEnumValue( sal_uInt16 nVal )
|
|
|
|
{
|
|
|
|
switch ( nVal )
|
|
|
|
{
|
|
|
|
case SVX_LINESPACE_ONE_LINE: nPropLineSpace = 100; break;
|
|
|
|
case SVX_LINESPACE_ONE_POINT_FIVE_LINES: nPropLineSpace = 150; break;
|
|
|
|
case SVX_LINESPACE_TWO_LINES: nPropLineSpace = 200; break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxAdjustItem ---------------------------------------------------
|
|
|
|
|
|
|
|
SvxAdjustItem::SvxAdjustItem(const SvxAdjust eAdjst, const sal_uInt16 nId )
|
|
|
|
: SfxEnumItemInterface( nId ),
|
2014-02-19 13:58:15 +02:00
|
|
|
bOneBlock( false ), bLastCenter( false ), bLastBlock( false )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
SetAdjust( eAdjst );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-01-10 17:01:52 +01:00
|
|
|
bool SvxAdjustItem::operator==( const SfxPoolItem& rAttr ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
|
|
|
|
|
2014-09-30 09:02:35 +02:00
|
|
|
const SvxAdjustItem& rItem = static_cast<const SvxAdjustItem&>(rAttr);
|
|
|
|
return GetAdjust() == rItem.GetAdjust() &&
|
|
|
|
bOneBlock == rItem.bOneBlock &&
|
|
|
|
bLastCenter == rItem.bLastCenter &&
|
|
|
|
bLastBlock == rItem.bLastBlock;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxAdjustItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
2000-09-18 16:07:07 +00:00
|
|
|
switch( nMemberId )
|
|
|
|
{
|
2000-11-02 10:08:33 +00:00
|
|
|
case MID_PARA_ADJUST : rVal <<= (sal_Int16)GetAdjust(); break;
|
|
|
|
case MID_LAST_LINE_ADJUST : rVal <<= (sal_Int16)GetLastBlock(); break;
|
2000-09-18 16:07:07 +00:00
|
|
|
case MID_EXPAND_SINGLE :
|
|
|
|
{
|
|
|
|
sal_Bool bValue = bOneBlock;
|
2015-04-01 08:38:49 +02:00
|
|
|
rVal.setValue( &bValue, cppu::UnoType<bool>::get() );
|
2000-09-18 16:07:07 +00:00
|
|
|
break;
|
|
|
|
}
|
2006-06-19 15:14:15 +00:00
|
|
|
default: ;//prevent warning
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2010-10-04 15:23:49 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxAdjustItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
2000-09-18 16:07:07 +00:00
|
|
|
switch( nMemberId )
|
|
|
|
{
|
|
|
|
case MID_PARA_ADJUST :
|
|
|
|
case MID_LAST_LINE_ADJUST :
|
|
|
|
{
|
|
|
|
sal_Int32 eVal = - 1;
|
|
|
|
try
|
|
|
|
{
|
2000-10-23 11:08:49 +00:00
|
|
|
eVal = ::comphelper::getEnumAsINT32(rVal);
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
catch(...) {}
|
2000-10-16 06:21:21 +00:00
|
|
|
if(eVal >= 0 && eVal <= 4)
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2000-10-16 06:21:21 +00:00
|
|
|
if(MID_LAST_LINE_ADJUST == nMemberId &&
|
2000-11-02 10:08:33 +00:00
|
|
|
eVal != SVX_ADJUST_LEFT &&
|
|
|
|
eVal != SVX_ADJUST_BLOCK &&
|
|
|
|
eVal != SVX_ADJUST_CENTER)
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
if(eVal < (sal_uInt16)SVX_ADJUST_END)
|
|
|
|
nMemberId == MID_PARA_ADJUST ?
|
|
|
|
SetAdjust((SvxAdjust)eVal) :
|
|
|
|
SetLastBlock((SvxAdjust)eVal);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case MID_EXPAND_SINGLE :
|
|
|
|
bOneBlock = Any2Bool(rVal);
|
|
|
|
break;
|
|
|
|
}
|
2010-10-04 15:23:49 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxAdjustItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxAdjustItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxAdjustItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
|
|
|
switch ( ePres )
|
|
|
|
{
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
|
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
|
|
|
rText = GetValueTextByPos( (sal_uInt16)GetAdjust() );
|
2014-07-24 11:31:39 +02:00
|
|
|
return true;
|
2006-06-19 15:14:15 +00:00
|
|
|
default: ;//prevent warning
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-07-24 11:31:39 +02:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxAdjustItem::GetValueCount() const
|
|
|
|
{
|
|
|
|
return SVX_ADJUST_END; // SVX_ADJUST_BLOCKLINE + 1
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString SvxAdjustItem::GetValueTextByPos( sal_uInt16 nPos ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( nPos <= (sal_uInt16)SVX_ADJUST_BLOCKLINE, "enum overflow!" );
|
2010-01-06 19:26:54 +01:00
|
|
|
return EE_RESSTR(RID_SVXITEMS_ADJUST_BEGIN + nPos);
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxAdjustItem::GetEnumValue() const
|
|
|
|
{
|
2006-10-12 11:55:21 +00:00
|
|
|
return (sal_uInt16)GetAdjust();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
void SvxAdjustItem::SetEnumValue( sal_uInt16 nVal )
|
|
|
|
{
|
|
|
|
SetAdjust( (const SvxAdjust)nVal );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxAdjustItem::GetVersion( sal_uInt16 nFileVersion ) const
|
|
|
|
{
|
|
|
|
return (nFileVersion == SOFFICE_FILEFORMAT_31)
|
|
|
|
? 0 : ADJUST_LASTBLOCK_VERSION;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxAdjustItem::Create(SvStream& rStrm, sal_uInt16 nVersion) const
|
|
|
|
{
|
|
|
|
char eAdjustment;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadChar( eAdjustment );
|
2000-09-18 16:07:07 +00:00
|
|
|
SvxAdjustItem *pRet = new SvxAdjustItem( (SvxAdjust)eAdjustment, Which() );
|
|
|
|
if( nVersion >= ADJUST_LASTBLOCK_VERSION )
|
|
|
|
{
|
|
|
|
sal_Int8 nFlags;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( nFlags );
|
2000-09-18 16:07:07 +00:00
|
|
|
pRet->bOneBlock = 0 != (nFlags & 0x0001);
|
|
|
|
pRet->bLastCenter = 0 != (nFlags & 0x0002);
|
|
|
|
pRet->bLastBlock = 0 != (nFlags & 0x0004);
|
|
|
|
}
|
|
|
|
return pRet;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvStream& SvxAdjustItem::Store( SvStream& rStrm, sal_uInt16 nItemVersion ) const
|
|
|
|
{
|
2014-01-08 08:48:26 +02:00
|
|
|
rStrm.WriteChar( (char)GetAdjust() );
|
2000-09-18 16:07:07 +00:00
|
|
|
if ( nItemVersion >= ADJUST_LASTBLOCK_VERSION )
|
|
|
|
{
|
|
|
|
sal_Int8 nFlags = 0;
|
|
|
|
if ( bOneBlock )
|
|
|
|
nFlags |= 0x0001;
|
|
|
|
if ( bLastCenter )
|
|
|
|
nFlags |= 0x0002;
|
|
|
|
if ( bLastBlock )
|
|
|
|
nFlags |= 0x0004;
|
2015-01-16 08:07:06 +02:00
|
|
|
rStrm.WriteSChar( nFlags );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxWidowsItem ---------------------------------------------------
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SvxWidowsItem::SvxWidowsItem(const sal_uInt8 nL, const sal_uInt16 nId ) :
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxByteItem( nId, nL )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxWidowsItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxWidowsItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxWidowsItem::Create(SvStream& rStrm, sal_uInt16) const
|
|
|
|
{
|
|
|
|
sal_Int8 nLines;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( nLines );
|
2000-09-18 16:07:07 +00:00
|
|
|
return new SvxWidowsItem( nLines, Which() );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxWidowsItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-09-25 06:11:21 +02:00
|
|
|
rStrm.WriteSChar( GetValue() );
|
2000-09-18 16:07:07 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxWidowsItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
|
|
|
switch ( ePres )
|
|
|
|
{
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
2007-04-19 08:17:43 +00:00
|
|
|
{
|
2010-01-06 19:26:54 +01:00
|
|
|
rText = EE_RESSTR(RID_SVXITEMS_LINES);
|
2007-04-19 08:17:43 +00:00
|
|
|
break;
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
2007-04-19 08:17:43 +00:00
|
|
|
{
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = EE_RESSTR(RID_SVXITEMS_WIDOWS_COMPLETE) + " " + EE_RESSTR(RID_SVXITEMS_LINES);
|
2014-02-12 09:54:23 +02:00
|
|
|
break;
|
2007-04-19 08:17:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
default:
|
|
|
|
{
|
2012-01-16 23:15:55 +01:00
|
|
|
SAL_WARN( "editeng.items", "SvxWidowsItem::GetPresentation(): unknown SfxItemPresentation" );
|
2007-04-19 08:17:43 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2007-04-19 08:17:43 +00:00
|
|
|
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = rText.replaceFirst( "%1", OUString::number( GetValue() ) );
|
2014-07-24 15:43:00 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxOrphansItem --------------------------------------------------
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SvxOrphansItem::SvxOrphansItem(const sal_uInt8 nL, const sal_uInt16 nId ) :
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxByteItem( nId, nL )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxOrphansItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxOrphansItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxOrphansItem::Create(SvStream& rStrm, sal_uInt16) const
|
|
|
|
{
|
|
|
|
sal_Int8 nLines;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( nLines );
|
2000-09-18 16:07:07 +00:00
|
|
|
return new SvxOrphansItem( nLines, Which() );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxOrphansItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2015-01-16 08:07:06 +02:00
|
|
|
rStrm.WriteSChar( GetValue() );
|
2000-09-18 16:07:07 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxOrphansItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
|
|
|
switch ( ePres )
|
|
|
|
{
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
2007-04-19 08:17:43 +00:00
|
|
|
{
|
2010-01-06 19:26:54 +01:00
|
|
|
rText = EE_RESSTR(RID_SVXITEMS_LINES);
|
2007-04-19 08:17:43 +00:00
|
|
|
break;
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
2007-04-19 08:17:43 +00:00
|
|
|
{
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = EE_RESSTR(RID_SVXITEMS_ORPHANS_COMPLETE) + " " + EE_RESSTR(RID_SVXITEMS_LINES);
|
2014-02-12 09:55:56 +02:00
|
|
|
break;
|
2007-04-19 08:17:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
default:
|
|
|
|
{
|
2012-01-16 23:15:55 +01:00
|
|
|
SAL_WARN( "editeng.items", "SvxOrphansItem::GetPresentation(): unknown SfxItemPresentation" );
|
2007-04-19 08:17:43 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2007-04-19 08:17:43 +00:00
|
|
|
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = rText.replaceFirst( "%1", OUString::number( GetValue() ) );
|
2014-07-24 15:43:00 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxHyphenZoneItem -----------------------------------------------
|
|
|
|
|
2014-02-21 10:01:27 +02:00
|
|
|
SvxHyphenZoneItem::SvxHyphenZoneItem( const bool bHyph, const sal_uInt16 nId ) :
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxPoolItem( nId )
|
|
|
|
{
|
|
|
|
bHyphen = bHyph;
|
2014-02-21 10:01:27 +02:00
|
|
|
bPageEnd = true;
|
2000-09-18 16:07:07 +00:00
|
|
|
nMinLead = nMinTrail = 0;
|
|
|
|
nMaxHyphens = 255;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxHyphenZoneItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
2000-09-18 16:07:07 +00:00
|
|
|
switch(nMemberId)
|
|
|
|
{
|
|
|
|
case MID_IS_HYPHEN:
|
|
|
|
rVal = Bool2Any(bHyphen);
|
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MIN_LEAD:
|
|
|
|
rVal <<= (sal_Int16)nMinLead;
|
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MIN_TRAIL:
|
|
|
|
rVal <<= (sal_Int16)nMinTrail;
|
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MAX_HYPHENS:
|
|
|
|
rVal <<= (sal_Int16)nMaxHyphens;
|
|
|
|
break;
|
|
|
|
}
|
2010-10-04 15:23:49 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxHyphenZoneItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Int16 nNewVal = 0;
|
|
|
|
|
|
|
|
if( nMemberId != MID_IS_HYPHEN )
|
|
|
|
if(!(rVal >>= nNewVal))
|
2010-10-04 15:23:49 +01:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
switch(nMemberId)
|
|
|
|
{
|
|
|
|
case MID_IS_HYPHEN:
|
|
|
|
bHyphen = Any2Bool(rVal);
|
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MIN_LEAD:
|
2011-01-13 14:12:48 +01:00
|
|
|
nMinLead = (sal_uInt8)nNewVal;
|
2000-09-18 16:07:07 +00:00
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MIN_TRAIL:
|
2011-01-13 14:12:48 +01:00
|
|
|
nMinTrail = (sal_uInt8)nNewVal;
|
2000-09-18 16:07:07 +00:00
|
|
|
break;
|
|
|
|
case MID_HYPHEN_MAX_HYPHENS:
|
2011-01-13 14:12:48 +01:00
|
|
|
nMaxHyphens = (sal_uInt8)nNewVal;
|
2000-09-18 16:07:07 +00:00
|
|
|
break;
|
|
|
|
}
|
2010-10-04 15:23:49 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-01-10 17:01:52 +01:00
|
|
|
bool SvxHyphenZoneItem::operator==( const SfxPoolItem& rAttr ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
|
|
|
|
|
2014-09-30 09:02:35 +02:00
|
|
|
const SvxHyphenZoneItem& rItem = static_cast<const SvxHyphenZoneItem&>(rAttr);
|
|
|
|
return ( rItem.bHyphen == bHyphen
|
|
|
|
&& rItem.bPageEnd == bPageEnd
|
|
|
|
&& rItem.nMinLead == nMinLead
|
|
|
|
&& rItem.nMinTrail == nMinTrail
|
|
|
|
&& rItem.nMaxHyphens == nMaxHyphens );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxHyphenZoneItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxHyphenZoneItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxHyphenZoneItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString cpDelimTmp(cpDelim);
|
2000-09-18 16:07:07 +00:00
|
|
|
switch ( ePres )
|
|
|
|
{
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
|
|
|
{
|
|
|
|
sal_uInt16 nId = RID_SVXITEMS_HYPHEN_FALSE;
|
|
|
|
|
|
|
|
if ( bHyphen )
|
|
|
|
nId = RID_SVXITEMS_HYPHEN_TRUE;
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = EE_RESSTR(nId) + cpDelimTmp;
|
2000-09-18 16:07:07 +00:00
|
|
|
nId = RID_SVXITEMS_PAGE_END_FALSE;
|
|
|
|
|
|
|
|
if ( bPageEnd )
|
|
|
|
nId = RID_SVXITEMS_PAGE_END_TRUE;
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = rText + EE_RESSTR(nId) + cpDelimTmp +
|
|
|
|
OUString::number( nMinLead ) + cpDelimTmp +
|
|
|
|
OUString::number( nMinTrail ) + cpDelimTmp +
|
|
|
|
OUString::number( nMaxHyphens );
|
2014-07-24 11:31:39 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
|
|
|
{
|
|
|
|
sal_uInt16 nId = RID_SVXITEMS_HYPHEN_FALSE;
|
|
|
|
|
|
|
|
if ( bHyphen )
|
|
|
|
nId = RID_SVXITEMS_HYPHEN_TRUE;
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = EE_RESSTR(nId) + cpDelimTmp;
|
2000-09-18 16:07:07 +00:00
|
|
|
nId = RID_SVXITEMS_PAGE_END_FALSE;
|
|
|
|
|
|
|
|
if ( bPageEnd )
|
|
|
|
nId = RID_SVXITEMS_PAGE_END_TRUE;
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = rText +
|
|
|
|
EE_RESSTR(nId) +
|
|
|
|
cpDelimTmp +
|
2013-03-13 15:04:03 +00:00
|
|
|
EE_RESSTR(RID_SVXITEMS_HYPHEN_MINLEAD).replaceAll("%1", OUString::number(nMinLead)) +
|
2013-01-23 12:41:52 +01:00
|
|
|
cpDelimTmp +
|
2013-03-13 15:04:03 +00:00
|
|
|
EE_RESSTR(RID_SVXITEMS_HYPHEN_MINTRAIL).replaceAll("%1", OUString::number(nMinTrail)) +
|
2013-01-23 12:41:52 +01:00
|
|
|
cpDelimTmp +
|
2013-03-13 15:04:03 +00:00
|
|
|
EE_RESSTR(RID_SVXITEMS_HYPHEN_MAX).replaceAll("%1", OUString::number(nMaxHyphens));
|
2014-07-24 11:31:39 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2006-06-19 15:14:15 +00:00
|
|
|
default: ;//prevent warning
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-07-24 11:31:39 +02:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxHyphenZoneItem::Create(SvStream& rStrm, sal_uInt16) const
|
|
|
|
{
|
2006-06-19 15:14:15 +00:00
|
|
|
sal_Int8 _bHyphen, _bHyphenPageEnd;
|
|
|
|
sal_Int8 _nMinLead, _nMinTrail, _nMaxHyphens;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( _bHyphen ).ReadSChar( _bHyphenPageEnd ).ReadSChar( _nMinLead ).ReadSChar( _nMinTrail ).ReadSChar( _nMaxHyphens );
|
2014-02-21 10:01:27 +02:00
|
|
|
SvxHyphenZoneItem* pAttr = new SvxHyphenZoneItem( false, Which() );
|
|
|
|
pAttr->SetHyphen( _bHyphen != 0 );
|
|
|
|
pAttr->SetPageEnd( _bHyphenPageEnd != 0 );
|
2006-06-19 15:14:15 +00:00
|
|
|
pAttr->GetMinLead() = _nMinLead;
|
|
|
|
pAttr->GetMinTrail() = _nMinTrail;
|
|
|
|
pAttr->GetMaxHyphens() = _nMaxHyphens;
|
2000-09-18 16:07:07 +00:00
|
|
|
return pAttr;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxHyphenZoneItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2015-01-16 08:07:06 +02:00
|
|
|
rStrm.WriteSChar( (sal_Int8) IsHyphen() )
|
|
|
|
.WriteSChar( (sal_Int8) IsPageEnd() )
|
|
|
|
.WriteSChar( GetMinLead() )
|
|
|
|
.WriteSChar( GetMinTrail() )
|
|
|
|
.WriteSChar( GetMaxHyphens() );
|
2000-09-18 16:07:07 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxTabStop ------------------------------------------------------
|
|
|
|
|
|
|
|
SvxTabStop::SvxTabStop()
|
|
|
|
{
|
|
|
|
nTabPos = 0;
|
|
|
|
eAdjustment = SVX_TAB_ADJUST_LEFT;
|
2009-09-08 04:57:32 +00:00
|
|
|
m_cDecimal = cDfltDecimalChar;
|
2000-09-18 16:07:07 +00:00
|
|
|
cFill = cDfltFillChar;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2011-06-13 11:35:14 +01:00
|
|
|
SvxTabStop::SvxTabStop( const sal_Int32 nPos, const SvxTabAdjust eAdjst,
|
2000-09-18 16:07:07 +00:00
|
|
|
const sal_Unicode cDec, const sal_Unicode cFil )
|
|
|
|
{
|
|
|
|
nTabPos = nPos;
|
|
|
|
eAdjustment = eAdjst;
|
2009-09-08 04:57:32 +00:00
|
|
|
m_cDecimal = cDec;
|
2000-09-18 16:07:07 +00:00
|
|
|
cFill = cFil;
|
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2009-09-08 04:57:32 +00:00
|
|
|
void SvxTabStop::fillDecimal() const
|
|
|
|
{
|
|
|
|
if ( cDfltDecimalChar == m_cDecimal )
|
2012-06-17 21:01:05 +01:00
|
|
|
m_cDecimal = SvtSysLocale().GetLocaleData().getNumDecimalSep()[0];
|
2009-09-08 04:57:32 +00:00
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2013-06-13 22:07:41 +02:00
|
|
|
OUString SvxTabStop::GetValueString() const
|
|
|
|
{
|
|
|
|
OUString aStr = "("
|
|
|
|
+ OUString::number(nTabPos)
|
|
|
|
+ ", "
|
|
|
|
+ EE_RESSTR(RID_SVXITEMS_TAB_ADJUST_BEGIN + (sal_uInt16)eAdjustment)
|
|
|
|
+ ", ["
|
|
|
|
+ EE_RESSTR(RID_SVXITEMS_TAB_DECIMAL_CHAR)
|
|
|
|
+ OUString(GetDecimal())
|
|
|
|
+ "], , ["
|
|
|
|
+ EE_RESSTR(RID_SVXITEMS_TAB_FILL_CHAR)
|
|
|
|
+ OUString(cFill)
|
|
|
|
+ "])";
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
return aStr;
|
|
|
|
}
|
|
|
|
|
|
|
|
// class SvxTabStopItem --------------------------------------------------
|
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvxTabStopItem::SvxTabStopItem( sal_uInt16 _nWhich ) :
|
|
|
|
SfxPoolItem( _nWhich ),
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
const sal_uInt16 nTabs = SVX_TAB_DEFCOUNT, nDist = SVX_TAB_DEFDIST;
|
|
|
|
const SvxTabAdjust eAdjst= SVX_TAB_ADJUST_DEFAULT;
|
|
|
|
|
2002-05-10 20:22:22 +00:00
|
|
|
for (sal_uInt16 i = 0; i < nTabs; ++i)
|
2002-05-16 15:09:59 +00:00
|
|
|
{
|
2006-01-10 13:01:31 +00:00
|
|
|
SvxTabStop aTab( (i + 1) * nDist, eAdjst );
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops.insert( aTab );
|
2002-05-16 15:09:59 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvxTabStopItem::SvxTabStopItem( const sal_uInt16 nTabs,
|
|
|
|
const sal_uInt16 nDist,
|
|
|
|
const SvxTabAdjust eAdjst,
|
2006-06-19 15:14:15 +00:00
|
|
|
sal_uInt16 _nWhich ) :
|
|
|
|
SfxPoolItem( _nWhich ),
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops()
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2002-05-10 20:22:22 +00:00
|
|
|
for ( sal_uInt16 i = 0; i < nTabs; ++i )
|
2002-05-16 15:09:59 +00:00
|
|
|
{
|
2006-01-10 13:01:31 +00:00
|
|
|
SvxTabStop aTab( (i + 1) * nDist, eAdjst );
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops.insert( aTab );
|
2002-05-16 15:09:59 +00:00
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvxTabStopItem::SvxTabStopItem( const SvxTabStopItem& rTSI ) :
|
|
|
|
SfxPoolItem( rTSI.Which() ),
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops( rTSI.maTabStops )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_uInt16 SvxTabStopItem::GetPos( const SvxTabStop& rTab ) const
|
|
|
|
{
|
2012-07-19 14:26:38 +02:00
|
|
|
SvxTabStopArr::const_iterator it = maTabStops.find( rTab );
|
|
|
|
return it != maTabStops.end() ? it - maTabStops.begin() : SVX_TAB_NOTFOUND;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2011-06-13 11:35:14 +01:00
|
|
|
sal_uInt16 SvxTabStopItem::GetPos( const sal_Int32 nPos ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2012-07-19 14:26:38 +02:00
|
|
|
SvxTabStopArr::const_iterator it = maTabStops.find( SvxTabStop( nPos ) );
|
|
|
|
return it != maTabStops.end() ? it - maTabStops.begin() : SVX_TAB_NOTFOUND;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SvxTabStopItem& SvxTabStopItem::operator=( const SvxTabStopItem& rTSI )
|
|
|
|
{
|
2012-07-26 14:21:59 +02:00
|
|
|
maTabStops = rTSI.maTabStops;
|
2000-09-18 16:07:07 +00:00
|
|
|
return *this;
|
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxTabStopItem::QueryValue( uno::Any& rVal, sal_uInt8 nMemberId ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
|
|
|
switch ( nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-03-22 14:23:23 +00:00
|
|
|
case MID_TABSTOPS:
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-03-22 14:23:23 +00:00
|
|
|
sal_uInt16 nCount = Count();
|
|
|
|
uno::Sequence< style::TabStop> aSeq(nCount);
|
|
|
|
style::TabStop* pArr = aSeq.getArray();
|
|
|
|
for(sal_uInt16 i = 0; i < nCount; i++)
|
|
|
|
{
|
2012-07-19 14:26:38 +02:00
|
|
|
const SvxTabStop& rTab = (*this)[i];
|
2014-04-04 13:39:38 +03:00
|
|
|
pArr[i].Position = bConvert ? convertTwipToMm100(rTab.GetTabPos()) : rTab.GetTabPos();
|
2001-03-22 14:23:23 +00:00
|
|
|
switch(rTab.GetAdjustment())
|
|
|
|
{
|
|
|
|
case SVX_TAB_ADJUST_LEFT : pArr[i].Alignment = style::TabAlign_LEFT; break;
|
|
|
|
case SVX_TAB_ADJUST_RIGHT : pArr[i].Alignment = style::TabAlign_RIGHT; break;
|
|
|
|
case SVX_TAB_ADJUST_DECIMAL: pArr[i].Alignment = style::TabAlign_DECIMAL; break;
|
|
|
|
case SVX_TAB_ADJUST_CENTER : pArr[i].Alignment = style::TabAlign_CENTER; break;
|
|
|
|
default: //SVX_TAB_ADJUST_DEFAULT
|
|
|
|
pArr[i].Alignment = style::TabAlign_DEFAULT;
|
|
|
|
|
|
|
|
}
|
|
|
|
pArr[i].DecimalChar = rTab.GetDecimal();
|
|
|
|
pArr[i].FillChar = rTab.GetFill();
|
|
|
|
}
|
|
|
|
rVal <<= aSeq;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case MID_STD_TAB:
|
|
|
|
{
|
2012-07-19 14:26:38 +02:00
|
|
|
const SvxTabStop &rTab = maTabStops.front();
|
2014-04-04 13:39:38 +03:00
|
|
|
rVal <<= (static_cast<sal_Int32>(bConvert ? convertTwipToMm100(rTab.GetTabPos()) : rTab.GetTabPos()));
|
2001-03-22 14:23:23 +00:00
|
|
|
break;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
2014-01-28 19:56:48 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxTabStopItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bConvert = 0!=(nMemberId&CONVERT_TWIPS);
|
2002-05-22 11:05:15 +00:00
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
|
|
|
switch ( nMemberId )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2001-03-22 14:23:23 +00:00
|
|
|
case MID_TABSTOPS:
|
|
|
|
{
|
|
|
|
uno::Sequence< style::TabStop> aSeq;
|
|
|
|
if(!(rVal >>= aSeq))
|
2002-06-19 16:16:29 +00:00
|
|
|
{
|
|
|
|
uno::Sequence < uno::Sequence < uno::Any > > aAnySeq;
|
|
|
|
if (!(rVal >>= aAnySeq))
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
sal_Int32 nLength = aAnySeq.getLength();
|
|
|
|
aSeq.realloc( nLength );
|
|
|
|
for ( sal_Int32 n=0; n<nLength; n++ )
|
|
|
|
{
|
|
|
|
uno::Sequence < uno::Any >& rAnySeq = aAnySeq[n];
|
|
|
|
if ( rAnySeq.getLength() == 4 )
|
|
|
|
{
|
2014-01-28 19:56:48 +01:00
|
|
|
if (!(rAnySeq[0] >>= aSeq[n].Position)) return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
if (!(rAnySeq[1] >>= aSeq[n].Alignment))
|
|
|
|
{
|
2006-11-21 16:10:50 +00:00
|
|
|
sal_Int32 nVal = 0;
|
2002-06-19 16:16:29 +00:00
|
|
|
if (rAnySeq[1] >>= nVal)
|
|
|
|
aSeq[n].Alignment = (com::sun::star::style::TabAlign) nVal;
|
|
|
|
else
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
}
|
|
|
|
if (!(rAnySeq[2] >>= aSeq[n].DecimalChar))
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aVal;
|
2002-06-19 16:16:29 +00:00
|
|
|
if ( (rAnySeq[2] >>= aVal) && aVal.getLength() == 1 )
|
|
|
|
aSeq[n].DecimalChar = aVal.toChar();
|
|
|
|
else
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
}
|
|
|
|
if (!(rAnySeq[3] >>= aSeq[n].FillChar))
|
|
|
|
{
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aVal;
|
2002-06-19 16:16:29 +00:00
|
|
|
if ( (rAnySeq[3] >>= aVal) && aVal.getLength() == 1 )
|
|
|
|
aSeq[n].FillChar = aVal.toChar();
|
|
|
|
else
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2002-06-19 16:16:29 +00:00
|
|
|
}
|
|
|
|
}
|
2001-03-22 14:23:23 +00:00
|
|
|
|
2012-07-19 14:26:38 +02:00
|
|
|
maTabStops.clear();
|
2001-03-22 14:23:23 +00:00
|
|
|
const style::TabStop* pArr = aSeq.getConstArray();
|
|
|
|
const sal_uInt16 nCount = (sal_uInt16)aSeq.getLength();
|
|
|
|
for(sal_uInt16 i = 0; i < nCount ; i++)
|
|
|
|
{
|
|
|
|
SvxTabAdjust eAdjust = SVX_TAB_ADJUST_DEFAULT;
|
|
|
|
switch(pArr[i].Alignment)
|
|
|
|
{
|
|
|
|
case style::TabAlign_LEFT : eAdjust = SVX_TAB_ADJUST_LEFT; break;
|
|
|
|
case style::TabAlign_CENTER : eAdjust = SVX_TAB_ADJUST_CENTER; break;
|
|
|
|
case style::TabAlign_RIGHT : eAdjust = SVX_TAB_ADJUST_RIGHT; break;
|
|
|
|
case style::TabAlign_DECIMAL: eAdjust = SVX_TAB_ADJUST_DECIMAL; break;
|
2006-06-19 15:14:15 +00:00
|
|
|
default: ;//prevent warning
|
2001-03-22 14:23:23 +00:00
|
|
|
}
|
|
|
|
sal_Unicode cFill = pArr[i].FillChar;
|
|
|
|
sal_Unicode cDecimal = pArr[i].DecimalChar;
|
2014-04-04 13:39:38 +03:00
|
|
|
SvxTabStop aTab( bConvert ? convertMm100ToTwip(pArr[i].Position) : pArr[i].Position,
|
2001-03-22 14:23:23 +00:00
|
|
|
eAdjust,
|
|
|
|
cDecimal,
|
|
|
|
cFill );
|
|
|
|
Insert(aTab);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
case MID_STD_TAB:
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2006-11-21 16:10:50 +00:00
|
|
|
sal_Int32 nNewPos = 0;
|
2001-03-22 14:23:23 +00:00
|
|
|
if (!(rVal >>= nNewPos) )
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2010-10-25 17:04:06 +01:00
|
|
|
if (bConvert)
|
2014-04-04 13:39:38 +03:00
|
|
|
nNewPos = convertMm100ToTwip ( nNewPos );
|
2010-10-25 17:04:06 +01:00
|
|
|
if (nNewPos <= 0)
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2012-07-19 14:26:38 +02:00
|
|
|
const SvxTabStop& rTab = maTabStops.front();
|
2010-10-25 17:04:06 +01:00
|
|
|
SvxTabStop aNewTab ( nNewPos, rTab.GetAdjustment(), rTab.GetDecimal(), rTab.GetFill() );
|
2012-07-19 14:26:38 +02:00
|
|
|
Remove( 0 );
|
2001-03-22 14:23:23 +00:00
|
|
|
Insert( aNewTab );
|
|
|
|
break;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
2014-01-28 19:56:48 +01:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-01-10 17:01:52 +01:00
|
|
|
bool SvxTabStopItem::operator==( const SfxPoolItem& rAttr ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
|
|
|
|
|
2014-09-30 09:02:35 +02:00
|
|
|
const SvxTabStopItem& rTSI = static_cast<const SvxTabStopItem&>(rAttr);
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
if ( Count() != rTSI.Count() )
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
for ( sal_uInt16 i = 0; i < Count(); ++i )
|
|
|
|
if( !(*this)[i].IsEqual( rTSI[i] ) )
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxTabStopItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxTabStopItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxTabStopItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
|
|
|
SfxMapUnit eCoreUnit,
|
|
|
|
SfxMapUnit ePresUnit,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *pIntl
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
2014-11-12 14:24:10 +05:30
|
|
|
rText.clear();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 15:43:00 +02:00
|
|
|
bool bComma = false;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 15:43:00 +02:00
|
|
|
for ( sal_uInt16 i = 0; i < Count(); ++i )
|
|
|
|
{
|
|
|
|
if ( SVX_TAB_ADJUST_DEFAULT != ((*this)[i]).GetAdjustment() )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
if ( bComma )
|
|
|
|
rText += ",";
|
|
|
|
rText += GetMetricText(
|
|
|
|
((*this)[i]).GetTabPos(), eCoreUnit, ePresUnit, pIntl );
|
|
|
|
if ( SFX_ITEM_PRESENTATION_COMPLETE == ePres )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
rText += " " + EE_RESSTR(GetMetricId(ePresUnit));
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-07-24 15:43:00 +02:00
|
|
|
bComma = true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
}
|
2014-07-24 15:43:00 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxTabStopItem::Create( SvStream& rStrm, sal_uInt16 ) const
|
|
|
|
{
|
|
|
|
sal_Int8 nTabs;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( nTabs );
|
2000-09-18 16:07:07 +00:00
|
|
|
SvxTabStopItem* pAttr =
|
|
|
|
new SvxTabStopItem( 0, 0, SVX_TAB_ADJUST_DEFAULT, Which() );
|
|
|
|
|
|
|
|
for ( sal_Int8 i = 0; i < nTabs; i++ )
|
|
|
|
{
|
2011-06-13 11:35:14 +01:00
|
|
|
sal_Int32 nPos(0);
|
2000-09-18 16:07:07 +00:00
|
|
|
sal_Int8 eAdjust;
|
|
|
|
unsigned char cDecimal, cFill;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadInt32( nPos ).ReadSChar( eAdjust ).ReadUChar( cDecimal ).ReadUChar( cFill );
|
2000-09-18 16:07:07 +00:00
|
|
|
if( !i || SVX_TAB_ADJUST_DEFAULT != eAdjust )
|
|
|
|
pAttr->Insert( SvxTabStop
|
|
|
|
( nPos, (SvxTabAdjust)eAdjust, sal_Unicode(cDecimal), sal_Unicode(cFill) ) );
|
|
|
|
}
|
|
|
|
return pAttr;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxTabStopItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2011-02-16 16:34:02 -05:00
|
|
|
// Default-Tabs are only expanded for the default Attribute. For complete
|
|
|
|
// backward compabillity (<=304) all tabs have to be expanded, this makes
|
|
|
|
// the files grow large in size. All only SWG!
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
const SfxItemPool *pPool = SfxItemPool::GetStoringPool();
|
2010-10-05 07:57:54 -05:00
|
|
|
const bool bStoreDefTabs = pPool
|
2014-01-21 15:53:55 +01:00
|
|
|
&& pPool->GetName() == "SWG"
|
2000-09-18 16:07:07 +00:00
|
|
|
&& ::IsDefaultItem( this );
|
|
|
|
|
|
|
|
const short nTabs = Count();
|
2006-10-12 11:55:21 +00:00
|
|
|
sal_uInt16 nCount = 0, nDefDist = 0;
|
2011-06-13 11:35:14 +01:00
|
|
|
sal_Int32 nNew = 0;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
if( bStoreDefTabs )
|
|
|
|
{
|
2014-09-30 09:02:35 +02:00
|
|
|
const SvxTabStopItem& rDefTab = static_cast<const SvxTabStopItem &>(
|
|
|
|
pPool->GetDefaultItem( pPool->GetWhich( SID_ATTR_TABSTOP, false ) ) );
|
2012-07-19 14:26:38 +02:00
|
|
|
nDefDist = sal_uInt16( rDefTab.maTabStops.front().GetTabPos() );
|
2011-06-13 11:35:14 +01:00
|
|
|
const sal_Int32 nPos = nTabs > 0 ? (*this)[nTabs-1].GetTabPos() : 0;
|
2000-09-18 16:07:07 +00:00
|
|
|
nCount = (sal_uInt16)(nPos / nDefDist);
|
|
|
|
nNew = (nCount + 1) * nDefDist;
|
|
|
|
|
|
|
|
if( nNew <= nPos + 50 )
|
|
|
|
nNew += nDefDist;
|
|
|
|
|
2011-06-13 11:35:14 +01:00
|
|
|
sal_Int32 lA3Width = SvxPaperInfo::GetPaperSize(PAPER_A3).Width();
|
2006-10-12 11:55:21 +00:00
|
|
|
nCount = (sal_uInt16)(nNew < lA3Width ? ( lA3Width - nNew ) / nDefDist + 1 : 0);
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2015-01-16 08:07:06 +02:00
|
|
|
rStrm.WriteSChar( nTabs + nCount );
|
2000-09-18 16:07:07 +00:00
|
|
|
for ( short i = 0; i < nTabs; i++ )
|
|
|
|
{
|
|
|
|
const SvxTabStop& rTab = (*this)[ i ];
|
2014-01-08 08:48:26 +02:00
|
|
|
rStrm.WriteInt32( rTab.GetTabPos() )
|
2015-01-16 08:07:06 +02:00
|
|
|
.WriteSChar( rTab.GetAdjustment() )
|
|
|
|
.WriteUChar( rTab.GetDecimal() )
|
|
|
|
.WriteUChar( rTab.GetFill() );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if ( bStoreDefTabs )
|
|
|
|
for( ; nCount; --nCount )
|
|
|
|
{
|
|
|
|
SvxTabStop aSwTabStop(nNew, SVX_TAB_ADJUST_DEFAULT);
|
2014-01-08 08:48:26 +02:00
|
|
|
rStrm.WriteInt32( aSwTabStop.GetTabPos() )
|
2015-01-16 08:07:06 +02:00
|
|
|
.WriteSChar( aSwTabStop.GetAdjustment() )
|
|
|
|
.WriteUChar( aSwTabStop.GetDecimal() )
|
|
|
|
.WriteUChar( aSwTabStop.GetFill() );
|
2000-09-18 16:07:07 +00:00
|
|
|
nNew += nDefDist;
|
|
|
|
}
|
|
|
|
|
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2012-07-19 14:26:38 +02:00
|
|
|
bool SvxTabStopItem::Insert( const SvxTabStop& rTab )
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
sal_uInt16 nTabPos = GetPos(rTab);
|
|
|
|
if(SVX_TAB_NOTFOUND != nTabPos )
|
|
|
|
Remove(nTabPos);
|
2012-07-19 14:26:38 +02:00
|
|
|
return maTabStops.insert( rTab ).second;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
void SvxTabStopItem::Insert( const SvxTabStopItem* pTabs, sal_uInt16 nStart,
|
|
|
|
sal_uInt16 nEnd )
|
|
|
|
{
|
|
|
|
for( sal_uInt16 i = nStart; i < nEnd && i < pTabs->Count(); i++ )
|
|
|
|
{
|
|
|
|
const SvxTabStop& rTab = (*pTabs)[i];
|
|
|
|
sal_uInt16 nTabPos = GetPos(rTab);
|
|
|
|
if(SVX_TAB_NOTFOUND != nTabPos)
|
|
|
|
Remove(nTabPos);
|
|
|
|
}
|
2012-07-19 14:26:38 +02:00
|
|
|
for( sal_uInt16 i = nStart; i < nEnd && i < pTabs->Count(); i++ )
|
|
|
|
{
|
|
|
|
maTabStops.insert( (*pTabs)[i] );
|
|
|
|
}
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// class SvxFmtSplitItem -------------------------------------------------
|
2001-02-02 10:42:20 +00:00
|
|
|
SvxFmtSplitItem::~SvxFmtSplitItem()
|
|
|
|
{
|
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
SfxPoolItem* SvxFmtSplitItem::Clone( SfxItemPool * ) const
|
|
|
|
{
|
|
|
|
return new SvxFmtSplitItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SvStream& SvxFmtSplitItem::Store( SvStream& rStrm, sal_uInt16 /*nItemVersion*/ ) const
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2014-01-08 08:48:26 +02:00
|
|
|
rStrm.WriteSChar( (sal_Int8)GetValue() );
|
2000-09-18 16:07:07 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxFmtSplitItem::Create( SvStream& rStrm, sal_uInt16 ) const
|
|
|
|
{
|
|
|
|
sal_Int8 bIsSplit;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadSChar( bIsSplit );
|
2014-02-26 12:53:18 +02:00
|
|
|
return new SvxFmtSplitItem( bIsSplit != 0, Which() );
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxFmtSplitItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
sal_uInt16 nId = RID_SVXITEMS_FMTSPLIT_FALSE;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-07-24 15:43:00 +02:00
|
|
|
if ( GetValue() )
|
|
|
|
nId = RID_SVXITEMS_FMTSPLIT_TRUE;
|
|
|
|
rText = EE_RESSTR(nId);
|
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
SfxPoolItem* SvxPageModelItem::Clone( SfxItemPool* ) const
|
|
|
|
{
|
|
|
|
return new SvxPageModelItem( *this );
|
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxPageModelItem::QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const
|
2002-05-27 13:35:24 +00:00
|
|
|
{
|
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
|
|
|
|
|
|
|
switch ( nMemberId )
|
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
case MID_AUTO: rVal <<= bAuto; break;
|
2013-04-07 12:06:47 +02:00
|
|
|
case MID_NAME: rVal <<= OUString( GetValue() ); break;
|
2014-01-28 19:56:48 +01:00
|
|
|
default: OSL_FAIL("Wrong MemberId!"); return false;
|
2002-05-27 13:35:24 +00:00
|
|
|
}
|
|
|
|
|
2014-01-28 19:56:48 +01:00
|
|
|
return true;
|
2002-05-27 13:35:24 +00:00
|
|
|
}
|
|
|
|
|
2011-03-12 02:42:58 +01:00
|
|
|
bool SvxPageModelItem::PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId )
|
2002-05-27 13:35:24 +00:00
|
|
|
{
|
|
|
|
nMemberId &= ~CONVERT_TWIPS;
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bRet;
|
2013-04-07 12:06:47 +02:00
|
|
|
OUString aStr;
|
2002-05-27 13:35:24 +00:00
|
|
|
switch ( nMemberId )
|
|
|
|
{
|
|
|
|
case MID_AUTO: bRet = ( rVal >>= bAuto ); break;
|
|
|
|
case MID_NAME: bRet = ( rVal >>= aStr ); if ( bRet ) SetValue(aStr); break;
|
2014-01-28 19:56:48 +01:00
|
|
|
default: OSL_FAIL("Wrong MemberId!"); return false;
|
2002-05-27 13:35:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return bRet;
|
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxPageModelItem::GetPresentation
|
2000-09-18 16:07:07 +00:00
|
|
|
(
|
|
|
|
SfxItemPresentation ePres,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreUnit*/,
|
|
|
|
SfxMapUnit /*ePresUnit*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString& rText, const IntlWrapper *
|
2000-09-18 16:07:07 +00:00
|
|
|
) const
|
|
|
|
{
|
2014-11-12 14:24:10 +05:30
|
|
|
rText.clear();
|
2013-02-22 10:13:44 +00:00
|
|
|
bool bSet = !GetValue().isEmpty();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
switch ( ePres )
|
|
|
|
{
|
|
|
|
case SFX_ITEM_PRESENTATION_NAMELESS:
|
|
|
|
if ( bSet )
|
|
|
|
rText = GetValue();
|
2014-07-24 11:31:39 +02:00
|
|
|
return true;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
case SFX_ITEM_PRESENTATION_COMPLETE:
|
|
|
|
if ( bSet )
|
|
|
|
{
|
2013-01-23 12:41:52 +01:00
|
|
|
rText = EE_RESSTR(RID_SVXITEMS_PAGEMODEL_COMPLETE) + GetValue();
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-07-24 11:31:39 +02:00
|
|
|
return true;
|
2006-06-19 15:14:15 +00:00
|
|
|
default: ;//prevent warning
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
2014-07-24 11:31:39 +02:00
|
|
|
return false;
|
2000-09-18 16:07:07 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-11-17 13:20:49 +00:00
|
|
|
|
2014-02-26 12:53:18 +02:00
|
|
|
SvxScriptSpaceItem::SvxScriptSpaceItem( bool bOn, const sal_uInt16 nId )
|
2000-11-17 13:20:49 +00:00
|
|
|
: SfxBoolItem( nId, bOn )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2006-10-12 11:55:21 +00:00
|
|
|
SfxPoolItem* SvxScriptSpaceItem::Clone( SfxItemPool * ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
|
|
|
return new SvxScriptSpaceItem( GetValue(), Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SfxPoolItem* SvxScriptSpaceItem::Create(SvStream & rStrm, sal_uInt16) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bFlag;
|
|
|
|
rStrm.ReadCharAsBool( bFlag );
|
2000-11-17 13:20:49 +00:00
|
|
|
return new SvxScriptSpaceItem( bFlag, Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt16 SvxScriptSpaceItem::GetVersion( sal_uInt16 nFFVer ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SOFFICE_FILEFORMAT_31==nFFVer ||
|
|
|
|
SOFFICE_FILEFORMAT_40==nFFVer ||
|
2001-02-06 14:34:57 +00:00
|
|
|
SOFFICE_FILEFORMAT_50==nFFVer,
|
2011-02-16 16:34:02 -05:00
|
|
|
"SvxTwoLinesItem: Is there a new file format? ");
|
2000-11-17 13:20:49 +00:00
|
|
|
|
2001-02-06 14:34:57 +00:00
|
|
|
return SOFFICE_FILEFORMAT_50 > nFFVer ? USHRT_MAX : 0;
|
2000-11-17 13:20:49 +00:00
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxScriptSpaceItem::GetPresentation(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString &rText, const IntlWrapper* /*pIntl*/ ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
rText = EE_RESSTR( !GetValue()
|
|
|
|
? RID_SVXITEMS_SCRPTSPC_OFF
|
|
|
|
: RID_SVXITEMS_SCRPTSPC_ON );
|
|
|
|
return true;
|
2000-11-17 13:20:49 +00:00
|
|
|
}
|
|
|
|
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-11-17 13:20:49 +00:00
|
|
|
|
|
|
|
SvxHangingPunctuationItem::SvxHangingPunctuationItem(
|
2014-02-21 10:20:00 +02:00
|
|
|
bool bOn, const sal_uInt16 nId )
|
2000-11-17 13:20:49 +00:00
|
|
|
: SfxBoolItem( nId, bOn )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2006-10-12 11:55:21 +00:00
|
|
|
SfxPoolItem* SvxHangingPunctuationItem::Clone( SfxItemPool * ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
|
|
|
return new SvxHangingPunctuationItem( GetValue(), Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SfxPoolItem* SvxHangingPunctuationItem::Create(SvStream & rStrm, sal_uInt16) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool nValue;
|
|
|
|
rStrm.ReadCharAsBool( nValue );
|
2000-11-17 13:20:49 +00:00
|
|
|
return new SvxHangingPunctuationItem( nValue, Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt16 SvxHangingPunctuationItem::GetVersion( sal_uInt16 nFFVer ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SOFFICE_FILEFORMAT_31==nFFVer ||
|
|
|
|
SOFFICE_FILEFORMAT_40==nFFVer ||
|
2001-02-06 14:34:57 +00:00
|
|
|
SOFFICE_FILEFORMAT_50==nFFVer,
|
2011-02-16 16:34:02 -05:00
|
|
|
"SvxHangingPunctuationItem: Is there a new file format? ");
|
2000-11-17 13:20:49 +00:00
|
|
|
|
2001-02-06 14:34:57 +00:00
|
|
|
return SOFFICE_FILEFORMAT_50 > nFFVer ? USHRT_MAX : 0;
|
2000-11-17 13:20:49 +00:00
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxHangingPunctuationItem::GetPresentation(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString &rText, const IntlWrapper* /*pIntl*/ ) const
|
2000-11-17 13:20:49 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
rText = EE_RESSTR( !GetValue()
|
|
|
|
? RID_SVXITEMS_HNGPNCT_OFF
|
|
|
|
: RID_SVXITEMS_HNGPNCT_ON );
|
|
|
|
return true;
|
2000-11-17 13:20:49 +00:00
|
|
|
}
|
2014-02-22 21:20:15 +01:00
|
|
|
|
2000-11-29 16:08:18 +00:00
|
|
|
|
|
|
|
SvxForbiddenRuleItem::SvxForbiddenRuleItem(
|
2014-02-21 16:06:28 +02:00
|
|
|
bool bOn, const sal_uInt16 nId )
|
2000-11-29 16:08:18 +00:00
|
|
|
: SfxBoolItem( nId, bOn )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2006-10-12 11:55:21 +00:00
|
|
|
SfxPoolItem* SvxForbiddenRuleItem::Clone( SfxItemPool * ) const
|
2000-11-29 16:08:18 +00:00
|
|
|
{
|
|
|
|
return new SvxForbiddenRuleItem( GetValue(), Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SfxPoolItem* SvxForbiddenRuleItem::Create(SvStream & rStrm, sal_uInt16) const
|
2000-11-29 16:08:18 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool nValue;
|
|
|
|
rStrm.ReadCharAsBool( nValue );
|
2000-11-29 16:08:18 +00:00
|
|
|
return new SvxForbiddenRuleItem( nValue, Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt16 SvxForbiddenRuleItem::GetVersion( sal_uInt16 nFFVer ) const
|
2000-11-29 16:08:18 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SOFFICE_FILEFORMAT_31==nFFVer ||
|
|
|
|
SOFFICE_FILEFORMAT_40==nFFVer ||
|
2001-02-06 14:34:57 +00:00
|
|
|
SOFFICE_FILEFORMAT_50==nFFVer,
|
2011-02-16 16:34:02 -05:00
|
|
|
"SvxForbiddenRuleItem: Is there a new file format? ");
|
2000-11-29 16:08:18 +00:00
|
|
|
|
2001-02-06 14:34:57 +00:00
|
|
|
return SOFFICE_FILEFORMAT_50 > nFFVer ? USHRT_MAX : 0;
|
2000-11-29 16:08:18 +00:00
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxForbiddenRuleItem::GetPresentation(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString &rText, const IntlWrapper* /*pIntl*/ ) const
|
2000-11-29 16:08:18 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
rText = EE_RESSTR( !GetValue()
|
|
|
|
? RID_SVXITEMS_FORBIDDEN_RULE_OFF
|
|
|
|
: RID_SVXITEMS_FORBIDDEN_RULE_ON );
|
|
|
|
return true;
|
2000-11-29 16:08:18 +00:00
|
|
|
}
|
2000-11-17 13:20:49 +00:00
|
|
|
|
2001-04-10 13:04:50 +00:00
|
|
|
/*************************************************************************
|
|
|
|
|* class SvxParaVertAlignItem
|
|
|
|
*************************************************************************/
|
|
|
|
|
|
|
|
SvxParaVertAlignItem::SvxParaVertAlignItem( sal_uInt16 nValue,
|
|
|
|
const sal_uInt16 nW )
|
|
|
|
: SfxUInt16Item( nW, nValue )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
SfxPoolItem* SvxParaVertAlignItem::Clone( SfxItemPool* ) const
|
|
|
|
{
|
|
|
|
return new SvxParaVertAlignItem( GetValue(), Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SfxPoolItem* SvxParaVertAlignItem::Create( SvStream& rStrm, sal_uInt16 ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
|
|
|
sal_uInt16 nVal;
|
2014-02-05 10:41:04 +02:00
|
|
|
rStrm.ReadUInt16( nVal );
|
2001-04-10 13:04:50 +00:00
|
|
|
return new SvxParaVertAlignItem( nVal, Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SvStream& SvxParaVertAlignItem::Store( SvStream & rStrm, sal_uInt16 ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
2014-01-08 08:48:26 +02:00
|
|
|
rStrm.WriteUInt16( GetValue() );
|
2001-04-10 13:04:50 +00:00
|
|
|
return rStrm;
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt16 SvxParaVertAlignItem::GetVersion( sal_uInt16 nFFVer ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
|
|
|
return SOFFICE_FILEFORMAT_50 > nFFVer ? USHRT_MAX : 0;
|
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxParaVertAlignItem::GetPresentation(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString &rText, const IntlWrapper* ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
sal_uInt16 nTmp;
|
|
|
|
switch( GetValue() )
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
case AUTOMATIC: nTmp = RID_SVXITEMS_PARAVERTALIGN_AUTO; break;
|
|
|
|
case TOP: nTmp = RID_SVXITEMS_PARAVERTALIGN_TOP; break;
|
|
|
|
case CENTER: nTmp = RID_SVXITEMS_PARAVERTALIGN_CENTER; break;
|
|
|
|
case BOTTOM: nTmp = RID_SVXITEMS_PARAVERTALIGN_BOTTOM; break;
|
|
|
|
default: nTmp = RID_SVXITEMS_PARAVERTALIGN_BASELINE; break;
|
2001-04-10 13:04:50 +00:00
|
|
|
}
|
2014-07-24 15:43:00 +02:00
|
|
|
rText = EE_RESSTR( nTmp );
|
|
|
|
return true;
|
2001-04-10 13:04:50 +00:00
|
|
|
}
|
|
|
|
|
2010-10-04 15:23:49 +01:00
|
|
|
bool SvxParaVertAlignItem::QueryValue( com::sun::star::uno::Any& rVal,
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt8 /*nMemberId*/ ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
|
|
|
rVal <<= (sal_Int16)GetValue();
|
2014-01-28 19:56:48 +01:00
|
|
|
return true;
|
2001-04-10 13:04:50 +00:00
|
|
|
}
|
|
|
|
|
2010-10-04 15:23:49 +01:00
|
|
|
bool SvxParaVertAlignItem::PutValue( const com::sun::star::uno::Any& rVal,
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt8 /*nMemberId*/ )
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
2006-10-12 11:55:21 +00:00
|
|
|
sal_Int16 nVal = sal_Int16();
|
2001-04-26 06:20:44 +00:00
|
|
|
if((rVal >>= nVal) && nVal >=0 && nVal <= BOTTOM )
|
|
|
|
{
|
2011-01-13 14:12:48 +01:00
|
|
|
SetValue( (sal_uInt16)nVal );
|
2014-01-28 19:56:48 +01:00
|
|
|
return true;
|
2001-04-26 06:20:44 +00:00
|
|
|
}
|
|
|
|
else
|
2014-01-28 19:56:48 +01:00
|
|
|
return false;
|
2001-04-10 13:04:50 +00:00
|
|
|
}
|
|
|
|
|
2014-01-10 17:01:52 +01:00
|
|
|
bool SvxParaVertAlignItem::operator==( const SfxPoolItem& rItem ) const
|
2001-04-10 13:04:50 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SfxPoolItem::operator==( rItem ), "unequal type" );
|
|
|
|
return SfxUInt16Item::operator==( rItem );
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2014-02-25 16:12:39 +02:00
|
|
|
SvxParaGridItem::SvxParaGridItem( bool bOn, const sal_uInt16 nId )
|
2002-02-06 14:55:42 +00:00
|
|
|
: SfxBoolItem( nId, bOn )
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxPoolItem* SvxParaGridItem::Clone( SfxItemPool * ) const
|
2002-02-06 14:55:42 +00:00
|
|
|
{
|
|
|
|
return new SvxParaGridItem( GetValue(), Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
SfxPoolItem* SvxParaGridItem::Create(SvStream & rStrm, sal_uInt16) const
|
2002-02-06 14:55:42 +00:00
|
|
|
{
|
2014-04-09 11:03:42 +02:00
|
|
|
bool bFlag;
|
|
|
|
rStrm.ReadCharAsBool( bFlag );
|
2002-02-06 14:55:42 +00:00
|
|
|
return new SvxParaGridItem( bFlag, Which() );
|
|
|
|
}
|
|
|
|
|
2011-01-13 14:12:48 +01:00
|
|
|
sal_uInt16 SvxParaGridItem::GetVersion( sal_uInt16 nFFVer ) const
|
2002-02-06 14:55:42 +00:00
|
|
|
{
|
|
|
|
DBG_ASSERT( SOFFICE_FILEFORMAT_31==nFFVer ||
|
|
|
|
SOFFICE_FILEFORMAT_40==nFFVer ||
|
|
|
|
SOFFICE_FILEFORMAT_50==nFFVer,
|
2011-02-16 16:34:02 -05:00
|
|
|
"SvxParaGridItem: Is there a new file format? ");
|
2002-02-06 14:55:42 +00:00
|
|
|
|
|
|
|
return SOFFICE_FILEFORMAT_50 > nFFVer ? USHRT_MAX : 0;
|
|
|
|
}
|
|
|
|
|
2014-07-24 11:31:39 +02:00
|
|
|
bool SvxParaGridItem::GetPresentation(
|
2014-07-24 15:43:00 +02:00
|
|
|
SfxItemPresentation /*ePres*/,
|
2006-06-19 15:14:15 +00:00
|
|
|
SfxMapUnit /*eCoreMetric*/, SfxMapUnit /*ePresMetric*/,
|
2013-01-23 12:41:52 +01:00
|
|
|
OUString &rText, const IntlWrapper* /*pIntl*/ ) const
|
2002-02-06 14:55:42 +00:00
|
|
|
{
|
2014-07-24 15:43:00 +02:00
|
|
|
rText = GetValue() ?
|
|
|
|
EE_RESSTR( RID_SVXITEMS_PARASNAPTOGRID_ON ) :
|
|
|
|
EE_RESSTR( RID_SVXITEMS_PARASNAPTOGRID_OFF );
|
2002-02-06 14:55:42 +00:00
|
|
|
|
2014-07-24 15:43:00 +02:00
|
|
|
return true;
|
2002-02-06 14:55:42 +00:00
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2010-10-12 15:53:47 +02:00
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|