LibreOffice Module svl (master) 1
poolitem.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include <svl/poolitem.hxx>
23#include <osl/diagnose.h>
24#include <sal/log.hxx>
25#include <libxml/xmlwriter.h>
26#include <typeinfo>
27#include <boost/property_tree/ptree.hpp>
28
30// list of classes derived from SfxPoolItem
31// will not be kept up-to-date, but give a good overview for right now
33//
34// class SbxItem : public SfxPoolItem
35// class SvxChartColorTableItem : public SfxPoolItem
36// class DriverPoolingSettingsItem final : public SfxPoolItem
37// class DatabaseMapItem final : public SfxPoolItem
38// class DbuTypeCollectionItem : public SfxPoolItem
39// class OptionalBoolItem : public SfxPoolItem
40// class OStringListItem : public SfxPoolItem
41// class MediaItem : public SfxPoolItem
42// class SvxBoxItem : public SfxPoolItem
43// class SvxBoxInfoItem : public SfxPoolItem
44// class SvxBrushItem : public SfxPoolItem
45// class SvxBulletItem : public SfxPoolItem
46// class SvxColorItem : public SfxPoolItem
47// class SvxFontHeightItem : public SfxPoolItem
48// class SvxFieldItem : public SfxPoolItem
49// class SvxFontListItem : public SfxPoolItem
50// class SvxFontItem : public SfxPoolItem
51// class SvxHyphenZoneItem : public SfxPoolItem
52// class SvxLineItem : public SfxPoolItem
53// class SvxLRSpaceItem : public SfxPoolItem
54// class SvxNumBulletItem : public SfxPoolItem
55// class SfxHyphenRegionItem: public SfxPoolItem
56// class SvxProtectItem : public SfxPoolItem
57// class SvxSizeItem : public SfxPoolItem
58// class SwFormatFrameSize: public SvxSizeItem
59// class SvxTabStopItem : public SfxPoolItem
60// class SvxTwoLinesItem : public SfxPoolItem
61// class SvxULSpaceItem : public SfxPoolItem
62// class SvXMLAttrContainerItem: public SfxPoolItem
63// class SfxLinkItem : public SfxPoolItem
64// class SfxEventNamesItem : public SfxPoolItem
65// class SfxFrameItem: public SfxPoolItem
66// class SfxUnoAnyItem : public SfxPoolItem
67// class SfxUnoFrameItem : public SfxPoolItem
68// class SfxMacroInfoItem: public SfxPoolItem
69// class SfxObjectItem: public SfxPoolItem
70// class SfxObjectShellItem: public SfxPoolItem
71// class SfxViewFrameItem: public SfxPoolItem
72// class SfxWatermarkItem: public SfxPoolItem
73// class SfxEnumItemInterface: public SfxPoolItem
74// class SvxAdjustItem : public SfxEnumItemInterface
75// class SvxEscapementItem : public SfxEnumItemInterface
76// class SvxLineSpacingItem : public SfxEnumItemInterface
77// class SvxShadowItem : public SfxEnumItemInterface
78// class SfxEnumItem : public SfxEnumItemInterface
79// class SvxCharReliefItem : public SfxEnumItem<FontRelief>
80// class SvxCaseMapItem : public SfxEnumItem<SvxCaseMap>
81// class SvxCrossedOutItem : public SfxEnumItem<FontStrikeout>
82// class SvxFormatBreakItem : public SfxEnumItem<SvxBreak>
83// class SvxFrameDirectionItem : public SfxEnumItem<SvxFrameDirection>
84// class SvxHorJustifyItem: public SfxEnumItem<SvxCellHorJustify>
85// class SvxVerJustifyItem: public SfxEnumItem<SvxCellVerJustify>
86// class SvxJustifyMethodItem: public SfxEnumItem<SvxCellJustifyMethod>
87// class SvxLanguageItem_Base: public SfxEnumItem<LanguageType>
88// class SvxLanguageItem : public SvxLanguageItem_Base
89// class SvxPostureItem : public SfxEnumItem<FontItalic>
90// class SvxTextLineItem : public SfxEnumItem<FontLineStyle>
91// class SvxUnderlineItem : public SvxTextLineItem
92// class SvxOverlineItem : public SvxTextLineItem
93// class SvxWeightItem : public SfxEnumItem<FontWeight>
94// class SvxOrientationItem: public SfxEnumItem<SvxCellOrientation>
95// class SvxChartRegressItem : public SfxEnumItem<SvxChartRegress>
96// class SvxChartTextOrderItem : public SfxEnumItem<SvxChartTextOrder>
97// class SvxChartKindErrorItem : public SfxEnumItem<SvxChartKindError>
98// class SvxChartIndicateItem : public SfxEnumItem<SvxChartIndicate>
99// class SvxRotateModeItem: public SfxEnumItem<SvxRotateMode>
100// class SdrGrafModeItem_Base: public SfxEnumItem<GraphicDrawMode>
101// class SdrGrafModeItem : public SdrGrafModeItem_Base
102// class SdrTextAniDirectionItem: public SfxEnumItem<SdrTextAniDirection>
103// class SdrTextVertAdjustItem: public SfxEnumItem<SdrTextVertAdjust>
104// class SdrTextHorzAdjustItem: public SfxEnumItem<SdrTextHorzAdjust>
105// class SdrTextAniKindItem: public SfxEnumItem<SdrTextAniKind>
106// class SdrTextFitToSizeTypeItem : public SfxEnumItem<css::drawing::TextFitToSizeType>
107// class SdrCaptionEscDirItem: public SfxEnumItem<SdrCaptionEscDir>
108// class SdrCaptionTypeItem: public SfxEnumItem<SdrCaptionType>
109// class SdrEdgeKindItem: public SfxEnumItem<SdrEdgeKind>
110// class SdrMeasureTextHPosItem: public SfxEnumItem<css::drawing::MeasureTextHorzPos>
111// class SdrMeasureTextVPosItem: public SfxEnumItem<css::drawing::MeasureTextVertPos>
112// class SdrMeasureUnitItem: public SfxEnumItem<FieldUnit>
113// class XFillStyleItem : public SfxEnumItem<css::drawing::FillStyle>
114// class XFillBmpPosItem : public SfxEnumItem<RectPoint>
115// class XFormTextAdjustItem : public SfxEnumItem<XFormTextAdjust>
116// class XFormTextShadowItem : public SfxEnumItem<XFormTextShadow>
117// class XLineStyleItem : public SfxEnumItem<css::drawing::LineStyle>
118// class XLineJointItem : public SfxEnumItem<css::drawing::LineJoint>
119// class XLineCapItem : public SfxEnumItem<css::drawing::LineCap>
120// class XFormTextStyleItem : public SfxEnumItem<XFormTextStyle>
121// class ScViewObjectModeItem: public SfxEnumItem<ScVObjMode>
122// class SdrCircKindItem: public SfxEnumItem<SdrCircKind>
123// class SdrMeasureKindItem: public SfxEnumItem<SdrMeasureKind>
124// class SwFormatFillOrder: public SfxEnumItem<SwFillOrder>
125// class SwFormatFootnoteEndAtTextEnd : public SfxEnumItem<SwFootnoteEndPosEnum>
126// class SwFormatFootnoteAtTextEnd : public SwFormatFootnoteEndAtTextEnd
127// class SwFormatEndAtTextEnd : public SwFormatFootnoteEndAtTextEnd
128// class SwFormatSurround: public SfxEnumItem<css::text::WrapTextMode>
129// class SwMirrorGrf : public SfxEnumItem<MirrorGraph>
130// class SwDrawModeGrf_Base: public SfxEnumItem<GraphicDrawMode>
131// class SwDrawModeGrf : public SwDrawModeGrf_Base
132//class CntByteItem: public SfxPoolItem
133// class SfxByteItem: public CntByteItem
134// class SvxOrphansItem: public SfxByteItem
135// class SvxPaperBinItem : public SfxByteItem
136// class SvxWidowsItem: public SfxByteItem
137// class SwTransparencyGrf : public SfxByteItem
138//class CntUInt16Item: public SfxPoolItem
139// class SfxUInt16Item: public CntUInt16Item
140// class SvxTextRotateItem : public SfxUInt16Item
141// class SvxCharRotateItem : public SvxTextRotateItem
142// class SvxCharScaleWidthItem : public SfxUInt16Item
143// class SvxEmphasisMarkItem : public SfxUInt16Item
144// class SvxParaVertAlignItem : public SfxUInt16Item
145// class SvxWritingModeItem : public SfxUInt16Item
146// class SvxZoomItem: public SfxUInt16Item
147// class SdrPercentItem : public SfxUInt16Item
148// class SdrGrafTransparenceItem : public SdrPercentItem
149// class SdrTextAniCountItem: public SfxUInt16Item
150// class SdrTextAniDelayItem: public SfxUInt16Item
151// class Svx3DNormalsKindItem : public SfxUInt16Item
152// class Svx3DTextureProjectionXItem : public SfxUInt16Item
153// class Svx3DTextureProjectionYItem : public SfxUInt16Item
154// class Svx3DTextureKindItem : public SfxUInt16Item
155// class Svx3DTextureModeItem : public SfxUInt16Item
156// class Svx3DPerspectiveItem : public SfxUInt16Item
157// class Svx3DShadeModeItem : public SfxUInt16Item
158// class SdrEdgeLineDeltaCountItem: public SfxUInt16Item
159// class SvxViewLayoutItem: public SfxUInt16Item
160// class XFillBmpPosOffsetXItem : public SfxUInt16Item
161// class XFillBmpPosOffsetYItem : public SfxUInt16Item
162// class XFillBmpTileOffsetXItem : public SfxUInt16Item
163// class XFillBmpTileOffsetYItem : public SfxUInt16Item
164// class XFillTransparenceItem: public SfxUInt16Item
165// class XFormTextShadowTranspItem: public SfxUInt16Item
166// class XGradientStepCountItem: public SfxUInt16Item
167// class XLineTransparenceItem: public SfxUInt16Item
168// class SvxZoomSliderItem: public SfxUInt16Item
169// class SdrLayerIdItem: public SfxUInt16Item
170// class SwRotationGrf : public SfxUInt16Item
171//class CntInt32Item: public SfxPoolItem
172// class SfxInt32Item: public CntInt32Item
173// class SfxMetricItem: public SfxInt32Item
174// class XFillBmpSizeXItem : public SfxMetricItem
175// class XFillBmpSizeYItem : public SfxMetricItem
176// class XFormTextDistanceItem : public SfxMetricItem
177// class XFormTextShadowXValItem : public SfxMetricItem
178// class XFormTextShadowYValItem : public SfxMetricItem
179// class XFormTextStartItem : public SfxMetricItem
180// class XLineEndWidthItem : public SfxMetricItem
181// class XLineStartWidthItem : public SfxMetricItem
182// class XLineWidthItem : public SfxMetricItem
183// class SdrAngleItem: public SfxInt32Item
184//
185// class SdrCaptionAngleItem: public SdrAngleItem
186// class SdrMeasureTextFixedAngleItem: public SdrAngleItem
187// class SdrMeasureTextAutoAngleViewItem: public SdrAngleItem
188// class SdrRotateAllItem: public SdrAngleItem
189// class SdrRotateOneItem: public SdrAngleItem
190// class SdrShearAngleItem: public SdrAngleItem
191// class SdrHorzShearAllItem: public SdrAngleItem
192// class SdrVertShearAllItem: public SdrAngleItem
193// class SdrHorzShearOneItem: public SdrAngleItem
194// class SdrVertShearOneItem: public SdrAngleItem
195// class SdrMetricItem: public SfxInt32Item
196// class SdrCaptionEscAbsItem: public SdrMetricItem
197// class SdrCaptionGapItem: public SdrMetricItem
198// class SdrCaptionLineLenItem: public SdrMetricItem
199// class SdrEdgeNode1HorzDistItem: public SdrMetricItem
200// class SdrEdgeNode1VertDistItem: public SdrMetricItem
201// class SdrEdgeNode2HorzDistItem: public SdrMetricItem
202// class SdrEdgeNode2VertDistItem: public SdrMetricItem
203// class SdrEdgeNode1GlueDistItem: public SdrMetricItem
204// class SdrEdgeNode2GlueDistItem: public SdrMetricItem
205// class SdrAllPositionXItem: public SdrMetricItem
206// class SdrAllPositionYItem: public SdrMetricItem
207// class SdrAllSizeWidthItem: public SdrMetricItem
208// class SdrAllSizeHeightItem: public SdrMetricItem
209// class SdrLogicSizeWidthItem: public SdrMetricItem
210// class SdrLogicSizeHeightItem: public SdrMetricItem
211// class SdrMeasureOverhangItem: public SdrMetricItem
212// class SdrMoveXItem: public SdrMetricItem
213// class SdrMoveYItem: public SdrMetricItem
214// class SdrOnePositionXItem: public SdrMetricItem
215// class SdrOnePositionYItem: public SdrMetricItem
216// class SdrOneSizeWidthItem: public SdrMetricItem
217// class SdrOneSizeHeightItem: public SdrMetricItem
218// class SdrTransformRef1XItem: public SdrMetricItem
219// class SdrTransformRef1YItem: public SdrMetricItem
220// class SdrTransformRef2XItem: public SdrMetricItem
221// class SdrTransformRef2YItem: public SdrMetricItem
222// class SdrCaptionEscRelItem: public SfxInt32Item
223//class CntUInt32Item: public SfxPoolItem
224// class SfxUInt32Item: public CntUInt32Item
225// class SvxRsidItem : public SfxUInt32Item
226// class SdrGrafGamma100Item : public SfxUInt32Item
227// class SwTableBoxNumFormat : public SfxUInt32Item
228//class CntUnencodedStringItem: public SfxPoolItem
229// class SfxStringItem: public CntUnencodedStringItem
230// class SvxPageModelItem : public SfxStringItem
231// class SfxDocumentInfoItem : public SfxStringItem
232// class SvxPostItAuthorItem: public SfxStringItem
233// class SvxPostItDateItem: public SfxStringItem
234// class SvxPostItTextItem: public SfxStringItem
235// class SvxPostItIdItem: public SfxStringItem
236// class SdrMeasureFormatStringItem: public SfxStringItem
237// class NameOrIndex : public SfxStringItem
238// class XFillBitmapItem : public NameOrIndex
239// class XColorItem : public NameOrIndex
240// class XFillColorItem : public XColorItem
241// class XFormTextShadowColorItem : public XColorItem
242// class XLineColorItem : public XColorItem
243// class XSecondaryFillColorItem : public XColorItem
244// class XFillGradientItem : public NameOrIndex
245// class XFillFloatTransparenceItem : public XFillGradientItem
246// class XFillHatchItem : public NameOrIndex
247// class XLineDashItem : public NameOrIndex
248// class XLineEndItem : public NameOrIndex
249// class XLineStartItem : public NameOrIndex
250// class SfxScriptOrganizerItem : public SfxStringItem
251// class SdrLayerNameItem: public SfxStringItem
252// class SwNumRuleItem : public SfxStringItem
253//class SfxBoolItem : public SfxPoolItem
254// class SvxAutoKernItem : public SfxBoolItem
255// class SvxBlinkItem : public SfxBoolItem
256// class SvxCharHiddenItem : public SfxBoolItem
257// class SvxContourItem : public SfxBoolItem
258// class SvxForbiddenRuleItem : public SfxBoolItem
259// class SvxHangingPunctuationItem : public SfxBoolItem
260// class SvxFormatKeepItem : public SfxBoolItem
261// class SvxNoHyphenItem : public SfxBoolItem
262// class SvxOpaqueItem : public SfxBoolItem
263// class SvxParaGridItem : public SfxBoolItem
264// class SvxPrintItem : public SfxBoolItem
265// class SvxScriptSpaceItem : public SfxBoolItem
266// class SvxShadowedItem : public SfxBoolItem
267// class SvxFormatSplitItem : public SfxBoolItem
268// class SvxWordLineModeItem : public SfxBoolItem
269// class SdrOnOffItem: public SfxBoolItem
270// class SdrGrafInvertItem : public SdrOnOffItem
271// class SdrTextFixedCellHeightItem : public SfxBoolItem
272// class SdrYesNoItem: public SfxBoolItem
273// class SdrTextAniStartInsideItem: public SdrYesNoItem
274// class SdrTextAniStopInsideItem: public SdrYesNoItem
275// class SdrCaptionEscIsRelItem: public SdrYesNoItem
276// class SdrCaptionFitLineLenItem: public SdrYesNoItem
277// class SdrMeasureBelowRefEdgeItem: public SdrYesNoItem
278// class SdrMeasureTextIsFixedAngleItem: public SdrYesNoItem
279// class SdrMeasureTextRota90Item: public SdrYesNoItem
280// class SdrMeasureTextUpsideDownItem: public SdrYesNoItem
281// class SdrMeasureTextAutoAngleItem: public SdrYesNoItem
282// class SdrObjPrintableItem: public SdrYesNoItem
283// class SdrObjVisibleItem: public SdrYesNoItem
284// class Svx3DReducedLineGeometryItem : public SfxBoolItem
285// class Svx3DSmoothNormalsItem : public SfxBoolItem
286// class Svx3DSmoothLidsItem : public SfxBoolItem
287// class Svx3DCharacterModeItem : public SfxBoolItem
288// class Svx3DCloseFrontItem : public SfxBoolItem
289// class Svx3DCloseBackItem : public SfxBoolItem
290// class XFillBackgroundItem : public SfxBoolItem
291// class XFillUseSlideBackgroundItem : public SfxBoolItem
292// class XFillBmpSizeLogItem : public SfxBoolItem
293// class XFillBmpTileItem : public SfxBoolItem
294// class XFillBmpStretchItem : public SfxBoolItem
295// class XFormTextMirrorItem : public SfxBoolItem
296// class XFormTextOutlineItem : public SfxBoolItem
297// class XLineEndCenterItem : public SfxBoolItem
298// class XLineStartCenterItem : public SfxBoolItem
299// class XFormTextHideFormItem : public SfxBoolItem
300// class SwFormatNoBalancedColumns : public SfxBoolItem
301// class SwFormatEditInReadonly : public SfxBoolItem
302// class SwFormatFollowTextFlow : public SfxBoolItem
303// class SwFormatLayoutSplit : public SfxBoolItem
304// class SwFormatRowSplit : public SfxBoolItem
305// class SwInvertGrf: public SfxBoolItem
306// class SwHeaderAndFooterEatSpacingItem : public SfxBoolItem
307// class SwRegisterItem : public SfxBoolItem
308// class SwParaConnectBorderItem : public SfxBoolItem
309// class SfxFlagItem: public SfxPoolItem
310// class SfxTemplateItem: public SfxFlagItem
311// class SfxGlobalNameItem: public SfxPoolItem
312// class SfxGrabBagItem : public SfxPoolItem
313// class SfxIntegerListItem : public SfxPoolItem
314// class SfxInt64Item : public SfxPoolItem
315// class SfxInt16Item: public SfxPoolItem
316// class SvxKerningItem : public SfxInt16Item
317// class SfxImageItem : public SfxInt16Item
318// class SdrSignedPercentItem : public SfxInt16Item
319// class SdrGrafRedItem : public SdrSignedPercentItem
320// class SdrGrafGreenItem : public SdrSignedPercentItem
321// class SdrGrafBlueItem : public SdrSignedPercentItem
322// class SdrGrafLuminanceItem : public SdrSignedPercentItem
323// class SdrGrafContrastItem : public SdrSignedPercentItem
324// class SdrTextAniAmountItem: public SfxInt16Item
325// class SdrMeasureDecimalPlacesItem: public SfxInt16Item
326// class ScMergeFlagAttr: public SfxInt16Item
327// class SwLuminanceGrf : public SfxInt16Item
328// class SwContrastGrf : public SfxInt16Item
329// class SwChannelGrf : public SfxInt16Item
330// class SfxLockBytesItem : public SfxPoolItem
331// class SvxMacroItem: public SfxPoolItem
332// class SfxVoidItem final: public SfxPoolItem
333// class SfxSetItem: public SfxPoolItem
334// class SvxScriptSetItem : public SfxSetItem
335// class SfxTabDialogItem: public SfxSetItem
336// class SvxSetItem: public SfxSetItem
337// class XFillAttrSetItem : public SfxSetItem
338// class XLineAttrSetItem : public SfxSetItem
339// class ScPatternAttr: public SfxSetItem
340// class SfxPointItem: public SfxPoolItem
341// class SfxRectangleItem: public SfxPoolItem
342// class SfxRangeItem : public SfxPoolItem
343// class SfxStringListItem : public SfxPoolItem
344// class SvxSearchItem : public SfxPoolItem
345// class SfxVisibilityItem: public SfxPoolItem
346// class AffineMatrixItem : public SfxPoolItem
347// class SvxMarginItem: public SfxPoolItem
348// class SvxDoubleItem : public SfxPoolItem
349// class SvxClipboardFormatItem : public SfxPoolItem
350// class SvxColorListItem: public SfxPoolItem
351// class SvxGradientListItem : public SfxPoolItem
352// class SvxHatchListItem : public SfxPoolItem
353// class SvxBitmapListItem : public SfxPoolItem
354// class SvxPatternListItem : public SfxPoolItem
355// class SvxDashListItem : public SfxPoolItem
356// class SvxLineEndListItem : public SfxPoolItem
357// class SvxB3DVectorItem : public SfxPoolItem
358// class SvxGalleryItem : public SfxPoolItem
359// class SvxGrfCrop : public SfxPoolItem
360// class SdrGrafCropItem : public SvxGrfCrop
361// class SwCropGrf : public SvxGrfCrop
362// class SvxHyperlinkItem : public SfxPoolItem
363// class SvxNumberInfoItem : public SfxPoolItem
364// class OfaPtrItem : public SfxPoolItem
365// class OfaXColorListItem : public SfxPoolItem
366// class SvxGridItem : public SvxOptionsGrid, public SfxPoolItem
367// class SdOptionsGridItem : public SvxGridItem
368// class SvxPageItem: public SfxPoolItem
369// class SvxLongLRSpaceItem : public SfxPoolItem
370// class SvxLongULSpaceItem : public SfxPoolItem
371// class SvxPagePosSizeItem : public SfxPoolItem
372// class SvxColumnItem : public SfxPoolItem
373// class SvxObjectItem : public SfxPoolItem
374// class SdrCustomShapeGeometryItem : public SfxPoolItem
375// class SvxSmartTagItem : public SfxPoolItem
376// class SvxGraphicItem: public SfxPoolItem
377// class SdrFractionItem: public SfxPoolItem
378// class SdrScaleItem: public SdrFractionItem
379// class SdrMeasureScaleItem: public SdrScaleItem
380// class SdrResizeXAllItem: public SdrFractionItem
381// class SdrResizeYAllItem: public SdrFractionItem
382// class SdrResizeXOneItem: public SdrFractionItem
383// class SdrResizeYOneItem: public SdrFractionItem
384// class ScMergeAttr: public SfxPoolItem
385// class ScProtectionAttr: public SfxPoolItem
386// class ScPageHFItem : public SfxPoolItem
387// class ScPageScaleToItem : public SfxPoolItem
388// class ScCondFormatItem : public SfxPoolItem
389// class ScTpDefaultsItem : public SfxPoolItem
390// class ScTpCalcItem : public SfxPoolItem
391// class ScTpFormulaItem : public SfxPoolItem
392// class ScTpPrintItem : public SfxPoolItem
393// class ScTpViewItem : public SfxPoolItem
394// class ScCondFormatDlgItem : public SfxPoolItem
395// class ScInputStatusItem : public SfxPoolItem
396// class ScSortItem : public SfxPoolItem
397// class ScQueryItem : public SfxPoolItem
398// class ScSubTotalItem : public SfxPoolItem
399// class cUserListItem : public SfxPoolItem
400// class ScConsolidateItem : public SfxPoolItem
401// class ScPivotItem : public SfxPoolItem
402// class ScSolveItem : public SfxPoolItem
403// class ScTabOpItem : public SfxPoolItem
404// class SdOptionsLayoutItem : public SfxPoolItem
405// class SdOptionsMiscItem : public SfxPoolItem
406// class SdOptionsSnapItem : public SfxPoolItem
407// class SdOptionsPrintItem : public SfxPoolItem
408// class SwCondCollItem : public SfxPoolItem
409// class SwTableBoxFormula : public SfxPoolItem, public SwTableFormula
410// class SwTableBoxValue : public SfxPoolItem
411// class SwFormatCharFormat: public SfxPoolItem, public SwClient
412// class SwFormatAnchor: public SfxPoolItem
413// class SwFormatAutoFormat: public SfxPoolItem
414// class SwFormatCol : public SfxPoolItem
415// class SwFormatChain: public SfxPoolItem
416// class SwFormatContent: public SfxPoolItem
417// class SwFormatFlyCnt : public SfxPoolItem
418// class SwFormatField : public SfxPoolItem
419// class SwFormatFootnote : public SfxPoolItem
420// class SwFormatHeader: public SfxPoolItem, public SwClient
421// class SwFormatFooter: public SfxPoolItem, public SwClient
422// class SwFormatINetFormat : public SfxPoolItem
423// class SwFormatLineNumber: public SfxPoolItem
424// class SwFormatMeta : public SfxPoolItem
425// class SwFormatVertOrient: public SfxPoolItem
426// class SwFormatHoriOrient: public SfxPoolItem
427// class SwFormatPageDesc : public SfxPoolItem, public SwClient
428// class SwFormatRefMark : public SfxPoolItem
429// class SwFormatRuby : public SfxPoolItem
430// class SwFormatURL: public SfxPoolItem
431// class SwFormatWrapInfluenceOnObjPos: public SfxPoolItem
432// class SwGammaGrf : public SfxPoolItem
433// class SwMsgPoolItem : public SfxPoolItem
434// class SwPtrMsgPoolItem : public SwMsgPoolItem
435// class SwFormatChg: public SwMsgPoolItem
436// class SwUpdateAttr : public SwMsgPoolItem
437// class SwTableFormulaUpdate : public SwMsgPoolItem
438// class SwAutoFormatGetDocNode: public SwMsgPoolItem
439// class SwAttrSetChg: public SwMsgPoolItem
440// class SwVirtPageNumInfo: public SwMsgPoolItem
441// class SwFindNearestNode : public SwMsgPoolItem
442// class SwStringMsgPoolItem : public SwMsgPoolItem
443// class SwFormatDrop: public SfxPoolItem, public SwClient
444// class SwTextGridItem : public SfxPoolItem
445// class SwTOXMark : public SfxPoolItem
446// class SwFltAnchor : public SfxPoolItem
447// class SwFltRedline : public SfxPoolItem
448// class SwFltBookmark : public SfxPoolItem
449// class SwFltRDFMark : public SfxPoolItem
450// class SwFltTOX : public SfxPoolItem
451// class SwDocDisplayItem : public SfxPoolItem
452// class SwElemItem : public SfxPoolItem
453// class SwAddPrinterItem : public SfxPoolItem, public SwPrintData
454// class SwShadowCursorItem : public SfxPoolItem
455// class SwTestItem : public SfxPoolItem
456// class SwEnvItem : public SfxPoolItem
457// class SwLabItem : public SfxPoolItem
458// class SwWrtShellItem: public SfxPoolItem
459// class SwPageFootnoteInfoItem : public SfxPoolItem
460// class SwPtrItem : public SfxPoolItem
461// class SwUINumRuleItem : public SfxPoolItem
462// class SwPaMItem : public SfxPoolItem
464
465SfxPoolItem::SfxPoolItem(sal_uInt16 const nWhich)
466 : m_nRefCount(0)
467 , m_nWhich(nWhich)
468 , m_nKind(SfxItemKind::NONE)
469{
470 assert(nWhich <= SHRT_MAX);
471}
472
474{
475 assert((m_nRefCount == 0 || m_nRefCount > SFX_ITEMS_MAXREF) && "destroying item in use");
476}
477
479{
480 SAL_WARN_IF(typeid(rCmp) != typeid(*this), "svl",
481 "comparing different pool item subclasses " << typeid(rCmp).name() << " && "
482 << typeid(*this).name());
483 assert(typeid(rCmp) == typeid(*this) && "comparing different pool item subclasses");
484 (void)rCmp;
485 return true;
486}
487
525 SfxItemPresentation /*ePresentation*/, // IN: how we should format
526 MapUnit /*eCoreMetric*/, // IN: current metric of the SfxPoolItems
527 MapUnit /*ePresentationMetric*/, // IN: target metric of the presentation
528 OUString& /*rText*/, // OUT: textual representation
529 const IntlWrapper&) const
530{
531 return false;
532}
533
535{
536 (void)xmlTextWriterStartElement(pWriter, BAD_CAST("SfxPoolItem"));
537 (void)xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this);
538 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("whichId"),
539 BAD_CAST(OString::number(Which()).getStr()));
540 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("typeName"),
541 BAD_CAST(typeid(*this).name()));
542 OUString rText;
543 IntlWrapper aIntlWrapper(SvtSysLocale().GetUILanguageTag());
544 if (GetPresentation(SfxItemPresentation::Complete, MapUnit::Map100thMM, MapUnit::Map100thMM,
545 rText, aIntlWrapper))
546 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("presentation"),
547 BAD_CAST(rText.toUtf8().getStr()));
548 (void)xmlTextWriterEndElement(pWriter);
549}
550
551boost::property_tree::ptree SfxPoolItem::dumpAsJSON() const
552{
553 boost::property_tree::ptree aTree;
554 return aTree;
555}
556
557std::unique_ptr<SfxPoolItem> SfxPoolItem::CloneSetWhich(sal_uInt16 nNewWhich) const
558{
559 std::unique_ptr<SfxPoolItem> pItem(Clone());
560 pItem->SetWhich(nNewWhich);
561 return pItem;
562}
563
564bool SfxPoolItem::IsVoidItem() const { return false; }
565
567
569 : SfxPoolItem(which)
570{
571}
572
574{
575 assert(SfxPoolItem::operator==(rCmp));
576 (void)rCmp;
577 return true;
578}
579
580bool SfxVoidItem::GetPresentation(SfxItemPresentation /*ePresentation*/, MapUnit /*eCoreMetric*/,
581 MapUnit /*ePresentationMetric*/, OUString& rText,
582 const IntlWrapper&) const
583{
584 rText = "Void";
585 return true;
586}
587
589{
590 (void)xmlTextWriterStartElement(pWriter, BAD_CAST("SfxVoidItem"));
591 (void)xmlTextWriterWriteAttribute(pWriter, BAD_CAST("whichId"),
592 BAD_CAST(OString::number(Which()).getStr()));
593 (void)xmlTextWriterEndElement(pWriter);
594}
595
597
598bool SfxVoidItem::IsVoidItem() const { return true; }
599
601
602bool SfxPoolItem::HasMetrics() const { return false; }
603
604bool SfxPoolItem::QueryValue(css::uno::Any&, sal_uInt8) const
605{
606 OSL_FAIL("There is no implementation for QueryValue for this item!");
607 return false;
608}
609
610bool SfxPoolItem::PutValue(const css::uno::Any&, sal_uInt8)
611{
612 OSL_FAIL("There is no implementation for PutValue for this item!");
613 return false;
614}
615
617
618/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Base class for providers of defaults of SfxPoolItems.
Definition: itempool.hxx:51
virtual void ScaleMetrics(tools::Long lMult, tools::Long lDiv)
Definition: poolitem.cxx:600
virtual bool QueryValue(css::uno::Any &rVal, sal_uInt8 nMemberId=0) const
Definition: poolitem.cxx:604
virtual bool GetPresentation(SfxItemPresentation ePresentation, MapUnit eCoreMetric, MapUnit ePresentationMetric, OUString &rText, const IntlWrapper &rIntlWrapper) const
This virtual method allows to get a textual representation of the value for the SfxPoolItem subclasse...
Definition: poolitem.cxx:524
virtual void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition: poolitem.cxx:534
sal_uInt32 m_nRefCount
Definition: poolitem.hxx:123
sal_uInt16 Which() const
Definition: poolitem.hxx:149
SfxPoolItem(sal_uInt16 nWhich=0)
Definition: poolitem.cxx:465
virtual bool operator==(const SfxPoolItem &) const =0
Definition: poolitem.cxx:478
virtual bool PutValue(const css::uno::Any &rVal, sal_uInt8 nMemberId)
Definition: poolitem.cxx:610
std::unique_ptr< SfxPoolItem > CloneSetWhich(sal_uInt16 nNewWhich) const
Definition: poolitem.cxx:557
friend class SfxVoidItem
Definition: poolitem.hxx:121
virtual ~SfxPoolItem()
Definition: poolitem.cxx:473
virtual boost::property_tree::ptree dumpAsJSON() const
Definition: poolitem.cxx:551
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const =0
virtual bool HasMetrics() const
Definition: poolitem.cxx:602
virtual bool IsVoidItem() const
Only SfxVoidItem shall and must return true for this.
Definition: poolitem.cxx:564
virtual ~SfxVoidItem() override
Definition: poolitem.cxx:616
virtual SfxVoidItem * Clone(SfxItemPool *pPool=nullptr) const override
Definition: poolitem.cxx:596
virtual bool GetPresentation(SfxItemPresentation ePres, MapUnit eCoreMetric, MapUnit ePresMetric, OUString &rText, const IntlWrapper &) const override
This virtual method allows to get a textual representation of the value for the SfxPoolItem subclasse...
Definition: poolitem.cxx:580
virtual void dumpAsXml(xmlTextWriterPtr pWriter) const override
Definition: poolitem.cxx:588
virtual bool IsVoidItem() const override
Always returns true as this is an SfxVoidItem.
Definition: poolitem.cxx:598
static SfxPoolItem * CreateDefault()
Definition: poolitem.cxx:566
virtual bool operator==(const SfxPoolItem &) const override
Definition: poolitem.cxx:573
struct _xmlTextWriter * xmlTextWriterPtr
const char * name
#define SAL_WARN_IF(condition, area, stream)
MapUnit
NONE
long Long
SfxItemPresentation
Definition: poolitem.hxx:72
SfxItemKind
Definition: poolitem.hxx:39
#define SFX_ITEMS_MAXREF
Definition: poolitem.hxx:47
unsigned char sal_uInt8