LibreOffice Module sw (master) 1
view0.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_wasm_strip.h>
22
24#include <svl/eitem.hxx>
27#include <unotools/lingucfg.hxx>
28#include <officecfg/Office/Common.hxx>
29#include <viewopt.hxx>
30#include <globals.h>
31#include <sfx2/infobar.hxx>
32#include <sfx2/request.hxx>
33#include <svl/whiter.hxx>
34#include <svx/srchdlg.hxx>
35#include <sfx2/viewfrm.hxx>
36#include <sfx2/bindings.hxx>
37#include <sfx2/dispatch.hxx>
39#include <uivwimp.hxx>
41#include <swmodule.hxx>
42#include <com/sun/star/linguistic2/XLinguProperties.hpp>
43#include <osl/diagnose.h>
44
45#include <sfx2/objface.hxx>
46#include <wrtsh.hxx>
47#include <edtwin.hxx>
48#include <view.hxx>
49#include <docsh.hxx>
50#include <doc.hxx>
51#include <globals.hrc>
52#include <cmdid.h>
53#include <globdoc.hxx>
54#include <wview.hxx>
56
57#define ShellClass_SwView
58#define ShellClass_Text
59#define ShellClass_TextDrawText
60
61#include <sfx2/msg.hxx>
62#include <swslots.hxx>
63#include <PostItMgr.hxx>
64
65using namespace ::com::sun::star;
66
68#include <sfx2/viewfac.hxx>
69
70#include <memory>
71#include <swabstdlg.hxx>
72
74{
76 {
79 }
80}
81
83
84void SwView::InitInterface_Impl()
85{
86 GetStaticInterface()->RegisterChildWindow(SID_NAVIGATOR, true);
87
88 GetStaticInterface()->RegisterChildWindow(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
89
90 GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId());
91 GetStaticInterface()->RegisterChildWindow(SvxSearchDialogWrapper::GetChildWindowId());
92 GetStaticInterface()->RegisterChildWindow(SwSpellDialogChildWindow::GetChildWindowId());
93 GetStaticInterface()->RegisterChildWindow(FN_REDLINE_ACCEPT);
94 GetStaticInterface()->RegisterChildWindow(SID_HYPERLINK_DIALOG);
95 GetStaticInterface()->RegisterChildWindow(FN_WORDCOUNT_DIALOG);
96#if HAVE_FEATURE_AVMEDIA
97 GetStaticInterface()->RegisterChildWindow(::avmedia::MediaPlayer::GetChildWindowId());
98#endif
99 GetStaticInterface()->RegisterChildWindow(FN_INSERT_FIELD_DATA_ONLY);
100
101 GetStaticInterface()->RegisterChildWindow(FN_SYNC_LABELS, false, SfxShellFeature::SwChildWindowLabel);
102
103 GetStaticInterface()->RegisterObjectBar(SFX_OBJECTBAR_TOOLS, SfxVisibilityFlags::Standard|SfxVisibilityFlags::Server,
104 ToolbarId::Tools_Toolbox);
105}
106
107
109{
110 return m_pViewImpl->GetShellMode();
111}
112
113view::XSelectionSupplier* SwView::GetUNOObject()
114{
115 return m_pViewImpl->GetUNOObject();
116}
117
119{
120#if ENABLE_WASM_STRIP_ACCESSIBILITY
121 (void)rAccessibilityOptions;
122#else
123 m_pWrtShell->ApplyAccessibilityOptions(rAccessibilityOptions);
124 //to enable the right state of the selection cursor in readonly documents
125 if(GetDocShell()->IsReadOnly())
126 m_pWrtShell->ShowCursor();
127#endif
128}
129
130void SwView::SetMailMergeConfigItem(std::shared_ptr<SwMailMergeConfigItem> const & rConfigItem)
131{
132 m_pViewImpl->SetMailMergeConfigItem(rConfigItem);
134}
135
136std::shared_ptr<SwMailMergeConfigItem> const & SwView::GetMailMergeConfigItem() const
137{
138 return m_pViewImpl->GetMailMergeConfigItem();
139}
140
141static bool lcl_IsViewMarks( const SwViewOption& rVOpt )
142{
143 return rVOpt.IsHardBlank() &&
144 rVOpt.IsSoftHyph() &&
145 rVOpt.IsFieldShadings();
146}
147static void lcl_SetViewMarks(SwViewOption& rVOpt, bool bOn )
148{
149 rVOpt.SetHardBlank(bOn);
150 rVOpt.SetSoftHyph(bOn);
151 rVOpt.SetAppearanceFlag(
152 ViewOptFlags::FieldShadings, bOn, true);
153}
154
155static void lcl_SetViewMetaChars( SwViewOption& rVOpt, bool bOn)
156{
157 rVOpt.SetViewMetaChars( bOn );
158 if(bOn && !(rVOpt.IsParagraph() ||
159 rVOpt.IsTab() ||
160 rVOpt.IsLineBreak() ||
161 rVOpt.IsShowHiddenChar() ||
162 rVOpt.IsShowBookmarks() ||
163 rVOpt.IsBlank()))
164 {
165 rVOpt.SetParagraph(bOn);
166 rVOpt.SetTab(bOn);
167 rVOpt.SetLineBreak(bOn);
168 rVOpt.SetBlank(bOn);
169 rVOpt.SetShowHiddenChar(bOn);
170 rVOpt.SetShowBookmarks(bOn);
171 }
172}
173
175{
176 // OS: pay attention to numerical order!
177 static sal_uInt16 const aInva[] =
178 {
179 //SID_NEWWINDOW,/*5620*/
180 SID_BROWSER_MODE, /*6313*/
181 SID_RULER_BORDERS, SID_RULER_PAGE_POS,
182 //SID_ATTR_LONG_LRSPACE,
183 SID_HTML_MODE,
184 SID_RULER_PROTECT, /* 10915 */
185 //SID_AUTOSPELL_CHECK,
186 //SID_AUTOSPELL_MARKOFF,
187 SID_TOGGLE_RESOLVED_NOTES, /* 11672*/
188 FN_RULER, /*20211*/
189 FN_VIEW_GRAPHIC, /*20213*/
191 FN_VIEW_FIELDS, /*20215*/
192 FN_VLINEAL, /*20216*/
193 FN_VSCROLLBAR, /*20217*/
194 FN_HSCROLLBAR, /*20218*/
198 //FN_VIEW_FIELDNAME, /**/
199 FN_VIEW_TABLEGRID, /*20227*/
200 FN_PRINT_LAYOUT, /*20237*/
201 FN_QRY_MERGE, /*20364*/
203 0
204 };
205 // the view must not exist!
207 CheckVisArea();
208
210 if( GetWrtShell().GetViewOptions()->getBrowseMode() && SvxZoomType::PERCENT != (eType =
211 GetWrtShell().GetViewOptions()->GetZoomType()) )
212 SetZoom( eType );
214}
215
216// State of view options
217
219{
220 SfxWhichIter aIter(rSet);
221 sal_uInt16 nWhich = aIter.FirstWhich();
222 SfxBoolItem aBool;
223 const SwViewOption* pOpt = GetWrtShell().GetViewOptions();
224
225 while(nWhich)
226 {
227 bool bReadonly = GetDocShell()->IsReadOnly();
228 if ( bReadonly && nWhich != FN_VIEW_GRAPHIC )
229 {
230 rSet.DisableItem(nWhich);
231 nWhich = 0;
232 }
233 switch(nWhich)
234 {
235 case FN_RULER:
236 {
237 if(!pOpt->IsViewHRuler(true) && !pOpt->IsViewVRuler(true))
238 {
239 rSet.DisableItem(nWhich);
240 nWhich = 0;
241 }
242 else
243 aBool.SetValue( pOpt->IsViewAnyRuler());
244 }
245 break;
246 case SID_BROWSER_MODE:
247 case FN_PRINT_LAYOUT:
248 {
249 bool bState = pOpt->getBrowseMode();
250 if(FN_PRINT_LAYOUT == nWhich)
251 bState = !bState;
252 aBool.SetValue( bState );
253 }
254 break;
255 case FN_VIEW_BOUNDS:
256 aBool.SetValue( pOpt->IsDocBoundaries()); break;
258 aBool.SetValue(pOpt->IsSectionBoundaries()); break;
259 case FN_VIEW_GRAPHIC:
260 aBool.SetValue( pOpt->IsGraphic() ); break;
261 case FN_VIEW_FIELDS:
262 aBool.SetValue( pOpt->IsFieldShadings() ); break;
264 aBool.SetValue( pOpt->IsFieldName() ); break;
265 case FN_VIEW_MARKS:
266 aBool.SetValue( lcl_IsViewMarks(*pOpt) ); break;
268 aBool.SetValue( pOpt->IsViewMetaChars() ); break;
270 aBool.SetValue( pOpt->IsTableBoundaries() ); break;
271 case SID_TOGGLE_NOTES:
272 {
273 if (!GetPostItMgr()->HasNotes())
274 {
275 rSet.DisableItem(nWhich);
276 nWhich = 0;
277 }
278 else
279 aBool.SetValue( pOpt->IsPostIts());
280 break;
281 }
282 case SID_TOGGLE_RESOLVED_NOTES:
283 {
284 if (!GetPostItMgr()->HasNotes())
285 {
286 rSet.DisableItem(nWhich);
287 nWhich = 0;
288 }
289 else
290 aBool.SetValue( pOpt->IsResolvedPostIts());
291 break;
292 }
294 aBool.SetValue( pOpt->IsShowHiddenPara()); break;
296 {
297 if (pOpt->getBrowseMode() || !pOpt->CanHideWhitespace())
298 {
299 rSet.DisableItem(nWhich);
300 nWhich = 0;
301 }
302 else
303 aBool.SetValue(pOpt->IsHideWhitespaceMode());
304 break;
305 }
307 {
308 aBool.SetValue(!pOpt->IsHideWhitespaceMode());
309 break;
310 }
311 case SID_GRID_VISIBLE:
312 aBool.SetValue( pOpt->IsGridVisible() ); break;
313 case SID_GRID_USE:
314 aBool.SetValue( pOpt->IsSnap() ); break;
315 case SID_HELPLINES_MOVE:
316 aBool.SetValue( pOpt->IsCrossHair() ); break;
318 aBool.SetValue( pOpt->IsSmoothScroll()); break;
319 case FN_VLINEAL:
320 aBool.SetValue( StatVRuler() ); break;
321 case FN_HSCROLLBAR:
322 if( pOpt->getBrowseMode() )
323 {
324 rSet.DisableItem(nWhich);
325 nWhich = 0;
326 }
327 else
328 aBool.SetValue( IsHScrollbarVisible() );
329 break;
330 case FN_VSCROLLBAR:
331 aBool.SetValue( IsVScrollbarVisible() ); break;
332 case SID_AUTOSPELL_CHECK:
333 aBool.SetValue( pOpt->IsOnlineSpell() );
334 break;
335 case SID_ACCESSIBILITY_CHECK_ONLINE:
336 {
338 aBool.SetValue(bOnlineAccessibilityCheck);
339 }
340 break;
341 case FN_SHADOWCURSOR:
342 if ( pOpt->getBrowseMode() )
343 {
344 rSet.DisableItem( nWhich );
345 nWhich = 0;
346 }
347 else
348 aBool.SetValue( pOpt->IsShadowCursor() );
349 break;
351 aBool.SetValue( pOpt->IsShowInlineTooltips() );
352 break;
354 aBool.SetValue( pOpt->IsUseHeaderFooterMenu() );
355 break;
358 break;
360 aBool.SetValue( pOpt->IsShowChangesInMargin() );
361 break;
362 }
363
364 if( nWhich )
365 {
366 aBool.SetWhich( nWhich );
367 rSet.Put( aBool );
368 }
369 nWhich = aIter.NextWhich();
370 }
371}
372
373// execute view options
374
376{
377 std::optional<SwViewOption> pOpt( *GetWrtShell().GetViewOptions() );
378 bool bModified = GetWrtShell().IsModified();
379
380 int eState = STATE_TOGGLE;
381 bool bSet = false;
382 bool bBrowseModeChanged = false;
383
384 const SfxItemSet *pArgs = rReq.GetArgs();
385 sal_uInt16 nSlot = rReq.GetSlot();
386 const SfxPoolItem* pAttr=nullptr;
387
388 if( pArgs && SfxItemState::SET == pArgs->GetItemState( nSlot , false, &pAttr ))
389 {
390 bSet = static_cast<const SfxBoolItem*>(pAttr)->GetValue();
391 eState = bSet ? STATE_ON : STATE_OFF;
392 }
393
394 bool bFlag = STATE_ON == eState;
395 uno::Reference< linguistic2::XLinguProperties > xLngProp( ::GetLinguPropertySet() );
396
397 switch ( nSlot )
398 {
399 case FN_VIEW_GRAPHIC:
400 if( STATE_TOGGLE == eState )
401 bFlag = !pOpt->IsGraphic();
402 pOpt->SetGraphic( bFlag );
403 break;
404
405 case FN_VIEW_FIELDS:
406 if( STATE_TOGGLE == eState )
407 bFlag = !pOpt->IsFieldShadings() ;
408 pOpt->SetAppearanceFlag(ViewOptFlags::FieldShadings, bFlag, true );
409 break;
410
411 case FN_VIEW_BOUNDS:
412 if( STATE_TOGGLE == eState )
413 bFlag = !pOpt->IsDocBoundaries();
414 pOpt->SetAppearanceFlag(ViewOptFlags::DocBoundaries, bFlag, true );
415 break;
416
418 if( STATE_TOGGLE == eState )
419 bFlag = !pOpt->IsSectionBoundaries();
420 pOpt->SetAppearanceFlag(ViewOptFlags::SectionBoundaries, bFlag, true );
421 break;
422
423 case SID_GRID_VISIBLE:
424 if( STATE_TOGGLE == eState )
425 bFlag = !pOpt->IsGridVisible();
426
427 pOpt->SetGridVisible( bFlag );
428 break;
429
430 case SID_GRID_USE:
431 if( STATE_TOGGLE == eState )
432 bFlag = !pOpt->IsSnap();
433
434 pOpt->SetSnap( bFlag );
435 break;
436
437 case SID_HELPLINES_MOVE:
438 if( STATE_TOGGLE == eState )
439 bFlag = !pOpt->IsCrossHair();
440
441 pOpt->SetCrossHair( bFlag );
442 break;
443
444 case SID_BROWSER_MODE:
445 bBrowseModeChanged = !pOpt->getBrowseMode();
446 pOpt->setBrowseMode(true );
447 break;
448
449 case FN_PRINT_LAYOUT:
450 bBrowseModeChanged = pOpt->getBrowseMode();
451 pOpt->setBrowseMode( false );
452 break;
453
454 case SID_TOGGLE_NOTES:
455 if ( STATE_TOGGLE == eState )
456 bFlag = !pOpt->IsPostIts();
457
459 pOpt->SetPostIts( bFlag );
460 if (pOpt->IsPostIts())
462 break;
463
464 case SID_TOGGLE_RESOLVED_NOTES:
465 if ( STATE_TOGGLE == eState )
466 bFlag = pOpt->IsResolvedPostIts();
467
469
471 pOpt->SetResolvedPostIts( !bFlag );
472
473 break;
474
476 if ( STATE_TOGGLE == eState )
477 bFlag = !pOpt->IsShowHiddenPara();
478
479 pOpt->SetShowHiddenPara( bFlag );
480 break;
481
483 if ( STATE_TOGGLE == eState )
484 bFlag = !pOpt->IsHideWhitespaceMode();
485
486 pOpt->SetHideWhitespaceMode(bFlag);
487 break;
488
490 if ( STATE_TOGGLE == eState )
491 bFlag = pOpt->IsHideWhitespaceMode();
492
493 pOpt->SetHideWhitespaceMode(!bFlag);
494 break;
495
497
498 if ( STATE_TOGGLE == eState )
499 bFlag = !pOpt->IsSmoothScroll();
500
501 pOpt->SetSmoothScroll( bFlag );
502 break;
503
504 case FN_VLINEAL:
505 if( STATE_TOGGLE == eState )
506 bFlag = !pOpt->IsViewVRuler();
507
508 pOpt->SetViewVRuler( bFlag );
509 break;
510
511 case FN_VSCROLLBAR:
512 if( STATE_TOGGLE == eState )
513 bFlag = !pOpt->IsViewVScrollBar();
514
515 pOpt->SetViewVScrollBar( bFlag );
516 break;
517
518 case FN_HSCROLLBAR:
519 if( STATE_TOGGLE == eState )
520 bFlag = !pOpt->IsViewHScrollBar();
521
522 pOpt->SetViewHScrollBar( bFlag );
523 break;
524
525 case FN_RULER:
526 if( STATE_TOGGLE == eState )
527 bFlag = !pOpt->IsViewAnyRuler();
528
529 pOpt->SetViewAnyRuler( bFlag );
530 break;
531
533 if( STATE_TOGGLE == eState )
534 bFlag = !pOpt->IsTableBoundaries();
535 pOpt->SetAppearanceFlag(ViewOptFlags::TableBoundaries, bFlag, true );
536 break;
537
539 if( STATE_TOGGLE == eState )
540 bFlag = !pOpt->IsFieldName() ;
541
542 pOpt->SetFieldName( bFlag );
543 break;
544
545 case FN_VIEW_MARKS:
546 if( STATE_TOGGLE == eState )
547 bFlag = !lcl_IsViewMarks(*pOpt) ;
548
549 lcl_SetViewMarks( *pOpt, bFlag );
550 break;
551
553 if( STATE_TOGGLE == eState )
554 bFlag = !pOpt->IsViewMetaChars();
555
556 lcl_SetViewMetaChars( *pOpt, bFlag );
557 break;
558
559 case SID_AUTOSPELL_CHECK:
560 const SfxPoolItem* pItem;
561
562 if (pArgs && pArgs->HasItem(FN_PARAM_1, &pItem))
563 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
564 else if( STATE_TOGGLE == eState )
565 {
566 bFlag = !pOpt->IsOnlineSpell();
567 bSet = bFlag;
568 }
569
570 pOpt->SetOnlineSpell(bSet);
571 {
572 SvtLinguConfig aCfg;
573 aCfg.SetProperty( UPN_IS_SPELL_AUTO, uno::Any( bSet ) );
574
575 if (xLngProp.is())
576 xLngProp->setIsSpellAuto( bSet );
577
578 // for the time being we do not have a specific option for grammarchecking.
579 // thus we'll use the one for spell checking...
580 if (bSet)
581 {
582 SwDocShell *pDocSh = GetDocShell();
583 SwDoc *pDoc = pDocSh? pDocSh->GetDoc() : nullptr;
584
585 // right now we don't have view options for automatic grammar checking. Thus...
586 bool bIsAutoGrammar = false;
587 aCfg.GetProperty( UPN_IS_GRAMMAR_AUTO ) >>= bIsAutoGrammar;
588
589 if (pDoc && bIsAutoGrammar)
590 pDoc->StartGrammarChecking();
591 }
592 }
593 break;
594
595 case SID_ACCESSIBILITY_CHECK_ONLINE:
596 {
597 if (pArgs && pArgs->HasItem(FN_PARAM_1, &pItem))
598 {
599 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
600 }
601 else if (STATE_TOGGLE == eState)
602 {
604 bSet = !bOnlineCheck;
605 }
606 std::shared_ptr<comphelper::ConfigurationChanges> batch(comphelper::ConfigurationChanges::create());
607 officecfg::Office::Common::Accessibility::OnlineAccessibilityCheck::set(bSet, batch);
608 batch->commit();
609
610 SwDocShell *pDocSh = GetDocShell();
611 SwDoc* pDocument = pDocSh? pDocSh->GetDoc() : nullptr;
612 if (pDocument)
613 pDocument->getOnlineAccessibilityCheck()->updateCheckerActivity();
614 }
615 break;
616
617 case FN_SHADOWCURSOR:
618 if( STATE_TOGGLE == eState )
619 {
620 bFlag = !pOpt->IsShadowCursor();
621 bSet = bFlag;
622 }
623
624 pOpt->SetShadowCursor(bSet);
625 break;
626
628 if( STATE_TOGGLE == eState )
629 bFlag = !pOpt->IsShowInlineTooltips();
630
631 pOpt->SetShowInlineTooltips( bFlag );
632 break;
633
635 if( STATE_TOGGLE == eState )
636 bFlag = !pOpt->IsUseHeaderFooterMenu();
637
638 pOpt->SetUseHeaderFooterMenu( bFlag );
639 break;
640
642 {
643 if( STATE_TOGGLE == eState )
644 bFlag = !pOpt->IsShowOutlineContentVisibilityButton();
645
646 SwWrtShell &rSh = GetWrtShell();
647
648 if (!bFlag) // Outline folding is being turned ON!
650
651 pOpt->SetShowOutlineContentVisibilityButton(bFlag);
652
653 // Apply option change here so if toggling the outline folding feature ON
654 // the invalidate function will see this.
655 rSh.StartAction();
656 rSh.ApplyViewOptions(*pOpt);
657 rSh.EndAction();
658
659 if (bFlag) // Outline folding is being turned OFF!
661
662 break;
663 }
664
666 if( STATE_TOGGLE == eState )
667 bFlag = !pOpt->IsShowChangesInMargin();
668
669 pOpt->SetShowChangesInMargin( bFlag );
670 break;
671
672 default:
673 OSL_FAIL("wrong request method");
674 return;
675 }
676
677 // Set UserPrefs, mark request as modified
678 bool bWebView = dynamic_cast<const SwWebView*>(this) != nullptr;
679 SwWrtShell &rSh = GetWrtShell();
680 rSh.StartAction();
681 SwModule* pModule = SW_MOD();
682 if( *rSh.GetViewOptions() != *pOpt )
683 {
684 rSh.ApplyViewOptions( *pOpt );
685 if( bBrowseModeChanged )
686 {
688 }
689
690 // The UsrPref must be marked as modified.
691 // call for initialization
692 pModule->GetUsrPref(bWebView);
693 SwModule::CheckSpellChanges( pOpt->IsOnlineSpell(), false, false, false );
694 }
695 //OS: Set back modified again, because view/fields sets the Doc modified.
696 if( !bModified )
697 rSh.ResetModified();
698
699 pModule->ApplyUsrPref( *pOpt, this, bWebView ? SvViewOpt::DestWeb : SvViewOpt::DestText );
700
701 // #i6193# let postits know about new spellcheck setting
702 if ( nSlot == SID_AUTOSPELL_CHECK )
704
705 const bool bLockedView = rSh.IsViewLocked();
706 rSh.LockView( true ); //lock visible section
708 if( bBrowseModeChanged && !bFlag )
709 CalcVisArea( GetEditWin().GetOutputSizePixel() );
710 rSh.LockView( bLockedView );
711
712 pOpt.reset();
713 Invalidate(rReq.GetSlot());
714 if(!pArgs)
715 rReq.AppendItem(SfxBoolItem(nSlot, bFlag));
716 rReq.Done();
717}
718
720{
723 pDlg->Execute();
724}
725
727{
731 pDlg->Execute();
732}
733
734/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void Invalidate(sal_uInt16 nId)
void SetValue(bool const bTheValue)
bool HasItem(sal_uInt16 nWhich, const SfxPoolItem **ppItem=nullptr) const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void DisableItem(sal_uInt16 nWhich)
bool IsReadOnly() const
void SetWhich(sal_uInt16 nId)
sal_uInt16 GetSlot() const
const SfxItemSet * GetArgs() const
void AppendItem(const SfxPoolItem &)
void Done(bool bRemove=false)
virtual void Invalidate(sal_uInt16 nId=0)
void UIFeatureChanged()
SfxBindings & GetBindings()
weld::Window * GetFrameWeld() const
void InvalidateBorder()
SfxViewFrame & GetViewFrame() const
sal_uInt16 FirstWhich()
sal_uInt16 NextWhich()
css::uno::Any GetProperty(std::u16string_view rPropertyName) const
bool SetProperty(std::u16string_view rPropertyName, const css::uno::Any &rValue)
virtual VclPtr< SfxAbstractTabDialog > CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh)=0
virtual VclPtr< SfxAbstractTabDialog > CreateOutlineTabDialog(weld::Window *pParent, const SfxItemSet *pSwItemSet, SwWrtShell &)=0
static SwAbstractDialogFactory * Create()
Definition: swabstdlg.cxx:36
void StartAction()
Definition: crsrsh.cxx:226
void EndAction(const bool bIdleEnd=false)
Definition: crsrsh.cxx:243
void ToggleLayoutMode(SwView *pView)
Definition: docsh2.cxx:154
SwDoc * GetDoc()
returns Doc. But be careful!
Definition: docsh.hxx:204
Definition: doc.hxx:195
bool StartGrammarChecking(bool bSkipStart=false)
Definition: docnew.cxx:141
std::unique_ptr< sw::OnlineAccessibilityCheck > const & getOnlineAccessibilityCheck() const
Definition: doc.hxx:1572
bool IsModified() const
Changes in document?
Definition: edws.cxx:65
void ResetModified()
Definition: edws.cxx:75
static void CheckSpellChanges(bool bOnlineSpelling, bool bIsSpellWrongAgain, bool bIsSpellAllAgain, bool bSmartTags)
Definition: swmodul1.cxx:642
const SwMasterUsrPref * GetUsrPref(bool bWeb) const
Definition: apphdl.cxx:1094
void ApplyUsrPref(const SwViewOption &, SwView *, SvViewOpt nDest=SvViewOpt::DestView)
Definition: swmodul1.cxx:136
void SetLayout()
Definition: PostItMgr.hxx:201
void SetSpellChecking()
Definition: PostItMgr.cxx:2290
void CheckMetaText()
Definition: PostItMgr.cxx:2304
void ShowHideResolvedNotes(bool visible)
Definition: PostItMgr.cxx:2502
bool IsViewHRuler(bool bDirect=false) const
Definition: viewopt.hxx:758
bool IsHideWhitespaceMode() const
Definition: viewopt.hxx:649
bool IsParagraph(bool bHard=false) const
Definition: viewopt.hxx:371
bool IsSectionBoundaries() const
Definition: viewopt.hxx:839
void SetLineBreak(bool b)
Definition: viewopt.hxx:396
bool IsShadowCursor() const
Definition: viewopt.hxx:787
bool IsSmoothScroll() const
Definition: viewopt.hxx:576
void SetTab(bool b)
Definition: viewopt.hxx:348
bool IsShowBookmarks(bool const bHard=false) const
Definition: viewopt.hxx:385
bool IsBlank(bool bHard=false) const
Definition: viewopt.hxx:353
bool IsShowOutlineContentVisibilityButton() const
Definition: viewopt.cxx:178
bool IsGridVisible() const
Definition: viewopt.hxx:534
void SetShowHiddenChar(bool b)
Definition: viewopt.hxx:493
void SetHardBlank(bool b)
Definition: viewopt.hxx:366
bool IsShowHiddenPara() const
Definition: viewopt.hxx:570
bool IsHardBlank() const
Definition: viewopt.hxx:362
void SetParagraph(bool b)
Definition: viewopt.hxx:376
void SetSoftHyph(bool b)
Definition: viewopt.hxx:414
bool IsViewAnyRuler() const
Definition: viewopt.hxx:747
void SetShowBookmarks(bool const b)
Definition: viewopt.hxx:381
void SetBlank(bool b)
Definition: viewopt.hxx:357
bool getBrowseMode() const
Definition: viewopt.hxx:638
bool IsShowHiddenChar(bool bHard=false) const
Definition: viewopt.hxx:489
bool IsViewVRuler(bool bDirect=false) const
Definition: viewopt.hxx:772
bool IsGraphic() const
Definition: viewopt.hxx:501
bool IsSoftHyph() const
Definition: viewopt.hxx:411
bool IsFieldName() const
Definition: viewopt.hxx:419
bool IsTableBoundaries() const
Definition: viewopt.hxx:834
bool IsPostIts() const
Definition: viewopt.hxx:427
bool CanHideWhitespace() const
The rules that allow for hiding whitespace.
Definition: viewopt.hxx:653
bool IsViewMetaChars() const
Definition: viewopt.hxx:548
bool IsResolvedPostIts() const
Definition: viewopt.hxx:437
bool IsLineBreak(bool bHard=false) const
Definition: viewopt.hxx:391
bool IsTab(bool bHard=false) const
Definition: viewopt.hxx:344
bool IsOnlineSpell() const
Definition: viewopt.hxx:539
bool IsDocBoundaries() const
Definition: viewopt.hxx:832
bool IsUseHeaderFooterMenu() const
Definition: viewopt.hxx:475
void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig=false)
Definition: viewopt.cxx:547
bool IsShowInlineTooltips() const
Definition: viewopt.hxx:448
bool IsShowChangesInMargin() const
Definition: viewopt.hxx:457
bool IsFieldShadings() const
Definition: viewopt.hxx:838
bool IsSnap() const
Definition: viewopt.hxx:526
bool IsCrossHair() const
Definition: viewopt.hxx:558
void SetViewMetaChars(bool b)
Definition: viewopt.hxx:550
bool IsViewLocked() const
Definition: viewsh.hxx:472
const SwViewOption * GetViewOptions() const
Definition: viewsh.hxx:434
void LockView(bool b)
Definition: viewsh.hxx:473
Definition: view.hxx:146
bool StatVRuler() const
Definition: view.hxx:499
SwWrtShell & GetWrtShell() const
Definition: view.hxx:421
std::unique_ptr< SwView_Impl > m_pViewImpl
Definition: view.hxx:200
std::unique_ptr< SwWrtShell > m_pWrtShell
Definition: view.hxx:194
std::shared_ptr< SwMailMergeConfigItem > const & GetMailMergeConfigItem() const
Definition: view0.cxx:136
bool IsHScrollbarVisible() const
Definition: viewmdi.cxx:754
SwPostItMgr * GetPostItMgr()
Definition: view.hxx:648
css::view::XSelectionSupplier * GetUNOObject()
Definition: view0.cxx:113
void ExecNumberingOutline(SfxItemPool &)
Definition: view0.cxx:726
bool IsVScrollbarVisible() const
Definition: viewmdi.cxx:766
SwEditWin & GetEditWin()
Definition: view.hxx:424
void ExecViewOptions(SfxRequest &)
Definition: view0.cxx:375
void CheckVisArea()
Definition: viewport.cxx:316
ShellMode GetShellMode() const
Definition: view0.cxx:108
SwDocShell * GetDocShell()
Definition: view.cxx:1163
void RecheckBrowseMode()
Definition: view0.cxx:174
void ExecFormatFootnote()
Definition: view0.cxx:719
void StateViewOptions(SfxItemSet &)
Definition: view0.cxx:218
SAL_DLLPRIVATE void CalcVisArea(const Size &rPixelSz)
Definition: viewport.cxx:772
void ApplyAccessibilityOptions(SvtAccessibilityOptions const &rAccessibilityOptions)
Definition: view0.cxx:118
void SetMailMergeConfigItem(std::shared_ptr< SwMailMergeConfigItem > const &rConfigItem)
Definition: view0.cxx:130
void SetZoom(SvxZoomType eZoomType, short nFactor=100, bool bViewOnly=false)
Definition: viewmdi.cxx:73
Used by the UI to modify the document model.
Definition: wrtsh.hxx:97
virtual void ApplyViewOptions(const SwViewOption &rOpt) override
Apply ViewOptions with Start-/EndAction.
Definition: wrtsh1.cxx:2116
void MakeAllFoldedOutlineContentVisible(bool bMakeVisible=true)
Definition: wrtsh1.cxx:2558
static std::shared_ptr< ConfigurationChanges > create()
static bool IsFuzzing()
#define FN_PRINT_LAYOUT
Definition: cmdid.h:172
#define FN_VLINEAL
Definition: cmdid.h:160
#define FN_VIEW_SHOW_WHITESPACE
Definition: cmdid.h:191
#define FN_RULER
Definition: cmdid.h:155
#define FN_VIEW_GRAPHIC
Definition: cmdid.h:157
#define FN_SHADOWCURSOR
Definition: cmdid.h:544
#define FN_VIEW_SMOOTH_SCROLL
Definition: cmdid.h:177
#define FN_HSCROLLBAR
Definition: cmdid.h:162
#define FN_SHOW_CHANGES_IN_MARGIN
Definition: cmdid.h:195
#define FN_VIEW_SECTION_BOUNDARIES
Definition: cmdid.h:163
#define FN_QRY_MERGE
Definition: cmdid.h:247
#define FN_USE_HEADERFOOTERMENU
Definition: cmdid.h:190
#define FN_VIEW_FIELDS
Definition: cmdid.h:159
#define FN_VIEW_HIDDEN_PARA
Definition: cmdid.h:176
#define FN_SHOW_OUTLINECONTENTVISIBILITYBUTTON
Definition: cmdid.h:193
#define FN_VIEW_META_CHARS
Definition: cmdid.h:165
#define FN_SYNC_LABELS
Definition: cmdid.h:493
#define FN_WORDCOUNT_DIALOG
Definition: cmdid.h:624
#define FN_VIEW_FIELDNAME
Definition: cmdid.h:167
#define FN_INSERT_FIELD_DATA_ONLY
Definition: cmdid.h:220
#define FN_VIEW_MARKS
Definition: cmdid.h:166
#define FN_VIEW_HIDE_WHITESPACE
Definition: cmdid.h:188
#define FN_VSCROLLBAR
Definition: cmdid.h:161
#define FN_REDLINE_ACCEPT
Definition: cmdid.h:135
#define FN_SHOW_INLINETOOLTIPS
Definition: cmdid.h:189
#define FN_VIEW_BOUNDS
Definition: cmdid.h:158
#define FN_VIEW_TABLEGRID
Definition: cmdid.h:168
DocumentType eType
@ STATE_ON
Definition: globals.h:25
@ STATE_OFF
Definition: globals.h:24
@ STATE_TOGGLE
Definition: globals.h:26
constexpr OUStringLiteral UPN_IS_GRAMMAR_AUTO
constexpr OUStringLiteral UPN_IS_SPELL_AUTO
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
#define SFX_OBJECTBAR_TOOLS
const char GetValue[]
static SfxItemSet & rSet
#define SFX_IMPL_INTERFACE(Class, SuperClass)
#define SW_MOD()
Definition: swmodule.hxx:256
uno::Reference< linguistic2::XLinguProperties > GetLinguPropertySet()
Definition: swtypes.cxx:61
static void lcl_SetViewMarks(SwViewOption &rVOpt, bool bOn)
Definition: view0.cxx:147
static bool lcl_IsViewMarks(const SwViewOption &rVOpt)
Definition: view0.cxx:141
SFX_IMPL_NAMED_VIEWFACTORY(SwView, "Default")
Definition: view0.cxx:73
static void lcl_SetViewMetaChars(SwViewOption &rVOpt, bool bOn)
Definition: view0.cxx:155
ShellMode
Definition: view.hxx:87
#define SFX_VIEW_REGISTRATION(DocClass)
SvxZoomType