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