LibreOffice Module sw (master) 1
applab.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 <config_features.h>
21#include <config_fuzzers.h>
22
23#include <hintids.hxx>
24
25#include <comphelper/string.hxx>
26#include <sfx2/dispatch.hxx>
27#include <sfx2/printer.hxx>
28#include <sfx2/request.hxx>
29#include <sfx2/linkmgr.hxx>
30#include <sfx2/viewfrm.hxx>
31#include <editeng/pbinitem.hxx>
32#include <editeng/ulspitem.hxx>
33#include <editeng/lrspitem.hxx>
34#include <com/sun/star/frame/XModel.hpp>
35#include <osl/diagnose.h>
36#include <fmthdft.hxx>
37#include <fmtanchr.hxx>
38#include <fmtfsize.hxx>
39#include <fmtornt.hxx>
40#include <swwait.hxx>
41#include <gloshdl.hxx>
42#include <swmodule.hxx>
43#include <view.hxx>
44#include <docsh.hxx>
45#include <fldbas.hxx>
46#include <wrtsh.hxx>
47#include <cmdid.h>
48#include <dbmgr.hxx>
49#include <fldmgr.hxx>
50#include <labimg.hxx>
51#include <section.hxx>
52#include <pagedesc.hxx>
53#include <poolfmt.hxx>
54
55#include <strings.hrc>
56#include <swabstdlg.hxx>
57
59
60#include "appenv.hxx"
61#include <memory>
62
63using namespace ::com::sun::star;
64
65constexpr OUStringLiteral MASTER_LABEL = u"MasterLabel";
66
67static const SwFrameFormat *lcl_InsertBCText( SwWrtShell& rSh, const SwLabItem& rItem,
68 SwFrameFormat &rFormat,
69 sal_uInt16 nCol, sal_uInt16 nRow )
70{
72 sal_uInt16 nPhyPageNum, nVirtPageNum;
73 rSh.GetPageNum( nPhyPageNum, nVirtPageNum );
74
75 //anchor frame to page
76 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PAGE, nPhyPageNum ) );
77 aSet.Put( SwFormatHoriOrient( rItem.m_lLeft + static_cast<SwTwips>(nCol) * rItem.m_lHDist,
78 text::HoriOrientation::NONE, text::RelOrientation::PAGE_FRAME ) );
79 aSet.Put( SwFormatVertOrient( rItem.m_lUpper + static_cast<SwTwips>(nRow) * rItem.m_lVDist,
80 text::VertOrientation::NONE, text::RelOrientation::PAGE_FRAME ) );
81 const SwFrameFormat *pFormat = rSh.NewFlyFrame(aSet, true, &rFormat ); // Insert Fly
82 OSL_ENSURE( pFormat, "Fly not inserted" );
83
84 rSh.UnSelectFrame(); //Frame was selected automatically
85
87
88 if(!rItem.m_bSynchron || !(nCol|nRow))
89 {
91 ::GlossarySetActGroup fnSetActGroup = pFact->SetGlossaryActGroupFunc();
92 if ( fnSetActGroup )
93 (*fnSetActGroup)( rItem.m_sGlossaryGroup );
94 SwGlossaryHdl* pGlosHdl = rSh.GetView().GetGlosHdl();
95 pGlosHdl->SetCurGroup(rItem.m_sGlossaryGroup, true);
96 pGlosHdl->InsertGlossary( rItem.m_sGlossaryBlockName );
97 }
98
99 return pFormat;
100}
101
102static const SwFrameFormat *lcl_InsertLabText( SwWrtShell& rSh, const SwLabItem& rItem,
103 SwFrameFormat &rFormat, SwFieldMgr& rFieldMgr,
104 sal_uInt16 nCol, sal_uInt16 nRow, bool bLast )
105{
107 sal_uInt16 nPhyPageNum, nVirtPageNum;
108 rSh.GetPageNum( nPhyPageNum, nVirtPageNum );
109
110 //anchor frame to page
111 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PAGE, nPhyPageNum ) );
112 aSet.Put( SwFormatHoriOrient( rItem.m_lLeft + static_cast<SwTwips>(nCol) * rItem.m_lHDist,
113 text::HoriOrientation::NONE, text::RelOrientation::PAGE_FRAME ) );
114 aSet.Put( SwFormatVertOrient( rItem.m_lUpper + static_cast<SwTwips>(nRow) * rItem.m_lVDist,
115 text::VertOrientation::NONE, text::RelOrientation::PAGE_FRAME ) );
116 const SwFrameFormat *pFormat = rSh.NewFlyFrame(aSet, true, &rFormat ); // Insert Fly
117 OSL_ENSURE( pFormat, "Fly not inserted" );
118
119 rSh.UnSelectFrame(); //Frame was selected automatically
120
122
123 // If applicable "next dataset"
124 OUString sDBName;
125 if( (!rItem.m_bSynchron || !(nCol|nRow)) && !(sDBName = InsertLabEnvText( rSh, rFieldMgr, rItem.m_aWriting )).isEmpty() && !bLast )
126 {
127 sDBName = comphelper::string::setToken(sDBName, 3, DB_DELIM, u"True");
128 SwInsertField_Data aData(SwFieldTypesEnum::DatabaseNextSet, 0, sDBName, OUString(), 0, &rSh);
129 rFieldMgr.InsertField( aData );
130 }
131
132 return pFormat;
133}
134
135void SwModule::InsertLab(SfxRequest& rReq, bool bLabel)
136{
137 static sal_uInt16 nLabelTitleNo = 0;
138 static sal_uInt16 nBCTitleNo = 0;
139
140#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
141 // Create DB-Manager
142 std::unique_ptr<SwDBManager> pDBManager(new SwDBManager(nullptr));
143#endif
144
145 // Read SwLabItem from Config
146 SwLabCfgItem aLabCfg(bLabel);
147
148 // Move up Dialog
150 aSet.Put( aLabCfg.GetItem() );
151
153
154 ScopedVclPtr<AbstractSwLabDlg> pDlg(pDialogFactory->CreateSwLabDlg(rReq.GetFrameWeld(), aSet,
155#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
156 pDBManager.get(),
157#else
158 NULL,
159#endif
160 bLabel));
161
162 if ( RET_OK != pDlg->Execute() )
163 return;
164
165 // Read dialog, store item in config
166 const SwLabItem& rItem = static_cast<const SwLabItem&>( pDlg->
167 GetOutputItemSet()->Get(FN_LABEL));
168 aLabCfg.GetItem() = rItem;
169 aLabCfg.Commit();
170
171 // Create new document
172 SfxObjectShellLock xDocSh( new SwDocShell( SfxObjectCreateMode::STANDARD));
173 xDocSh->DoInitNew();
174
175 // Printer
176 Printer *pPrt = pDlg->GetPrt();
177 if (pPrt)
178 {
179 SwDocShell *pDocSh = static_cast<SwDocShell*>(&*xDocSh);
181 }
182
183 SfxViewFrame* pViewFrame = SfxViewFrame::DisplayNewDocument( *xDocSh, rReq );
184 if (!pViewFrame)
185 return;
186
187 SwView *pNewView = static_cast<SwView*>( pViewFrame->GetViewShell());
188 pNewView->AttrChangedNotify(nullptr);// So that SelectShell is being called.
189
190 // Set document title
191 OUString aTmp;
192 if(bLabel)
193 {
194 aTmp = SwResId( STR_LAB_TITLE) +
195 OUString::number(++nLabelTitleNo );
196 }
197 else
198 {
199 aTmp = pDlg->GetBusinessCardStr() +
200 OUString::number( ++nBCTitleNo );
201 }
202 xDocSh->SetTitle( aTmp );
203
204 pViewFrame->GetFrame().Appear();
205
206 // Determine Shell
207 SwWrtShell *pSh = pNewView->GetWrtShellPtr();
208 OSL_ENSURE( pSh, "missing WrtShell" );
209
210 if (pSh)
211 { // block for locks the dispatcher!!
212
213 SwWait aWait( static_cast<SwDocShell&>(*xDocSh), true );
214
215 CurrShell aCurr(pSh);
216 pSh->SetLabelDoc(rItem.m_bSynchron);
217 pSh->DoUndo( false );
218 pSh->StartAllAction();
219
220 pSh->SetNewDoc(); // Avoid performance problems
221
222 SwPageDesc aDesc = pSh->GetPageDesc( 0 );
223 SwFrameFormat& rFormat = aDesc.GetMaster();
224
225 // Borders
226 SvxLRSpaceItem aLRMargin( RES_LR_SPACE );
227 SvxULSpaceItem aULMargin( RES_UL_SPACE );
228 aLRMargin.SetLeft (o3tl::narrowing<sal_uInt16>(rItem.m_lLeft) );
229 aULMargin.SetUpper(o3tl::narrowing<sal_uInt16>(rItem.m_lUpper));
230 aLRMargin.SetRight( 0 );
231 aULMargin.SetLower( 0 );
232 rFormat.SetFormatAttr(aLRMargin);
233 rFormat.SetFormatAttr(aULMargin);
234
235 // Header and footer
236 rFormat.SetFormatAttr(SwFormatHeader(false));
237 aDesc.ChgHeaderShare(false);
238 rFormat.SetFormatAttr(SwFormatFooter(false));
239 aDesc.ChgFooterShare(false);
240
241 aDesc.SetUseOn(UseOnPage::All); // Site numbering
242
243 // Set page size
244 tools::Long lPgWidth, lPgHeight;
245 lPgWidth = std::max<sal_Int32>(rItem.m_lPWidth, MINLAY);
246 lPgHeight = std::max<sal_Int32>(rItem.m_lPHeight, MINLAY);
247 rFormat.SetFormatAttr( SwFormatFrameSize( SwFrameSize::Fixed, lPgWidth, lPgHeight ));
248 // Numbering type
249 SvxNumberType aType;
251 aDesc.SetNumType( aType );
252
253 // Followup template
254 const SwPageDesc &rFollow = pSh->GetPageDesc( pSh->GetCurPageDesc() );
255 aDesc.SetFollow( &rFollow );
256
257 pPrt = pSh->getIDocumentDeviceAccess().getPrinter( true );
259 aItem.SetValue(static_cast<sal_Int8>(pPrt->GetPaperBin()));
260 rFormat.SetFormatAttr(aItem);
261
262 // Determine orientation of the resulting page
263 aDesc.SetLandscape(rItem.m_lPWidth > rItem.m_lPHeight);
264
265 pSh->ChgPageDesc( 0, aDesc );
266
267 // Insert frame
268 std::optional<SwFieldMgr> pFieldMgr;
269 pFieldMgr.emplace();
270 pFieldMgr->SetEvalExpFields(false);
271
272 // Prepare border template
274 sal_Int32 iResultWidth = rItem.m_lLeft + (rItem.m_nCols - 1) * rItem.m_lHDist + rItem.m_lWidth - rItem.m_lPWidth;
275 sal_Int32 iResultHeight = rItem.m_lUpper + (rItem.m_nRows - 1) * rItem.m_lVDist + rItem.m_lHeight - rItem.m_lPHeight;
276 sal_Int32 iWidth = (iResultWidth > 0 ? rItem.m_lWidth - (iResultWidth / rItem.m_nCols) - 1 : rItem.m_lWidth);
277 sal_Int32 iHeight = (iResultHeight > 0 ? rItem.m_lHeight - (iResultHeight / rItem.m_nRows) - 1 : rItem.m_lHeight);
278 SwFormatFrameSize aFrameSize( SwFrameSize::Fixed, iWidth, iHeight );
279 pFormat->SetFormatAttr( aFrameSize );
280
281 //frame represents label itself, no border space
282 SvxULSpaceItem aFrameNoULSpace( 0, 0, RES_UL_SPACE );
283 SvxLRSpaceItem aFrameNoLRSpace( 0, 0, 0, RES_LR_SPACE );
284 pFormat->SetFormatAttr( aFrameNoULSpace );
285 pFormat->SetFormatAttr( aFrameNoLRSpace );
286
287 const SwFrameFormat *pFirstFlyFormat = nullptr;
288 if ( rItem.m_bPage )
289 {
290 SwFormatVertOrient aFrameVertOrient( pFormat->GetVertOrient() );
291 aFrameVertOrient.SetVertOrient( text::VertOrientation::TOP );
292 pFormat->SetFormatAttr(aFrameVertOrient);
293
294 for ( sal_Int32 i = 0; i < rItem.m_nRows; ++i )
295 {
296 for ( sal_Int32 j = 0; j < rItem.m_nCols; ++j )
297 {
298 pSh->Push();
299 const SwFrameFormat *pTmp = ( bLabel ?
300 lcl_InsertLabText( *pSh, rItem, *pFormat, *pFieldMgr, j, i,
301 i == rItem.m_nRows - 1 && j == rItem.m_nCols - 1 ) :
302 lcl_InsertBCText( *pSh, rItem, *pFormat, j, i ) );
303 if (!(i|j))
304 {
305 pFirstFlyFormat = pTmp;
306
307 if (rItem.m_bSynchron)
308 {
309 // if there is no content in the fly then
310 // don't leave the fly!!!
311 pSh->Push();
312 pSh->StartOfSection();
313 bool bInFly = nullptr != pSh->WizardGetFly();
315
316 if( bInFly )
317 pSh->EndOfSection(true); // select all content
318 // in the fly
319 else
320 pSh->SetMark(); // set only the mark
321
323 pSh->InsertSection(aSect);
324 }
325 }
326 else if (rItem.m_bSynchron)
327 {
329 pSh->GetUniqueSectionName());
330 OUString sLinkName =
331 OUStringChar(sfx2::cTokenSeparator) +
332 OUStringChar(sfx2::cTokenSeparator) +
334 aSect.SetLinkFileName(sLinkName);
335 aSect.SetProtectFlag(true);
336 pSh->Insert("."); // Dummytext to allocate the Section
337 pSh->StartOfSection();
338 pSh->EndOfSection(true); // Select everything in the frame
339 pSh->InsertSection(aSect);
340 }
342 }
343 }
344 }
345 else
346 {
347 pFirstFlyFormat = bLabel ?
348 lcl_InsertLabText( *pSh, rItem, *pFormat, *pFieldMgr,
349 static_cast< sal_uInt16 >(rItem.m_nCol - 1),
350 static_cast< sal_uInt16 >(rItem.m_nRow - 1), true ) :
351 lcl_InsertBCText(*pSh, rItem, *pFormat,
352 static_cast< sal_uInt16 >(rItem.m_nCol - 1),
353 static_cast< sal_uInt16 >(rItem.m_nRow - 1));
354 }
355
356 //fill the user fields
357 if(!bLabel)
358 {
359 uno::Reference< frame::XModel > xModel = pSh->GetView().GetDocShell()->GetBaseModel();
360 OSL_ENSURE(pDialogFactory, "SwAbstractDialogFactory fail!");
361 SwLabDlgMethod SwLabDlgUpdateFieldInformation = pDialogFactory->GetSwLabDlgStaticMethod ();
362 SwLabDlgUpdateFieldInformation(xModel, rItem);
363 }
364
365 pFieldMgr->SetEvalExpFields(true);
366 pFieldMgr->EvalExpFields(pSh);
367
368 pFieldMgr.reset();
369
370 if (pFirstFlyFormat)
371 pSh->GotoFly(pFirstFlyFormat->GetName(), FLYCNTTYPE_ALL, false);
372
373 if (pSh->IsAnyDatabaseFieldInDoc())
374 pSh->GetView().ShowUIElement("private:resource/toolbar/mailmerge");
375
376 pSh->EndAllAction();
377 pSh->DoUndo();
378 }
379
380 if (pSh && rItem.m_aWriting.indexOf('<') >= 0)
381 {
382 // Open database browser on recently used database
383 ShowDBObj( *pNewView, pSh->GetDBData() );
384 }
385
386 if( rItem.m_bSynchron )
387 {
388 SfxDispatcher* pDisp = pViewFrame->GetDispatcher();
389 assert(pDisp && "No dispatcher in frame?");
390 pDisp->Execute(FN_SYNC_LABELS, SfxCallMode::ASYNCHRON);
391 }
392 rReq.SetReturnValue(SfxVoidItem(bLabel ? FN_LABEL : FN_BUSINESS_CARD));
393
394}
395
396/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
OUString InsertLabEnvText(SwWrtShell &rSh, SwFieldMgr &rFieldMgr, const OUString &rText)
Definition: appenv.cxx:64
static const SwFrameFormat * lcl_InsertLabText(SwWrtShell &rSh, const SwLabItem &rItem, SwFrameFormat &rFormat, SwFieldMgr &rFieldMgr, sal_uInt16 nCol, sal_uInt16 nRow, bool bLast)
Definition: applab.cxx:102
constexpr OUStringLiteral MASTER_LABEL
Definition: applab.cxx:65
static const SwFrameFormat * lcl_InsertBCText(SwWrtShell &rSh, const SwLabItem &rItem, SwFrameFormat &rFormat, sal_uInt16 nCol, sal_uInt16 nRow)
Definition: applab.cxx:67
virtual SfxPrinter * getPrinter(bool bCreate) const =0
Return the printer set at the document.
virtual void setJobsetup(const JobSetup &rJobSetup)=0
Sets the Jobsetup.
sal_uInt16 GetPaperBin() const
const JobSetup & GetJobSetup() const
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
void Appear()
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void SetTitle(const OUString &rTitle)
css::uno::Reference< css::frame::XModel3 > GetBaseModel() const
void SetReturnValue(const SfxPoolItem &)
weld::Window * GetFrameWeld() const
SfxItemPool & GetPool() const
SfxViewShell * GetViewShell() const
SfxDispatcher * GetDispatcher()
SfxFrame & GetFrame() const
static SfxViewFrame * DisplayNewDocument(SfxObjectShell const &i_rDoc, const SfxRequest &i_rCreateDocRequest)
void SetRight(const tools::Long nR, const sal_uInt16 nProp=100)
void SetLeft(const tools::Long nL, const sal_uInt16 nProp=100)
void SetNumberingType(SvxNumType nSet)
void SetLower(const sal_uInt16 nL, const sal_uInt16 nProp=100)
void SetUpper(const sal_uInt16 nU, const sal_uInt16 nProp=100)
virtual SwLabDlgMethod GetSwLabDlgStaticMethod()=0
virtual VclPtr< AbstractSwLabDlg > CreateSwLabDlg(weld::Window *pParent, const SfxItemSet &rSet, SwDBManager *pDBManager, bool bLabel)=0
virtual GlossarySetActGroup SetGlossaryActGroupFunc()=0
static SwAbstractDialogFactory * Create()
Definition: swabstdlg.cxx:36
void Push()
store a copy of the current cursor on the cursor stack
Definition: crsrsh.cxx:2550
void GetPageNum(sal_uInt16 &rnPhyNum, sal_uInt16 &rnVirtNum, bool bAtCursorPos=true, const bool bCalcFrame=true)
Definition: crsrsh.cxx:1509
void SetMark()
Definition: crsrsh.hxx:906
IDocumentDeviceAccess & getIDocumentDeviceAccess()
Definition: docshini.cxx:701
void StartAllAction()
For all views of this document.
Definition: edws.cxx:86
SwSection const * InsertSection(SwSectionData &rNewData, SfxItemSet const *const =nullptr)
Definition: edsect.cxx:35
void SetNewDoc()
Optimizing UI.
Definition: edws.cxx:288
void SetTextFormatColl(SwTextFormatColl *, const bool bResetListAttrs=false)
Add 2nd optional parameter <bResetListAttrs> - see also <SwDoc::SetTextFormatColl(....
Definition: edfcol.cxx:2202
bool IsAnyDatabaseFieldInDoc() const
Definition: edfld.cxx:384
OUString GetUniqueSectionName(const OUString *pChkStr=nullptr) const
Definition: edsect.cxx:166
SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId)
Definition: edfmt.cxx:121
SwDBData const & GetDBData() const
Database information.
Definition: edfld.cxx:292
SwFrameFormat * GetFrameFormatFromPool(sal_uInt16 nId)
Definition: editsh.hxx:353
void DoUndo(bool bOn=true)
Undo.
Definition: edws.cxx:200
void SetLabelDoc(bool bFlag)
Labels: Synchronize ranges.
Definition: edfld.cxx:369
void EndAllAction()
Definition: edws.cxx:97
void ChgPageDesc(size_t i, const SwPageDesc &)
Definition: fedesc.cxx:111
size_t GetCurPageDesc(const bool bCalcFrame=true) const
Definition: fedesc.cxx:167
const SwFrameFormat * NewFlyFrame(const SfxItemSet &rSet, bool bAnchValid=false, SwFrameFormat *pParent=nullptr)
Definition: fefly1.cxx:660
SwFrameFormat * WizardGetFly()
Find/delete fly containing the cursor.
Definition: fefly1.cxx:1442
const SwPageDesc & GetPageDesc(size_t i) const
Definition: fedesc.cxx:126
bool InsertField(SwInsertField_Data &rData)
Definition: fldmgr.cxx:895
FlyAnchors.
Definition: fmtanchr.hxx:37
Footer, for pageformats Client of FrameFormat describing the footer.
Definition: fmthdft.hxx:65
Header, for PageFormats Client of FrameFormat describing the header.
Definition: fmthdft.hxx:34
Defines the horizontal position of a fly frame.
Definition: fmtornt.hxx:73
Defines the vertical position of a fly frame.
Definition: fmtornt.hxx:37
void SetVertOrient(sal_Int16 eNew)
Definition: fmtornt.hxx:59
const OUString & GetName() const
Definition: format.hxx:131
const SwFormatVertOrient & GetVertOrient(bool=true) const
Definition: fmtornt.hxx:113
virtual bool SetFormatAttr(const SfxPoolItem &rAttr)
Definition: format.cxx:447
Style of a layout element.
Definition: frmfmt.hxx:72
void SetCurGroup(const OUString &aGrp, bool bApi=false, bool bAlwaysCreateNew=false)
Definition: gloshdl.cxx:95
SwLabItem & GetItem()
Definition: labimg.hxx:118
sal_Int32 m_nRows
Definition: labimg.hxx:57
sal_Int32 m_lPWidth
Definition: labimg.hxx:61
sal_Int32 m_lUpper
Definition: labimg.hxx:55
sal_Int32 m_lPHeight
Definition: labimg.hxx:60
OUString m_aWriting
Definition: labimg.hxx:47
bool m_bPage
Definition: labimg.hxx:64
sal_Int32 m_nCol
Definition: labimg.hxx:58
sal_Int32 m_lWidth
Definition: labimg.hxx:52
sal_Int32 m_lVDist
Definition: labimg.hxx:51
sal_Int32 m_nCols
Definition: labimg.hxx:56
sal_Int32 m_lLeft
Definition: labimg.hxx:54
sal_Int32 m_lHeight
Definition: labimg.hxx:53
OUString m_sGlossaryBlockName
Definition: labimg.hxx:102
sal_Int32 m_nRow
Definition: labimg.hxx:59
OUString m_sGlossaryGroup
Definition: labimg.hxx:101
sal_Int32 m_lHDist
Definition: labimg.hxx:50
bool m_bSynchron
Definition: labimg.hxx:65
static void ShowDBObj(SwView const &rView, const SwDBData &rData)
Definition: swmodul1.cxx:367
void InsertLab(SfxRequest &, bool bLabel)
Definition: applab.cxx:135
void ChgFooterShare(bool bNew)
Definition: pagedesc.hxx:334
void SetFollow(const SwPageDesc *pNew)
Definition: pagedesc.hxx:314
SwFrameFormat & GetMaster()
Definition: pagedesc.hxx:238
void ChgHeaderShare(bool bNew)
Definition: pagedesc.hxx:327
void SetNumType(const SvxNumberType &rNew)
Definition: pagedesc.hxx:203
void SetUseOn(UseOnPage eNew)
Same as WriteUseOn(), but the >= HeaderShare part of the bitfield is not modified.
Definition: pagedesc.hxx:341
void SetLandscape(bool bNew)
Definition: pagedesc.hxx:200
SAL_DLLPRIVATE void SetProtectFlag(bool const bFlag)
Definition: section.hxx:106
void SetLinkFileName(OUString const &rNew)
Definition: section.hxx:118
const IDocumentDeviceAccess & getIDocumentDeviceAccess() const
Provides access to the document device interface.
Definition: viewsh.cxx:2819
const SfxItemPool & GetAttrPool() const
Definition: viewsh.hxx:648
Definition: view.hxx:146
SwWrtShell * GetWrtShellPtr() const
Definition: view.hxx:424
SwGlossaryHdl * GetGlosHdl()
Definition: view.cxx:1691
SwDocShell * GetDocShell()
Definition: view.cxx:1193
void ShowUIElement(const OUString &sElementURL) const
Definition: view.cxx:241
Used by the UI to modify the document model.
Definition: wrtsh.hxx:97
bool GotoFly(const OUString &rName, FlyCntType eType=FLYCNTTYPE_ALL, bool bSelFrame=true)
Definition: move.cxx:637
void Insert(const OUString &)
Definition: wrtsh1.cxx:226
bool EndOfSection(bool bSelect=false)
Definition: move.cxx:352
void UnSelectFrame()
Definition: select.cxx:332
bool Pop(SwCursorShell::PopMode, ::std::optional< SwCallLink > &roLink)
Definition: wrtsh1.cxx:2047
bool StartOfSection(bool bSelect=false)
Definition: move.cxx:346
const SwView & GetView() const
Definition: wrtsh.hxx:443
#define FN_SYNC_LABELS
Definition: cmdid.h:496
virtual const SfxItemSet * GetOutputItemSet() const override
float u
@ FLYCNTTYPE_ALL
Definition: flyenum.hxx:25
@ Fixed
Frame cannot be moved in Var-direction.
constexpr TypedWhichId< SvxPaperBinItem > RES_PAPER_BIN(90)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
return NULL
constexpr OUStringLiteral aData
Definition: ww8scan.hxx:48
OUString setToken(const OUString &rIn, sal_Int32 nToken, sal_Unicode cTok, std::u16string_view rNewToken)
int i
const sal_Unicode cTokenSeparator
long Long
@ RES_POOLCOLL_STANDARD
Standard.
Definition: poolfmt.hxx:250
@ RES_POOLFRM_LABEL
Labels.
Definition: poolfmt.hxx:160
Reference< XModel > xModel
SVX_NUM_NUMBER_NONE
void(* GlossarySetActGroup)(const OUString &rNewGroup)
Definition: swabstdlg.hxx:89
void(* SwLabDlgMethod)(css::uno::Reference< css::frame::XModel > const &xModel, const SwLabItem &rItem)
Definition: swabstdlg.hxx:86
OUString SwResId(TranslateId aId)
Definition: swmodule.cxx:168
#define MINLAY
Definition: swtypes.hxx:62
tools::Long SwTwips
Definition: swtypes.hxx:51
#define DB_DELIM
Definition: swtypes.hxx:130
signed char sal_Int8
RET_OK