53#include <com/sun/star/linguistic2/XThesaurus.hpp>
71#include <stlsheet.hxx>
73#include <SpellDialogChildWindow.hxx>
92#define ShellClass_OutlineViewShell
107 GetStaticInterface()->RegisterPopupMenu(
"outline");
109 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_TOOLS, SfxVisibilityFlags::Standard | SfxVisibilityFlags::FullScreen | SfxVisibilityFlags::Server,
110 ToolbarId::Outline_Toolbox);
111 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_APPLICATION, SfxVisibilityFlags::Standard | SfxVisibilityFlags::Client | SfxVisibilityFlags::Viewer | SfxVisibilityFlags::ReadonlyDoc,
112 ToolbarId::Draw_Viewer_Toolbox);
114 GetStaticInterface()->RegisterChildWindow(SfxInfoBarContainerChild::GetChildWindowId());
115 GetStaticInterface()->RegisterChildWindow(SvxHlinkDlgWrapper::GetChildWindowId());
116 GetStaticInterface()->RegisterChildWindow(::sd::SpellDialogChildWindow::GetChildWindowId());
117 GetStaticInterface()->RegisterChildWindow(SID_SEARCH_DLG);
118 GetStaticInterface()->RegisterChildWindow(sfx2::sidebar::SidebarChildWindow::GetChildWindowId());
119 GetStaticInterface()->RegisterChildWindow(DevelopmentToolChildWindow::GetChildWindowId());
131 Size aSize(29700, 21000);
132 Point aWinPos (0, 0);
133 Point aViewOrigin(0, 0);
165 Reference<drawing::XDrawSubController> xSubController;
173 return xSubController;
184 :
ViewShell(pParentWindow, rViewShellBase),
185 pLastPage( nullptr ),
186 bPastePossible(false),
190 if (pFrameViewArgument !=
nullptr)
252 if (pWindow ==
nullptr)
269 pOlView->GetOutliner().GetTextHeight()));
285 sal_uInt16 nSlot = rReq.
GetSlot();
288 case SID_MAIL_SCROLLBODY_PAGEDOWN:
294 case SID_OPT_LOCALE_CHANGED:
296 pOlView->GetOutliner().UpdateFields();
315 SfxRequest aRequest (SID_EDIT_OUTLINER, SfxCallMode::SLOT,
GetDoc()->GetItemPool());
323 pOlView->ConnectToApplication();
335 pOlView->DisconnectFromApplication();
361 if (
auto pUrlField =
dynamic_cast< const SvxURLField *
>( pField ) )
363 aHLinkItem.
SetName(pUrlField->GetRepresentation());
364 aHLinkItem.
SetURL(pUrlField->GetURL());
374 if ( SfxItemState::DEFAULT ==
rSet.
GetItemState(SID_MAIL_SCROLLBODY_PAGEDOWN) )
377 if ( !(SfxItemState::DEFAULT ==
rSet.
GetItemState(SID_TRANSLITERATE_HALFWIDTH) ||
411 bool bPreviewState =
false;
412 sal_uInt16 nSlot = rReq.
GetSlot();
414 std::unique_ptr<OutlineViewModelChangeGuard, o3tl::default_delete<OutlineViewModelChangeGuard>> aGuard;
416 (nSlot == SID_TRANSLITERATE_SENTENCE_CASE) ||
417 (nSlot == SID_TRANSLITERATE_TITLE_CASE) ||
418 (nSlot == SID_TRANSLITERATE_TOGGLE_CASE) ||
419 (nSlot == SID_TRANSLITERATE_UPPER) ||
420 (nSlot == SID_TRANSLITERATE_LOWER) ||
421 (nSlot == SID_TRANSLITERATE_HALFWIDTH) ||
422 (nSlot == SID_TRANSLITERATE_FULLWIDTH) ||
423 (nSlot == SID_TRANSLITERATE_HIRAGANA) ||
424 (nSlot == SID_TRANSLITERATE_KATAKANA) ||
425 (nSlot == SID_CUT) ||
426 (nSlot == SID_PASTE) ||
427 (nSlot == SID_PASTE_UNFORMATTED) ||
428 (nSlot == SID_DELETE)))
446 bPreviewState =
true;
461 bPreviewState =
true;
478 bPreviewState =
true;
482 case SID_PASTE_UNFORMATTED:
496 pOlView->InsertData( aDataHelper,
498 nAction,
false, SotClipboardFormatId::STRING);
525 bPreviewState =
true;
529 case SID_DRAWINGMODE:
530 case SID_SLIDE_MASTER_MODE:
532 case SID_NOTES_MASTER_MODE:
533 case SID_HANDOUT_MASTER_MODE:
534 case SID_SLIDE_SORTER_MODE:
535 case SID_OUTLINE_MODE:
568 case SID_AUTOSPELL_CHECK:
575 case SID_TRANSLITERATE_SENTENCE_CASE:
576 case SID_TRANSLITERATE_TITLE_CASE:
577 case SID_TRANSLITERATE_TOGGLE_CASE:
578 case SID_TRANSLITERATE_UPPER:
579 case SID_TRANSLITERATE_LOWER:
580 case SID_TRANSLITERATE_HALFWIDTH:
581 case SID_TRANSLITERATE_FULLWIDTH:
582 case SID_TRANSLITERATE_HIRAGANA:
583 case SID_TRANSLITERATE_KATAKANA:
592 case SID_TRANSLITERATE_SENTENCE_CASE:
593 nType = TransliterationFlags::SENTENCE_CASE;
595 case SID_TRANSLITERATE_TITLE_CASE:
596 nType = TransliterationFlags::TITLE_CASE;
598 case SID_TRANSLITERATE_TOGGLE_CASE:
599 nType = TransliterationFlags::TOGGLE_CASE;
601 case SID_TRANSLITERATE_UPPER:
602 nType = TransliterationFlags::LOWERCASE_UPPERCASE;
604 case SID_TRANSLITERATE_LOWER:
605 nType = TransliterationFlags::UPPERCASE_LOWERCASE;
607 case SID_TRANSLITERATE_HALFWIDTH:
608 nType = TransliterationFlags::FULLWIDTH_HALFWIDTH;
610 case SID_TRANSLITERATE_FULLWIDTH:
611 nType = TransliterationFlags::HALFWIDTH_FULLWIDTH;
613 case SID_TRANSLITERATE_HIRAGANA:
614 nType = TransliterationFlags::KATAKANA_HIRAGANA;
616 case SID_TRANSLITERATE_KATAKANA:
617 nType = TransliterationFlags::HIRAGANA_KATAKANA;
625 bPreviewState =
true;
667 case SID_EDIT_OUTLINER:
698 bPastePossible = pDataHelper->GetFormatCount() != 0 &&
699 ( pDataHelper->HasFormat( SotClipboardFormatId::STRING ) ||
700 pDataHelper->HasFormat( SotClipboardFormatId::RTF ) ||
701 pDataHelper->HasFormat( SotClipboardFormatId::RICHTEXT ) ||
702 pDataHelper->HasFormat( SotClipboardFormatId::HTML ) );
704 SfxBindings& rBindings = GetViewFrame()->GetBindings();
707 rBindings.
Invalidate( SID_PASTE_UNFORMATTED );
708 rBindings.
Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
750 bool bDisable = nParaCount == 0;
751 if (!bDisable && nParaCount == 1)
775 bool bNoColor =
false;
776 if (nCntrl & EEControlBits::NOCOLORS)
784 bool bDisableCollapse =
true;
785 bool bDisableExpand =
true;
789 std::vector<Paragraph*> aSelList;
792 if (!aSelList.empty())
807 bDisableExpand =
false;
809 bDisableCollapse =
false;
816 if (bDisableCollapse)
823 OUString aTest = aSet.
Get(SID_STATUS_LAYOUT).GetValue();
833 bool bDisableCollapseAll =
true;
834 bool bDisableExpandAll =
true;
837 if (!bDisableCollapse)
838 bDisableCollapseAll =
false;
840 bDisableExpandAll =
false;
843 if (bDisableCollapseAll || bDisableExpandAll)
845 sal_Int32 nParaPos = 0;
847 while (pPara && (bDisableCollapseAll || bDisableExpandAll))
850 bDisableExpandAll =
false;
853 bDisableCollapseAll =
false;
859 if (bDisableExpandAll)
861 if (bDisableCollapseAll)
875 ( aDataHelper.
HasFormat( SotClipboardFormatId::STRING ) ||
876 aDataHelper.
HasFormat( SotClipboardFormatId::RTF ) ||
877 aDataHelper.
HasFormat( SotClipboardFormatId::RICHTEXT ) ||
878 aDataHelper.
HasFormat( SotClipboardFormatId::HTML ) ) );
894 if (
pOlView->GetOutliner().IsModified())
911 if (
GetDoc()->GetOnlineSpell())
937 bool bDisable =
true;
982 bool bDisable =
true;
1029 bool bDisable =
true;
1032 for( sal_uInt16
i = 0;
i <
nCount && bDisable;
i++ )
1039 if( bDisable ||
GetDocSh()->IsPreview())
1056 double fX =
static_cast<double>(nThumb) / nRange;
1063 nViewWidth = std::max(nViewWidth, nTextWidth);
1069 pOutlinerView->
Scroll(-nDelta, 0);
1077 double fY =
static_cast<double>(nThumb) / nRange;
1084 nViewHeight += nTextHeight;
1090 pOutlinerView->
Scroll(0, -nDelta);
1156 bool bForwardCall =
true;
1165 case SID_SEARCH_ITEM:
1169 bForwardCall =
false;
1172 case SID_SPELL_DIALOG:
1175 if (rReq.
GetArgs() !=
nullptr)
1185 bForwardCall =
false;
1190 SAL_WARN(
"sd",
"OutlineViewShell::Execute(): can not handle slot " << rReq.
GetSlot());
1228 bool bNoColor =
false;
1229 if (nCntrl & EEControlBits::NOCOLORS)
1253 std::unique_ptr<SvxZoomItem> pZoomItem(
new SvxZoomItem( SvxZoomType::PERCENT, nZoom ));
1261 pZoomItem->SetValueSet( nZoomValues );
1262 rSet.
Put( std::move(pZoomItem) );
1283 OUString aPageStr, aLayoutStr;
1288 std::vector<Paragraph*> aSelList;
1294 if (!aSelList.empty())
1296 pFirstPara = *(aSelList.begin());
1297 pLastPara = *(aSelList.rbegin());
1301 pFirstPara =
pOlView->GetPrevTitle( pFirstPara );
1304 pLastPara =
pOlView->GetPrevTitle( pLastPara );
1307 if( pFirstPara == pLastPara )
1313 pFirstPara =
pOlView->GetPrevTitle( pFirstPara );
1324 aPageStr =
SdResId(STR_SD_PAGE_COUNT_DRAW);
1326 aPageStr =
SdResId(STR_SD_PAGE_COUNT);
1328 aPageStr = aPageStr.replaceFirst(
"%1", OUString::number(
static_cast<sal_Int32
>(
nPos + 1)));
1329 aPageStr = aPageStr.replaceFirst(
"%2", OUString::number(nPageCount));
1334 aLayoutStr = aLayoutStr.copy(0,
nIndex);
1348 if ( rCEvt.
GetCommand() == CommandEventId::ContextMenu )
1380 bool bReturn =
false;
1432 case SID_STYLE_FAMILY2:
1433 case SID_STYLE_FAMILY3:
1439 case SID_STYLE_FAMILY5:
1445 pStyleSheet =
static_cast<SdStyleSheet*
>(pStyleSheet)->GetPseudoStyleSheet();
1450 aAllSet.
Put( aItem, aItem.Which() );
1457 aAllSet.
Put( aItem, aItem.Which() );
1463 case SID_STYLE_EDIT:
1465 std::unique_ptr<SfxUInt16Item> pFamilyItem;
1467 if (pFamilyItem &&
static_cast<SfxStyleFamily>(pFamilyItem->GetValue()) == SfxStyleFamily::Pseudo)
1471 OUString aRealStyle = aSet.
Get(SID_STATUS_LAYOUT).GetValue();
1472 if (aRealStyle.isEmpty())
1481 case SID_STYLE_UPDATE_BY_EXAMPLE:
1496 case SID_STYLE_DELETE:
1497 case SID_STYLE_HIDE:
1498 case SID_STYLE_SHOW:
1499 case SID_STYLE_NEW_BY_EXAMPLE:
1500 case SID_STYLE_WATERCAN:
1546 return pOlView->GetActualPage();
1551 const bool bNewPage = pPage !=
pLastPage;
1562 DBG_ASSERT( pPage,
"sd::OutlineViewShell::UpdateTitleObject(), pPage == 0?" );
1563 DBG_ASSERT( pPara,
"sd::OutlineViewShell::UpdateTitleObject(), pPara == 0?" );
1565 if( !pPage || !pPara )
1571 OUString aTest = rOutliner.
GetText(pPara);
1572 bool bText = !aTest.isEmpty();
1576 bool bNewObject =
false;
1580 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateTitleObject(), no undo for model change!?" );
1600 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateTitleObject(), no undo for model change!?" );
1601 if( !bNewObject &&
pOlView->isRecordingUndo() )
1602 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoObjectSetText(*pTO,0));
1619 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateTitleObject(), no undo for model change!?" );
1622 if(
pOlView->isRecordingUndo() )
1623 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoObjectSetText(*pTO,0));
1631 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateTitleObject(), no undo for model change!?" );
1633 if(
pOlView->isRecordingUndo() )
1634 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoRemoveObject(*pTO));
1642 DBG_ASSERT( pPage,
"sd::OutlineViewShell::UpdateOutlineObject(), pPage == 0?" );
1643 DBG_ASSERT( pPara,
"sd::OutlineViewShell::UpdateOutlineObject(), pPara == 0?" );
1645 if( !pPage || !pPara )
1652 OutlinerMode eOutlinerMode = OutlinerMode::TitleObject;
1656 eOutlinerMode = OutlinerMode::OutlineObject;
1661 sal_Int32 nTitlePara = rOutliner.
GetAbsPos( pPara );
1662 sal_Int32 nPara = nTitlePara + 1;
1663 sal_Int32 nParasInLayout = 0;
1670 if( nParasInLayout )
1678 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateOutlineObject(), no undo for model change!?" );
1679 bool bNewObject =
false;
1700 if( !bNewObject &&
pOlView->isRecordingUndo() )
1701 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoObjectSetText(*pTO,0));
1719 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateOutlineObject(), no undo for model change!?" );
1722 if(
pOlView->isRecordingUndo() )
1723 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoObjectSetText(*pTO,0));
1731 DBG_ASSERT(
pOlView->isRecordingUndo(),
"sd::OutlineViewShell::UpdateOutlineObject(), no undo for model change!?" );
1732 if(
pOlView->isRecordingUndo() )
1733 pOlView->AddUndo(
GetDoc()->GetSdrUndoFactory().CreateUndoRemoveObject(*pTO));
1751 bRet = rOutl.
Read( rInput, OUString(), EETextFormat::Rtf,
GetDocSh()->GetHeaderAttributes() );
1758 if ( nParaCount > 0 )
1760 for ( sal_Int32 nPara = 0; nPara < nParaCount; nPara++ )
1762 pOlView->UpdateParagraph( nPara );
1764 sal_Int16 nDepth = rOutl.
GetDepth( nPara );
1766 if( (nDepth == 0) || !nPara )
1775 pOlView->InsertSlideForParagraph( pPara );
1780 OUString aStyleSheetName = pOutlSheet->
GetName();
1781 if (!aStyleSheetName.isEmpty())
1782 aStyleSheetName = aStyleSheetName.copy(0, aStyleSheetName.getLength() - 1);
1783 aStyleSheetName += OUString::number( nDepth );
1786 DBG_ASSERT( pStyle,
"AutoStyleSheetName - Style not found!" );
1825css::uno::Reference<css::accessibility::XAccessible>
1832 new ::accessibility::AccessibleOutlineView (
1837 pDocumentView->Init();
1838 return pDocumentView;
1841 SAL_WARN(
"sd",
"OutlineViewShell::CreateAccessibleDocumentView: no controller");
1842 return css::uno::Reference< css::accessibility::XAccessible >();
1854 case SID_SEARCH_ITEM:
1855 case SID_SEARCH_OPTIONS:
1860 SAL_WARN(
"sd",
"OutlineViewShell::GetState(): can not handle which id " << nWhich);
1880 pOlView->SetActualPage(pPage);
const StyleSettings & GetStyleSettings() const
CommandEventId GetCommand() const
const Point & GetMousePosPixel() const
const vcl::KeyCode & GetKeyCode() const
static css::lang::Locale convertToLocale(LanguageType nLangID, bool bResolveSystem=true)
static css::uno::Reference< css::linguistic2::XThesaurus > GetThesaurus()
void SetOutlinerMode(OutlinerMode nNew)
const EditTextObject & GetTextObject() const
void SetVertical(bool bNew)
bool IsWrongSpelledWordAtPos(const Point &rPosPixel)
void Scroll(tools::Long nHorzScroll, tools::Long nVertScroll)
const SvxFieldItem * GetFieldAtSelection() const
void SetOutputArea(const tools::Rectangle &rRect)
void TransliterateText(TransliterationFlags nTransliterationMode)
void CreateSelectionList(std::vector< Paragraph * > &aSelList)
tools::Rectangle GetVisArea() const
void HideCursor(bool bDeactivate=false)
ESelection GetSelection() const
bool PostKeyEvent(const KeyEvent &rKEvt, vcl::Window const *pFrameWin=nullptr)
void ExecuteSpellPopup(const Point &rPosPixel, const Link< SpellCallbackInfo &, void > &rCallBack)
Outliner * GetOutliner() const
EditView & GetEditView() const
void ShowCursor(bool bGotoCursor=true, bool bActivate=false)
static bool HasParaFlag(const Paragraph *pPara, ParaFlag nFlag)
OUString GetText(Paragraph const *pPara, sal_Int32 nParaCount=1) const
void SetFlatMode(bool bFlat)
Paragraph * GetParagraph(sal_Int32 nAbsPos) const
std::optional< OutlinerParaObject > CreateParaObject(sal_Int32 nStartPara=0, sal_Int32 nParaCount=EE_PARA_ALL) const
sal_Int16 GetDepth(sal_Int32 nPara) const
void SetStyleSheet(sal_Int32 nPara, SfxStyleSheet *pStyle)
bool SetUpdateLayout(bool bUpdate)
void SetDepth(Paragraph *pParagraph, sal_Int16 nNewDepth)
EEControlBits GetControlWord() const
sal_Int32 GetAbsPos(Paragraph const *pPara) const
bool IsExpanded(Paragraph const *pPara) const
SfxUndoManager & GetUndoManager()
void SetControlWord(EEControlBits nWord)
void SetParaFlag(Paragraph *pPara, ParaFlag nFlag)
bool HasChildren(Paragraph const *pParagraph) const
ErrCode Read(SvStream &rInput, const OUString &rBaseURL, EETextFormat, SvKeyValueIterator *pHTTPHeaderAttrs=nullptr)
sal_Int32 GetParagraphCount() const
SAL_DLLPRIVATE void SetOnlineSpell(bool bIn)
SdPage * GetSdPage(sal_uInt16 nPgNum, PageKind ePgKind) const
SAL_DLLPRIVATE LanguageType GetLanguage(const sal_uInt16 nId) const
SAL_DLLPRIVATE void SetSelected(SdPage *pPage, bool bSelect)
virtual SAL_DLLPRIVATE void SetChanged(bool bFlag=true) override
sal_uInt16 GetSdPageCount(PageKind ePgKind) const
SdrObject * GetPresObj(PresObjKind eObjKind, int nIndex=1, bool bFuzzySearch=false)
returns the nIndex'th object from the given PresObjKind, index starts with 1
virtual rtl::Reference< SdrObject > RemoveObject(size_t nObjNum) override
bool IsPresObj(const SdrObject *pObj)
SfxStyleSheet * GetStyleSheetForPresObj(PresObjKind eObjKind) const
bool RestoreDefaultText(SdrObject *pObj)
SfxStyleSheetBasePool * GetStyleSheetPool() const
void ActionChanged() const
void SetOutlinerParaObject(std::optional< OutlinerParaObject > pTextObject)
void SetEmptyPresObj(bool bEpt)
sal_uInt32 GetOrdNum() const
bool IsEmptyPresObj() const
sal_uInt16 GetPageNum() const
virtual OUString GetLayoutName() const
bool CanCreateEditOutlinerParaObject() const
virtual OutlinerParaObject * GetOutlinerParaObject() const override
virtual bool IsVerticalWriting() const
void SetVisibleState(sal_uInt16 nId, bool bShow)
SfxItemState QueryState(sal_uInt16 nSID, std::unique_ptr< SfxPoolItem > &rpState)
void Invalidate(sal_uInt16 nId)
void ExecutePopup(const OUString &rResName, vcl::Window *pWin=nullptr, const Point *pPos=nullptr)
sal_uInt16 GetSlotId(sal_uInt16 nWhich) const
static bool IsWhich(sal_uInt16 nId)
SfxItemPool * GetPool() const
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void DisableItem(sal_uInt16 nWhich)
bool isContentExtractionLocked() const
sal_uInt16 GetSlot() const
const SfxItemSet * GetArgs() const
void Done(bool bRemove=false)
SfxItemPool & GetPool() const
void BroadcastContextForActivation(const bool bIsActivated)
void SetContextName(const OUString &rsContextName)
virtual void Invalidate(sal_uInt16 nId=0)
virtual SfxObjectShell * GetObjectShell()
const SfxPoolItem * ExecuteSlot(SfxRequest &rReq, const SfxInterface *pIF=nullptr)
SfxViewShell * GetViewShell() const
void SetPool(SfxItemPool *pNewPool)
void SetName(const OUString &rName)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
const OUString & GetName() const
SfxStyleFamily GetFamily() const
void ToggleChildWindow(sal_uInt16)
SfxBindings & GetBindings()
void SetChildWindow(sal_uInt16 nId, bool bVisible, bool bSetFocus=true)
SfxDispatcher * GetDispatcher()
virtual SfxObjectShell * GetObjectShell() override
sal_Int32 GetScrollBarSize() const
const SvxFieldData * GetField() const
void SetName(const OUString &rName)
void SetURL(const OUString &rURL)
void SetTargetFrame(const OUString &rTarget)
void AddSnappingPoint(sal_Int32 nNew)
sal_uInt32 GetFormatCount() const
static TransferableDataHelper CreateFromSystemClipboard(vcl::Window *pWindow)
bool HasFormat(SotClipboardFormatId nFormat) const
const css::uno::Reference< css::datatransfer::XTransferable > & GetTransferable() const
reference_type * get() const
The DrawController is the UNO controller for Impress and Draw.
void FireSelectionChangeListener() noexcept
Call this method when the selection has changed.
void FireVisAreaChanged(const ::tools::Rectangle &rVisArea) noexcept
Call this method when the VisArea has changed.
void fireSwitchCurrentPage(sal_Int32 pageIndex) noexcept
void FireSwitchCurrentPage(SdPage *pCurrentPage) noexcept
Call this method when there is a new current page.
void Execute(SfxRequest &rReq)
Handles SFX-Requests.
void SetStyleFamily(SfxStyleFamily nSF)
void GetState(SfxItemSet &)
sal_uInt16 GetSelectedPage() const
void SetNoAttribs(const bool bNoAttr)
void SetNoColors(const bool bNoCol)
void SetSelectedPage(sal_uInt16 nPage)
static void GetSlotState(SfxItemSet &rSet, ViewShell const *pViewShell, SfxViewFrame *pViewFrame)
text functions in outline mode
void UpdateForKeyPress(const KeyEvent &rEvent)
Call this method when the text in the outliner (may) has changed.
static rtl::Reference< FuPoor > Create(ViewShell *pViewSh, ::sd::Window *pWin, ::sd::View *pView, SdDrawDocument *pDoc, SfxRequest &rReq)
Show a textual overview of the text contents of all slides.
virtual bool KeyInput(const KeyEvent &rKEvt, ::sd::Window *pWin) override
ErrCode ReadRtf(SvStream &rInput)
Fill Outliner from Stream.
virtual void UpdatePreview(SdPage *pPage) override
Update the preview to show the specified page.
virtual ~OutlineViewShell() override
void Execute(SfxRequest &rReq)
Before saving: Update Model of the Drawing Engine, then forward the invocation to the ObjectShell.
std::unique_ptr< OutlineView > pOlView
void UpdateTitleObject(SdPage *pPage, Paragraph const *pPara)
void GetStatusBarState(SfxItemSet &rSet)
virtual void ReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &) override
void GetAttrState(SfxItemSet &rSet)
Status of Attribute-Items.
void FuSupport(SfxRequest &rReq)
SfxRequests for support functions.
void FuPermanent(SfxRequest &rReq)
SfxRequests for permanent functions.
virtual void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &) override
virtual css::uno::Reference< css::drawing::XDrawSubController > CreateSubController() override
Return a sub controller that implements the view shell specific part of the DrawController.
virtual void VirtVScrollHdl(ScrollAdaptor *pVHScroll) override
handling for vertical Scrollbars
OUString m_StrOldPageName
void GetState(SfxItemSet &rSet)
virtual void Deactivate(bool IsMDIActivate) override
void Construct()
common initialization part of both constructors
rtl::Reference< TransferableClipboardListener > mxClipEvtLstnr
virtual SdPage * GetActualPage() override
Returns the first selected page.
void ExecCtrl(SfxRequest &rReq)
Handle SfxRequest for the Controller.
virtual void SetZoom(::tools::Long nZoom) override
Zoom with zoom factor.
virtual void Shutdown() override
This method is more or less an alias to Deactivate().
void UpdateOutlineObject(SdPage *pPage, Paragraph *pPara)
virtual void ArrangeGUIElements() override
Arrange and resize the GUI elements like rulers, sliders, and buttons as well as the actual document ...
void GetMenuState(SfxItemSet &rSet)
Set Status (Enabled/Disabled) of Menu-SfxSlots.
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleDocumentView(::sd::Window *pWindow) override
Create an accessible object representing the specified window.
virtual void VisAreaChanged(const ::tools::Rectangle &rRect) override
this method is called when the visible area of the view from this viewshell is changed
virtual void VirtHScrollHdl(ScrollAdaptor *pHScroll) override
gets invoked when ScrollBar is used
virtual SdPage * getCurrentPage() const override
inherited from sd::ViewShell
virtual void Command(const CommandEvent &rCEvt, ::sd::Window *pWin) override
virtual bool PrepareClose(bool bUI=true) override
PrepareClose, gets called when the Shell shall be destroyed.
virtual void Activate(bool IsMDIActivate) override
Activate(): during the first invocation the fields get updated.
void SetCurrentPage(SdPage *pPage)
Make the given page the new current page.
virtual void Paint(const ::tools::Rectangle &rRect, ::sd::Window *pWin) override
Paint method: the event gets forwarded from pWindow to the Viewshell and the current function.
virtual void SetZoomRect(const ::tools::Rectangle &rZoomRect) override
Zoom with zoom rectangle.
OutlineViewShell(SfxViewFrame *pFrame, ViewShellBase &rViewShellBase, vcl::Window *pParentWindow, FrameView *pFrameView)
Create a new view shell for the outline mode.
virtual void ReadFrameViewData(FrameView *pView) override
Read FrameViews data and set actual views data.
static void ExecStatusBar(SfxRequest &rReq)
Handle SfxRequests for the StatusBar.
virtual void MouseButtonUp(const MouseEvent &rMEvt, ::sd::Window *pWin) override
virtual void WriteFrameViewData() override
Write actual views data to FrameView.
void GetCtrlState(SfxItemSet &rSet)
Set status of Controller-SfxSlots.
Derivative of sd::View for the outline mode |* .
static SdrTextObj * CreateTitleTextObject(SdPage *pPage)
static SdrTextObj * CreateOutlineTextObject(SdPage *pPage)
static SdrTextObj * GetOutlineTextObject(SdrPage const *pPage)
Look for the outline text object in one page of the model.
static SdrTextObj * GetTitleTextObject(SdrPage const *pPage)
Look for the title text object in one page of the model.
This class implements the OutlineViewShell specific part of the controller.
SfxViewShell descendant that the stacked Draw/Impress shells are based on.
DrawController * GetDrawController() const
Base class of the stacked shell hierarchy.
SD_DLLPUBLIC DrawDocShell * GetDocSh() const
virtual bool KeyInput(const KeyEvent &rKEvt, ::sd::Window *pWin)
bool IsMainViewShell() const
Return <TRUE> when the called view shell is the main sub shell of its ViewShellBase object,...
const rtl::Reference< FuPoor > & GetCurrentFunction() const
void ImpSidUndo(SfxRequest &rReq)
SdDrawDocument * GetDoc() const
virtual void SetZoom(::tools::Long nZoom)
Set zoom factor for all split windows.
virtual void Shutdown()
This method is more or less an alias to Deactivate().
virtual void UpdateScrollBars()
Set internal values of all scroll bars that determine thumb size and position.
void GetMenuState(SfxItemSet &rSet)
set state (enabled/disabled) of Menu SfxSlots
virtual void Command(const CommandEvent &rCEvt, ::sd::Window *pWin)
std::unique_ptr< ZoomList > mpZoomList
virtual void MouseButtonUp(const MouseEvent &rMEvt, ::sd::Window *pWin)
void DisposeFunctions()
must be called in the beginning of each subclass d'tor.
ShellType meShellType
The type of the shell. Returned by GetShellType().
void SetRuler(bool bRuler)
Switch ruler on/off.
virtual void ArrangeGUIElements()
Set position and size of the GUI elements that are controlled by the view shell like rulers and scrol...
virtual void ReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &)
virtual void VisAreaChanged(const ::tools::Rectangle &rRect)
this method is called when the visible area of the view from this viewshell is changed
::sd::Window * GetActiveWindow() const
The active window is usually the mpContentWindow.
virtual bool PrepareClose(bool bUI=true)
Tell the FmFormShell that the view shell is closing.
void DeactivateCurrentFunction(bool bPermanent=false)
const rtl::Reference< FuPoor > & GetOldFunction() const
vcl::Window * GetParentWindow() const
Return the window that is the parent of all controls of this view shell.
virtual void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &)
virtual void SetZoomRect(const ::tools::Rectangle &rZoomRect)
Set zoom rectangle for active window.
::tools::Long GetZoom() const
void SetOldFunction(const rtl::Reference< FuPoor > &xFunction)
void InitWindows(const Point &rViewOrigin, const Size &rViewSize, const Point &rWinPos, bool bUpdate=false)
Initialize imaging parameters for all split windows.
bool HasOldFunction() const
void ImpSidRedo(SfxRequest &rReq)
void SetCurrentFunction(const rtl::Reference< FuPoor > &xFunction)
void ExecReq(SfxRequest &rReq)
virtual void Activate(bool IsMDIActivate) override
set focus to working window
VclPtr< sd::Window > mpContentWindow
Window inside the rulers and scroll bars that shows a view of the document.
SD_DLLPUBLIC ViewShellBase & GetViewShellBase() const
SD_DLLPUBLIC SfxViewFrame * GetViewFrame() const
bool HasCurrentFunction() const
void doShow()
This must be called after the ctor, but before anything else.
virtual void Deactivate(bool IsMDIActivate) override
An SdWindow contains the actual working area of ViewShell.
void SetMaxZoom(::tools::Long nMax)
::tools::Long GetMaxZoom() const
::tools::Long GetMinZoom() const
void SetMinZoomAutoCalc(bool bAuto)
void SetMinZoom(::tools::Long nMin)
::tools::Long GetZoom() const
static ::std::shared_ptr< FrameworkHelper > Instance(ViewShellBase &rBase)
Return the FrameworkHelper object that is associated with the given ViewShellBase.
static const OUString & GetContextName(const Context eContext)
sal_uInt16 GetGroup() const
vcl::Window * GetAccessibleParentWindow() const
const AllSettings & GetSettings() const
Point PixelToLogic(const Point &rDevicePt) const
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
virtual Size GetSizePixel() const
Size GetOutputSizePixel() const
void SetHelpId(const OUString &)
#define DBG_ASSERT(sCon, aError)
virtual std::shared_ptr< SfxDialogController > GetController() override
constexpr TypedWhichId< SvxLanguageItem > EE_CHAR_LANGUAGE(EE_CHAR_START+14)
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
constexpr OUStringLiteral SD_LT_SEPARATOR
constexpr OUStringLiteral HID_SDOUTLINEVIEWSHELL
constexpr sal_uInt16 KEYGROUP_FKEYS
constexpr sal_uInt16 KEY_DELETE
constexpr sal_uInt16 KEYGROUP_CURSOR
#define LINK(Instance, Class, Member)
#define SAL_WARN(area, stream)
SVXCORE_DLLPUBLIC MSO_SPT Get(const OUString &)
bool IsChangeCaseMapEnabled()
IMPL_LINK(SdCharHeightPropertyBox, implMenuSelectHdl, const OUString &, rIdent, void)
SwNodeOffset abs(const SwNodeOffset &a)
#define SFX_OBJECTBAR_APPLICATION
#define SFX_OBJECTBAR_TOOLS
OUString SdResId(TranslateId aId)
#define SFX_IMPL_INTERFACE(Class, SuperClass)
SVXCORE_DLLPUBLIC SdrTextObj * DynCastSdrTextObj(SdrObject *)