23 #include <com/sun/star/linguistic2/XThesaurus.hpp>
46 #include <LibreOfficeKit/LibreOfficeKitEnums.h>
53 #include <strings.hrc>
68 bool bGetFrameType =
false;
69 bool bWeb =
dynamic_cast<SwWebView*
>( this ) !=
nullptr;
79 if ((SID_ZOOM_IN == nWhich && nFact >=
tools::Long(600)) ||
80 (SID_ZOOM_OUT == nWhich && nFact <=
tools::Long(20)))
89 if (
m_pWrtShell->GetViewOptions()->IsShowOutlineContentVisibilityButton())
108 if (!
m_pWrtShell->GetNavigationMgr().forwardEnabled())
110 if (!
m_pWrtShell->GetNavigationMgr().backEnabled())
116 if(
m_pWrtShell->GetLinkManager().GetLinks().empty() )
125 case SID_DRAWTBX_LINES:
130 case SID_INSERT_GRAPHIC:
136 case SID_INSERT_SIGNATURELINE:
143 case SID_EDIT_SIGNATURELINE:
144 case SID_SIGN_SIGNATURELINE:
148 case SID_INSERT_QRCODE:
155 case SID_EDIT_QRCODE:
164 eFrameType =
m_pWrtShell->GetFrameType(
nullptr,
true);
165 bGetFrameType =
true;
206 case SID_PRINTDOCDIRECT:
209 case SID_ATTR_PAGE_ORIENTATION:
211 case SID_ATTR_PAGE_SIZE:
212 case SID_ATTR_PAGE_PAPERBIN:
216 const size_t nCurIdx =
m_pWrtShell->GetCurPageDesc();
231 OString aPayload =
".uno:Orientation=";
234 aPayload +=
"IsLandscape";
238 aPayload +=
"IsPortrait";
247 const size_t nCurIdx =
m_pWrtShell->GetCurPageDesc();
254 case SID_CLEARHISTORY:
288 if(
nullptr == (pBase =
m_pWrtShell->GetCurTOX()) ||
293 case SID_TWAIN_SELECT:
294 case SID_TWAIN_TRANSFER:
295 #if defined(_WIN32) || defined UNX
297 if(!
SW_MOD()->GetScannerManager().is())
303 case SID_ATTR_DEFTABSTOP:
307 o3tl::narrowing<sal_uInt16>(::
GetTabDist(rDefTabs))));
310 case SID_ATTR_LANGUAGE:
338 m_pWrtShell->GetDoc()->getIDocumentRedlineAccess().GetRedlineTable().size();
339 if ( isRecording || hasRecorded )
342 "hiddentrackchanges",
SwResId(STR_HIDDEN_CHANGES),
343 SwResId( (isRecording && hasRecorded)
344 ? STR_HIDDEN_CHANGES_DETAIL
346 ? STR_HIDDEN_CHANGES_DETAIL2
347 : STR_HIDDEN_CHANGES_DETAIL3 ),
353 case FN_REDLINE_PROTECT :
361 case SID_AVMEDIA_PLAYER :
378 bool bDisable =
false;
387 if( redline !=
nullptr && *redline->
Start() == *pCursor->
End())
389 if( redline ==
nullptr )
396 std::unique_ptr<SwPosition> pSelectionEnd;
398 m_pWrtShell->GetTableCursor()->GetSelectedBoxesCount() )
403 pSelectionEnd.reset(
new SwPosition(*pEndNode));
409 for(; index < table.
size(); ++index )
412 if( *tmp->
Start() >= *pSelectionEnd )
421 if( redline ==
nullptr )
444 OString aPayload(
".uno:TrackedChangeIndex=");
447 aPayload += OString::number(nRedline);
475 uno::Reference< linguistic2::XThesaurus > xThes( ::
GetThesaurus() );
482 case SID_HANGUL_HANJA_CONVERSION:
483 case SID_CHINESE_CONVERSION:
494 case SID_MAIL_SCROLLBODY_PAGEDOWN:
498 rSet.
Put(
SfxBoolItem(SID_MAIL_SCROLLBODY_PAGEDOWN, nAct < nBottom ));
502 case SID_DOCUMENT_COMPARE:
503 case SID_DOCUMENT_MERGE:
504 if( dynamic_cast<const SwGlobalDocShell* >(
GetDocShell()) !=
nullptr||
505 (SID_DOCUMENT_MERGE == nWhich &&
m_pWrtShell->getIDocumentRedlineAccess().GetRedlinePassword().hasElements()))
508 case SID_VIEW_DATA_SOURCE_BROWSER:
514 case SID_READONLY_MODE:
518 case SID_IMAGE_ORIENTATION:
525 rSet.
Put(aImageItem);
534 case SID_ALIGN_ANY_LEFT :
535 case SID_ALIGN_ANY_HCENTER :
536 case SID_ALIGN_ANY_RIGHT :
537 case SID_ALIGN_ANY_JUSTIFIED:
538 case SID_ALIGN_ANY_TOP :
539 case SID_ALIGN_ANY_VCENTER :
540 case SID_ALIGN_ANY_BOTTOM :
541 case SID_ALIGN_ANY_HDEFAULT :
542 case SID_ALIGN_ANY_VDEFAULT :
546 sal_uInt16 nAlias = 0;
551 case SID_ALIGN_ANY_LEFT : nAlias = SID_ATTR_PARA_ADJUST_LEFT;
break;
552 case SID_ALIGN_ANY_HCENTER : nAlias = SID_ATTR_PARA_ADJUST_CENTER;
break;
553 case SID_ALIGN_ANY_RIGHT : nAlias = SID_ATTR_PARA_ADJUST_RIGHT;
break;
554 case SID_ALIGN_ANY_JUSTIFIED: nAlias = SID_ATTR_PARA_ADJUST_BLOCK;
break;
555 case SID_ALIGN_ANY_TOP : nAlias = SID_TABLE_VERT_NONE;
break;
556 case SID_ALIGN_ANY_VCENTER : nAlias = SID_TABLE_VERT_CENTER;
break;
557 case SID_ALIGN_ANY_BOTTOM : nAlias = SID_TABLE_VERT_BOTTOM;
break;
564 case SID_ALIGN_ANY_LEFT : nAlias = SID_OBJECT_ALIGN_LEFT ;
break;
565 case SID_ALIGN_ANY_HCENTER : nAlias = SID_OBJECT_ALIGN_CENTER ;
break;
566 case SID_ALIGN_ANY_RIGHT : nAlias = SID_OBJECT_ALIGN_RIGHT ;
break;
567 case SID_ALIGN_ANY_TOP : nAlias = SID_OBJECT_ALIGN_UP ;
break;
568 case SID_ALIGN_ANY_VCENTER : nAlias = SID_OBJECT_ALIGN_MIDDLE ;
break;
569 case SID_ALIGN_ANY_BOTTOM : nAlias = SID_OBJECT_ALIGN_DOWN ;
break;
595 bool bWeb =
dynamic_cast<SwWebView*
>( this ) !=
nullptr;
597 for( sal_uInt16 nWhich = aIter.
FirstWhich(); nWhich;
603 case SID_LINE_ARROW_END:
604 case SID_LINE_ARROW_CIRCLE:
605 case SID_LINE_ARROW_SQUARE:
606 case SID_LINE_ARROW_START:
607 case SID_LINE_CIRCLE_ARROW:
608 case SID_LINE_SQUARE_ARROW:
609 case SID_LINE_ARROWS:
610 case SID_DRAW_MEASURELINE:
612 case SID_DRAW_ELLIPSE:
613 case SID_DRAW_XPOLYGON_NOFILL:
614 case SID_DRAW_XPOLYGON:
615 case SID_DRAW_POLYGON_NOFILL:
616 case SID_DRAW_POLYGON:
617 case SID_DRAW_BEZIER_NOFILL:
618 case SID_DRAW_BEZIER_FILL:
619 case SID_DRAW_FREELINE_NOFILL:
620 case SID_DRAW_FREELINE:
623 case SID_DRAW_CIRCLECUT:
625 case SID_DRAW_CAPTION:
629 if (nWhich != SID_DRAW_TEXT)
633 case SID_DRAW_TEXT_VERTICAL:
634 case SID_DRAW_CAPTION_VERTICAL:
638 if (nWhich != SID_DRAW_TEXT_VERTICAL)
642 case SID_DRAW_TEXT_MARQUEE:
648 case SID_OBJECT_SELECT:
653 case SID_INSERT_DRAW:
654 case SID_FONTWORK_GALLERY_FLOATER :
655 case SID_DRAWTBX_ARROWS:
662 case SID_DRAWTBX_CS_BASIC :
663 case SID_DRAWTBX_CS_SYMBOL :
664 case SID_DRAWTBX_CS_ARROW :
665 case SID_DRAWTBX_CS_FLOWCHART :
666 case SID_DRAWTBX_CS_CALLOUT :
667 case SID_DRAWTBX_CS_STAR :
681 assert((nFeature & ~SfxShellFeature::SwMask) == SfxShellFeature::NONE);
684 case SfxShellFeature::SwChildWindowLabel:
SfxViewFrame * GetViewFrame() const
Starts a section of nodes in the document model.
void SetRotation(Degree10 nValue)
const Value & back() const
SwNodeOffset EndOfSectionIndex() const
Marks a position in the document model.
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
void SetMirrored(bool bSet)
void GetDrawState(SfxItemSet &rSet)
SwTableBox * GetTableBox() const
If node is in a table return the respective table box.
std::unique_ptr< SwWrtShell > m_pWrtShell
constexpr SwTwips DOCUMENTBORDER
SfxDispatcher * GetDispatcher()
#define FN_INSERT_CAPTION
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr TypedWhichId< SvxPaperBinItem > RES_PAPER_BIN(90)
void InvalidateItem(sal_uInt16 nWhich)
exports com.sun.star. table
bool IsTOXBaseInReadonly() const
bool isSignatureLineSigned() const
SwWrtShell & GetWrtShell() const
static LanguageType nLang
LanguageType GetCurLang() const
Used by the UI to modify the document model.
OUString SwResId(TranslateId aId)
SelectionType m_nSelectionType
void AppendInfoBarWhenReady(const OUString &sId, const OUString &sPrimaryMessage, const OUString &sSecondaryMessage, InfobarType aInfobarType, bool bShowCloseButton=true)
virtual void SelectShell()
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
#define FN_EDIT_CURRENT_TOX
virtual void libreOfficeKitViewCallback(int nType, const char *pPayload) const override
#define FN_PARAM_FTN_INFO
#define FN_INSERT_FIELD_DATA_ONLY
#define FN_MAILMERGE_SENDMAIL_CHILDWINDOW
PaM is Point and Mark: a selection of the document model.
#define FN_REDLINE_ACCEPT_DIRECT
#define FN_CHANGE_PAGENUM
const SfxItemSet * GetParent() const
static constexpr auto npos
const SfxPoolItem * GetSlotState(sal_uInt16 nSlotId, const SfxInterface *pIF=nullptr, SfxItemSet *pStateSet=nullptr)
virtual bool HasUIFeature(SfxShellFeature nFeature) const override
bool GetLandscape() const
#define FN_REDLINE_ACCEPT_TONEXT
SfxBindings & GetBindings()
vector_type::size_type size_type
#define FN_REDLINE_PREV_CHANGE
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
FrameTypeFlags
values can be combined via logical or
sal_uInt16 GetHtmlMode(const SwDocShell *pShell)
const SwRangeRedline * FindAtPosition(const SwPosition &startPosition, size_type &tableIndex, bool next=true) const
Find the redline at the given position.
sal_uInt16 GetCursorCnt(bool bAll=true) const
Get the number of elements in the ring of cursors.
SwNodes & GetNodes()
Node is in which nodes-array/doc?
#define FN_UPDATE_CUR_TOX
SfxItemState QueryState(sal_uInt16 nSID, const SfxPoolItem *&rpState)
#define FN_REDLINE_REJECT_TONEXT
std::unique_ptr< SfxPoolItem > CloneSetWhich(sal_uInt16 nNewWhich) const
#define FN_TOGGLE_OUTLINE_CONTENT_VISIBILITY
const SwPosition * Start() const
SwDocShell * GetDocShell()
const SwFrameFormat * GetDfltFrameFormat() const
virtual const SwRangeRedline * GetRedline(const SwPosition &rPos, SwRedlineTable::size_type *pFndPos) const =0
void SetParent(const SfxItemSet *pNew)
uno::Reference< linguistic2::XThesaurus > GetThesaurus()
static sal_uInt16 s_nMoveType
SwFrameFormat & GetMaster()
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
bool HasChildWindow(sal_uInt16)
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
const SwStartNode * GetSttNd() const
void DisableItem(sal_uInt16 nWhich)
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(105)
#define FN_REDLINE_NEXT_CHANGE
bool isSignatureLineSelected() const
bool KnowsChildWindow(sal_uInt16)
const SwPosition * End() const
SwTableBox is one table cell in the document model.
virtual bool IsChangeRecording() const override
passwword protection for Writer (derived from SfxObjectShell) see also: FN_REDLINE_ON, FN_REDLINE_ON
RedlineType GetRedlineType() const
const tools::Rectangle & GetVisArea() const
virtual SfxInterface * GetInterface() const
bool IsVerticalTextEnabled()
void SetVisibleState(sal_uInt16 nId, bool bShow)
#define FN_INSERT_OBJ_CTRL
bool m_bForceChangesToolbar
virtual const SwRedlineTable & GetRedlineTable() const =0
std::vector< SwNode * >::size_type size_type
#define FN_REDLINE_REJECT_DIRECT
#define FN_REDLINE_ACCEPT
bool isQRCodeSelected() const
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
void GetState(SfxItemSet &)
Base class of the Writer document model elements.