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