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