20#include <config_features.h>
21#include <config_wasm_strip.h>
28#include <officecfg/Office/Common.hxx>
42#include <com/sun/star/linguistic2/XLinguProperties.hpp>
43#include <osl/diagnose.h>
57#define ShellClass_SwView
58#define ShellClass_Text
59#define ShellClass_TextDrawText
86 GetStaticInterface()->RegisterChildWindow(SID_NAVIGATOR,
true);
88 GetStaticInterface()->RegisterChildWindow(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
90 GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId());
91 GetStaticInterface()->RegisterChildWindow(SvxSearchDialogWrapper::GetChildWindowId());
92 GetStaticInterface()->RegisterChildWindow(SwSpellDialogChildWindow::GetChildWindowId());
94 GetStaticInterface()->RegisterChildWindow(SID_HYPERLINK_DIALOG);
96#if HAVE_FEATURE_AVMEDIA
97 GetStaticInterface()->RegisterChildWindow(::avmedia::MediaPlayer::GetChildWindowId());
101 GetStaticInterface()->RegisterChildWindow(
FN_SYNC_LABELS,
false, SfxShellFeature::SwChildWindowLabel);
103 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_TOOLS, SfxVisibilityFlags::Standard|SfxVisibilityFlags::Server,
104 ToolbarId::Tools_Toolbox);
120#if ENABLE_WASM_STRIP_ACCESSIBILITY
121 (void)rAccessibilityOptions;
123 m_pWrtShell->ApplyAccessibilityOptions(rAccessibilityOptions);
177 static sal_uInt16
const aInva[] =
181 SID_RULER_BORDERS, SID_RULER_PAGE_POS,
187 SID_TOGGLE_RESOLVED_NOTES,
210 if(
GetWrtShell().GetViewOptions()->getBrowseMode() && SvxZoomType::PERCENT != (
eType =
246 case SID_BROWSER_MODE:
271 case SID_TOGGLE_NOTES:
282 case SID_TOGGLE_RESOLVED_NOTES:
311 case SID_GRID_VISIBLE:
315 case SID_HELPLINES_MOVE:
332 case SID_AUTOSPELL_CHECK:
335 case SID_ACCESSIBILITY_CHECK_ONLINE:
338 aBool.
SetValue(bOnlineAccessibilityCheck);
377 std::optional<SwViewOption> pOpt( *
GetWrtShell().GetViewOptions() );
382 bool bBrowseModeChanged =
false;
385 sal_uInt16 nSlot = rReq.
GetSlot();
388 if( pArgs && SfxItemState::SET == pArgs->
GetItemState( nSlot ,
false, &pAttr ))
401 bFlag = !pOpt->IsGraphic();
402 pOpt->SetGraphic( bFlag );
407 bFlag = !pOpt->IsFieldShadings() ;
413 bFlag = !pOpt->IsDocBoundaries();
419 bFlag = !pOpt->IsSectionBoundaries();
423 case SID_GRID_VISIBLE:
425 bFlag = !pOpt->IsGridVisible();
427 pOpt->SetGridVisible( bFlag );
432 bFlag = !pOpt->IsSnap();
434 pOpt->SetSnap( bFlag );
437 case SID_HELPLINES_MOVE:
439 bFlag = !pOpt->IsCrossHair();
441 pOpt->SetCrossHair( bFlag );
444 case SID_BROWSER_MODE:
445 bBrowseModeChanged = !pOpt->getBrowseMode();
446 pOpt->setBrowseMode(
true );
450 bBrowseModeChanged = pOpt->getBrowseMode();
451 pOpt->setBrowseMode(
false );
454 case SID_TOGGLE_NOTES:
456 bFlag = !pOpt->IsPostIts();
459 pOpt->SetPostIts( bFlag );
460 if (pOpt->IsPostIts())
464 case SID_TOGGLE_RESOLVED_NOTES:
466 bFlag = pOpt->IsResolvedPostIts();
471 pOpt->SetResolvedPostIts( !bFlag );
477 bFlag = !pOpt->IsShowHiddenPara();
479 pOpt->SetShowHiddenPara( bFlag );
484 bFlag = !pOpt->IsHideWhitespaceMode();
486 pOpt->SetHideWhitespaceMode(bFlag);
491 bFlag = pOpt->IsHideWhitespaceMode();
493 pOpt->SetHideWhitespaceMode(!bFlag);
499 bFlag = !pOpt->IsSmoothScroll();
501 pOpt->SetSmoothScroll( bFlag );
506 bFlag = !pOpt->IsViewVRuler();
508 pOpt->SetViewVRuler( bFlag );
513 bFlag = !pOpt->IsViewVScrollBar();
515 pOpt->SetViewVScrollBar( bFlag );
520 bFlag = !pOpt->IsViewHScrollBar();
522 pOpt->SetViewHScrollBar( bFlag );
527 bFlag = !pOpt->IsViewAnyRuler();
529 pOpt->SetViewAnyRuler( bFlag );
534 bFlag = !pOpt->IsTableBoundaries();
540 bFlag = !pOpt->IsFieldName() ;
542 pOpt->SetFieldName( bFlag );
554 bFlag = !pOpt->IsViewMetaChars();
559 case SID_AUTOSPELL_CHECK:
562 if (pArgs && pArgs->
HasItem(FN_PARAM_1, &pItem))
566 bFlag = !pOpt->IsOnlineSpell();
570 pOpt->SetOnlineSpell(bSet);
576 xLngProp->setIsSpellAuto( bSet );
586 bool bIsAutoGrammar =
false;
589 if (pDoc && bIsAutoGrammar)
595 case SID_ACCESSIBILITY_CHECK_ONLINE:
597 if (pArgs && pArgs->
HasItem(FN_PARAM_1, &pItem))
604 bSet = !bOnlineCheck;
607 officecfg::Office::Common::Accessibility::OnlineAccessibilityCheck::set(bSet, batch);
611 SwDoc* pDocument = pDocSh? pDocSh->
GetDoc() :
nullptr;
620 bFlag = !pOpt->IsShadowCursor();
624 pOpt->SetShadowCursor(bSet);
629 bFlag = !pOpt->IsShowInlineTooltips();
631 pOpt->SetShowInlineTooltips( bFlag );
636 bFlag = !pOpt->IsUseHeaderFooterMenu();
638 pOpt->SetUseHeaderFooterMenu( bFlag );
644 bFlag = !pOpt->IsShowOutlineContentVisibilityButton();
651 pOpt->SetShowOutlineContentVisibilityButton(bFlag);
667 bFlag = !pOpt->IsShowChangesInMargin();
669 pOpt->SetShowChangesInMargin( bFlag );
673 OSL_FAIL(
"wrong request method");
678 bool bWebView =
dynamic_cast<const SwWebView*
>(
this) !=
nullptr;
685 if( bBrowseModeChanged )
702 if ( nSlot == SID_AUTOSPELL_CHECK )
708 if( bBrowseModeChanged && !bFlag )
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)
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)
SfxBindings & GetBindings()
weld::Window * GetFrameWeld() const
SfxViewFrame & GetViewFrame() const
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()
void EndAction(const bool bIdleEnd=false)
void ToggleLayoutMode(SwView *pView)
SwDoc * GetDoc()
returns Doc. But be careful!
bool StartGrammarChecking(bool bSkipStart=false)
std::unique_ptr< sw::OnlineAccessibilityCheck > const & getOnlineAccessibilityCheck() const
bool IsModified() const
Changes in document?
static void CheckSpellChanges(bool bOnlineSpelling, bool bIsSpellWrongAgain, bool bIsSpellAllAgain, bool bSmartTags)
const SwMasterUsrPref * GetUsrPref(bool bWeb) const
void ApplyUsrPref(const SwViewOption &, SwView *, SvViewOpt nDest=SvViewOpt::DestView)
void ShowHideResolvedNotes(bool visible)
bool IsViewHRuler(bool bDirect=false) const
bool IsHideWhitespaceMode() const
bool IsParagraph(bool bHard=false) const
bool IsSectionBoundaries() const
void SetLineBreak(bool b)
bool IsShadowCursor() const
bool IsSmoothScroll() const
bool IsShowBookmarks(bool const bHard=false) const
bool IsBlank(bool bHard=false) const
bool IsShowOutlineContentVisibilityButton() const
bool IsGridVisible() const
void SetShowHiddenChar(bool b)
void SetHardBlank(bool b)
bool IsShowHiddenPara() const
void SetParagraph(bool b)
bool IsViewAnyRuler() const
void SetShowBookmarks(bool const b)
bool getBrowseMode() const
bool IsShowHiddenChar(bool bHard=false) const
bool IsViewVRuler(bool bDirect=false) const
bool IsTableBoundaries() const
bool CanHideWhitespace() const
The rules that allow for hiding whitespace.
bool IsViewMetaChars() const
bool IsResolvedPostIts() const
bool IsLineBreak(bool bHard=false) const
bool IsTab(bool bHard=false) const
bool IsOnlineSpell() const
bool IsDocBoundaries() const
bool IsUseHeaderFooterMenu() const
void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig=false)
bool IsShowInlineTooltips() const
bool IsShowChangesInMargin() const
bool IsFieldShadings() const
void SetViewMetaChars(bool b)
bool IsViewLocked() const
const SwViewOption * GetViewOptions() const
SwWrtShell & GetWrtShell() const
std::unique_ptr< SwView_Impl > m_pViewImpl
std::unique_ptr< SwWrtShell > m_pWrtShell
std::shared_ptr< SwMailMergeConfigItem > const & GetMailMergeConfigItem() const
bool IsHScrollbarVisible() const
SwPostItMgr * GetPostItMgr()
css::view::XSelectionSupplier * GetUNOObject()
void ExecNumberingOutline(SfxItemPool &)
bool IsVScrollbarVisible() const
void ExecViewOptions(SfxRequest &)
ShellMode GetShellMode() const
SwDocShell * GetDocShell()
void ExecFormatFootnote()
void StateViewOptions(SfxItemSet &)
SAL_DLLPRIVATE void CalcVisArea(const Size &rPixelSz)
void ApplyAccessibilityOptions(SvtAccessibilityOptions const &rAccessibilityOptions)
void SetMailMergeConfigItem(std::shared_ptr< SwMailMergeConfigItem > const &rConfigItem)
void SetZoom(SvxZoomType eZoomType, short nFactor=100, bool bViewOnly=false)
Used by the UI to modify the document model.
virtual void ApplyViewOptions(const SwViewOption &rOpt) override
Apply ViewOptions with Start-/EndAction.
void MakeAllFoldedOutlineContentVisible(bool bMakeVisible=true)
static std::shared_ptr< ConfigurationChanges > create()
#define FN_VIEW_SHOW_WHITESPACE
#define FN_VIEW_SMOOTH_SCROLL
#define FN_SHOW_CHANGES_IN_MARGIN
#define FN_VIEW_SECTION_BOUNDARIES
#define FN_USE_HEADERFOOTERMENU
#define FN_VIEW_HIDDEN_PARA
#define FN_SHOW_OUTLINECONTENTVISIBILITYBUTTON
#define FN_VIEW_META_CHARS
#define FN_WORDCOUNT_DIALOG
#define FN_VIEW_FIELDNAME
#define FN_INSERT_FIELD_DATA_ONLY
#define FN_VIEW_HIDE_WHITESPACE
#define FN_REDLINE_ACCEPT
#define FN_SHOW_INLINETOOLTIPS
#define FN_VIEW_TABLEGRID
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
#define SFX_IMPL_INTERFACE(Class, SuperClass)
uno::Reference< linguistic2::XLinguProperties > GetLinguPropertySet()
static void lcl_SetViewMarks(SwViewOption &rVOpt, bool bOn)
static bool lcl_IsViewMarks(const SwViewOption &rVOpt)
SFX_IMPL_NAMED_VIEWFACTORY(SwView, "Default")
static void lcl_SetViewMetaChars(SwViewOption &rVOpt, bool bOn)
#define SFX_VIEW_REGISTRATION(DocClass)