20 #include <config_features.h>
39 #include <com/sun/star/linguistic2/XLinguProperties.hpp>
40 #include <osl/diagnose.h>
48 #include <globals.hrc>
53 #define ShellClass_SwView
54 #define ShellClass_Text
55 #define ShellClass_TextDrawText
58 #include <swslots.hxx>
84 GetStaticInterface()->RegisterChildWindow(SID_NAVIGATOR,
true);
86 GetStaticInterface()->RegisterChildWindow(::sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
88 GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId());
89 GetStaticInterface()->RegisterChildWindow(SvxSearchDialogWrapper::GetChildWindowId());
90 GetStaticInterface()->RegisterChildWindow(SwSpellDialogChildWindow::GetChildWindowId());
92 GetStaticInterface()->RegisterChildWindow(SID_HYPERLINK_DIALOG);
94 #if HAVE_FEATURE_AVMEDIA
95 GetStaticInterface()->RegisterChildWindow(::avmedia::MediaPlayer::GetChildWindowId());
99 GetStaticInterface()->RegisterChildWindow(
FN_SYNC_LABELS,
false, SfxShellFeature::SwChildWindowLabel);
101 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_TOOLS, SfxVisibilityFlags::Standard|SfxVisibilityFlags::Server,
102 ToolbarId::Tools_Toolbox);
118 m_pWrtShell->ApplyAccessibilityOptions(rAccessibilityOptions);
172 static sal_uInt16
const aInva[] =
176 SID_RULER_BORDERS, SID_RULER_PAGE_POS,
182 SID_TOGGLE_RESOLVED_NOTES,
204 if(
GetWrtShell().GetViewOptions()->getBrowseMode() && SvxZoomType::PERCENT != (eType =
240 case SID_BROWSER_MODE:
263 case SID_TOGGLE_NOTES:
274 case SID_TOGGLE_RESOLVED_NOTES:
303 case SID_GRID_VISIBLE:
307 case SID_HELPLINES_MOVE:
324 case SID_AUTOSPELL_CHECK:
368 bool bBrowseModeChanged =
false;
371 sal_uInt16 nSlot = rReq.
GetSlot();
374 if( pArgs && SfxItemState::SET == pArgs->
GetItemState( nSlot ,
false, &pAttr ))
387 bFlag = !pOpt->IsGraphic();
388 pOpt->SetGraphic( bFlag );
403 case SID_GRID_VISIBLE:
405 bFlag = !pOpt->IsGridVisible();
407 pOpt->SetGridVisible( bFlag );
412 bFlag = !pOpt->IsSnap();
414 pOpt->SetSnap( bFlag );
417 case SID_HELPLINES_MOVE:
419 bFlag = !pOpt->IsCrossHair();
421 pOpt->SetCrossHair( bFlag );
424 case SID_BROWSER_MODE:
425 bBrowseModeChanged = !pOpt->getBrowseMode();
426 pOpt->setBrowseMode(
true );
430 bBrowseModeChanged = pOpt->getBrowseMode();
431 pOpt->setBrowseMode(
false );
434 case SID_TOGGLE_NOTES:
436 bFlag = !pOpt->IsPostIts();
439 pOpt->SetPostIts( bFlag );
440 if (pOpt->IsPostIts())
444 case SID_TOGGLE_RESOLVED_NOTES:
446 bFlag = pOpt->IsResolvedPostIts();
451 pOpt->SetResolvedPostIts( !bFlag );
457 bFlag = !pOpt->IsShowHiddenPara();
459 pOpt->SetShowHiddenPara( bFlag );
464 bFlag = !pOpt->IsHideWhitespaceMode();
466 pOpt->SetHideWhitespaceMode(bFlag);
471 bFlag = pOpt->IsHideWhitespaceMode();
473 pOpt->SetHideWhitespaceMode(!bFlag);
479 bFlag = !pOpt->IsSmoothScroll();
481 pOpt->SetSmoothScroll( bFlag );
486 bFlag = !pOpt->IsViewVRuler();
488 pOpt->SetViewVRuler( bFlag );
493 bFlag = !pOpt->IsViewVScrollBar();
495 pOpt->SetViewVScrollBar( bFlag );
500 bFlag = !pOpt->IsViewHScrollBar();
502 pOpt->SetViewHScrollBar( bFlag );
507 bFlag = !pOpt->IsViewAnyRuler();
509 pOpt->SetViewAnyRuler( bFlag );
520 bFlag = !pOpt->IsFieldName() ;
522 pOpt->SetFieldName( bFlag );
534 bFlag = !pOpt->IsViewMetaChars();
539 case SID_AUTOSPELL_CHECK:
542 if (pArgs && pArgs->
HasItem(FN_PARAM_1, &pItem))
543 bSet = static_cast<const SfxBoolItem*>(pItem)->GetValue();
546 bFlag = !pOpt->IsOnlineSpell();
550 pOpt->SetOnlineSpell(bSet);
556 xLngProp->setIsSpellAuto( bSet );
566 bool bIsAutoGrammar =
false;
569 if (pDoc && bIsAutoGrammar)
578 bFlag = !pOpt->IsShadowCursor();
582 pOpt->SetShadowCursor(bSet);
587 bFlag = !pOpt->IsShowInlineTooltips();
589 pOpt->SetShowInlineTooltips( bFlag );
594 bFlag = !pOpt->IsUseHeaderFooterMenu();
596 pOpt->SetUseHeaderFooterMenu( bFlag );
602 bFlag = !pOpt->IsShowOutlineContentVisibilityButton();
622 bool bOutlineContentVisibleAttr =
true;
624 if (!bOutlineContentVisibleAttr)
632 pOpt->SetShowOutlineContentVisibilityButton(bFlag);
638 bFlag = !pOpt->IsShowChangesInMargin();
640 pOpt->SetShowChangesInMargin( bFlag );
644 OSL_FAIL(
"wrong request method");
649 bool bWebView =
dynamic_cast<const SwWebView*
>(
this) !=
nullptr;
656 if( bBrowseModeChanged )
673 if ( nSlot == SID_AUTOSPELL_CHECK )
679 if( bBrowseModeChanged && !bFlag )
SfxViewFrame * GetViewFrame() const
static void lcl_SetViewMetaChars(SwViewOption &rVOpt, bool bOn)
void SetLineBreak(bool b)
bool IsViewMetaChars() const
bool IsSmoothScroll() const
static void lcl_SetViewMarks(SwViewOption &rVOpt, bool bOn)
const SwNodes & GetNodes() const
void SetMailMergeConfigItem(std::shared_ptr< SwMailMergeConfigItem > const &rConfigItem)
#define SFX_IMPL_INTERFACE(Class, SuperClass)
static bool IsDocBoundaries()
#define FN_SHOW_OUTLINECONTENTVISIBILITYBUTTON
bool SttEndDoc(bool bStt)
std::shared_ptr< SwMailMergeConfigItem > const & GetMailMergeConfigItem() const
bool IsViewAnyRuler() const
std::unique_ptr< SwWrtShell > m_pWrtShell
void ToggleLayoutMode(SwView *pView)
bool IsModified() const
Changes in document?
void Done(bool bRemove=false)
const SwMasterUsrPref * GetUsrPref(bool bWeb) const
const SfxItemSet * GetArgs() const
void Invalidate(sal_uInt16 nId)
void SetHardBlank(bool b)
bool IsShowHiddenPara() const
void SetShowHiddenChar(bool b)
void SetAttrOutlineContentVisible(bool bVisible)
SwWrtShell & GetWrtShell() const
bool CanHideWhitespace() const
The rules that allow for hiding whitespace.
void ShowHideResolvedNotes(bool visible)
Used by the UI to modify the document model.
static void CheckSpellChanges(bool bOnlineSpelling, bool bIsSpellWrongAgain, bool bIsSpellAllAgain, bool bSmartTags)
#define UPN_IS_GRAMMAR_AUTO
void SetParagraph(bool b)
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
bool getBrowseMode() const
void ExecViewOptions(SfxRequest &)
#define FN_VIEW_HIDE_WHITESPACE
bool IsViewHRuler(bool bDirect=false) const
bool IsBlank(bool bHard=false) const
#define FN_INSERT_FIELD_DATA_ONLY
bool IsShadowCursor() const
bool IsShowOutlineContentVisibilityButton() const
SwDoc * GetDoc()
returns Doc. But be careful!
static void SetAppearanceFlag(ViewOptFlags nFlag, bool bSet, bool bSaveInConfig=false)
static bool lcl_IsViewMarks(const SwViewOption &rVOpt)
virtual VclPtr< SfxAbstractTabDialog > CreateSwFootNoteOptionDlg(weld::Window *pParent, SwWrtShell &rSh)=0
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
SFX_IMPL_NAMED_VIEWFACTORY(SwView,"Default")
#define UPN_IS_SPELL_AUTO
bool IsResolvedPostIts() const
SfxBindings & GetBindings()
bool IsShowChangesInMargin() const
bool IsParagraph(bool bHard=false) const
bool IsViewVRuler(bool bDirect=false) const
#define FN_VIEW_TABLEGRID
void ExecFormatFootnote()
#define FN_SHOW_INLINETOOLTIPS
bool IsTab(bool bHard=false) const
bool GetAttrOutlineContentVisible(bool &bOutlineContentVisibleAttr)
GetAttrOutlineContentVisible.
static SwAbstractDialogFactory * Create()
bool IsHScrollbarVisible() const
#define FN_WORDCOUNT_DIALOG
bool IsLineBreak(bool bHard=false) const
const SwOutlineNodes & GetOutLineNds() const
Array of all OutlineNodes.
bool IsOnlineSpell() const
static bool IsFieldShadings()
#define SFX_VIEW_REGISTRATION(DocClass)
void SetViewMetaChars(bool b)
SAL_DLLPRIVATE void CalcVisArea(const Size &rPixelSz)
void SetValue(bool const bTheValue)
SwDocShell * GetDocShell()
bool IsHideWhitespaceMode() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
#define SFX_OBJECTBAR_TOOLS
void SetZoom(SvxZoomType eZoomType, short nFactor=100, bool bViewOnly=false)
sal_uInt16 GetSlot() const
void DisableItem(sal_uInt16 nWhich)
#define FN_VIEW_FIELDNAME
weld::Window * GetFrameWeld() const
bool IsShowInlineTooltips() const
std::unique_ptr< SwView_Impl > m_pViewImpl
void ExecNumberingOutline(SfxItemPool &)
bool IsVScrollbarVisible() const
const SwViewOption * GetViewOptions() const
void ToggleOutlineContentVisibility(SwNode *pNd, const bool bForceNotVisible=false)
virtual void Invalidate(sal_uInt16 nId=0)
void SetWhich(sal_uInt16 nId)
#define FN_VIEW_HIDDEN_PARA
#define FN_VIEW_SHOW_WHITESPACE
SwPostItMgr * GetPostItMgr()
bool SetProperty(const OUString &rPropertyName, const css::uno::Any &rValue)
bool HasItem(sal_uInt16 nWhich, const SfxPoolItem **ppItem=nullptr) const
static bool IsTableBoundaries()
bool IsUseHeaderFooterMenu() const
#define FN_SHOW_CHANGES_IN_MARGIN
#define FN_VIEW_SMOOTH_SCROLL
#define FN_VIEW_META_CHARS
bool IsShowBookmarks(bool const bHard=false) const
bool IsGridVisible() const
void AppendItem(const SfxPoolItem &)
#define FN_USE_HEADERFOOTERMENU
css::view::XSelectionSupplier * GetUNOObject()
css::uno::Any GetProperty(const OUString &rPropertyName) const
void StateViewOptions(SfxItemSet &)
bool IsShowHiddenChar(bool bHard=false) const
bool StartGrammarChecking(bool bSkipStart=false)
std::vector< SwNode * >::size_type size_type
void ApplyAccessibilityOptions(SvtAccessibilityOptions const &rAccessibilityOptions)
virtual void ApplyViewOptions(const SwViewOption &rOpt) override
Apply ViewOptions with Start-/EndAction.
ShellMode GetShellMode() const
void SetShowBookmarks(bool const b)
#define FN_REDLINE_ACCEPT
uno::Reference< linguistic2::XLinguProperties > GetLinguPropertySet()
bool IsViewLocked() const
bool IsSelFrameMode() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
void EndAction(const bool bIdleEnd=false)
void ApplyUsrPref(const SwViewOption &, SwView *, SvViewOpt nDest=SvViewOpt::DestView)
Base class of the Writer document model elements.