LibreOffice Module sd (master) 1
|
This manager takes over the work of handling slot calls from the controller of the slide sorter. More...
#include <SlsSlotManager.hxx>
Public Member Functions | |
SlotManager (SlideSorter &rSlideSorter) | |
Create a new slot manager that handles slot calls for the controller of a slide sorter. More... | |
void | FuTemporary (SfxRequest &rRequest) |
void | FuPermanent (SfxRequest &rRequest) |
void | FuSupport (SfxRequest &rRequest) |
void | GetMenuState (SfxItemSet &rSet) |
void | GetClipboardState (SfxItemSet &rSet) |
void | GetStatusBarState (SfxItemSet &rSet) |
void | ExecCtrl (SfxRequest &rRequest) |
void | GetAttrState (SfxItemSet &rSet) |
void | ChangeSlideExclusionState (const model::SharedPageDescriptor &rpDescriptor, const bool bExcludeSlide) |
Exclude or include one slide or all selected slides. More... | |
void | NotifyEditModeChange () |
Call this after a change from normal mode to master mode or back. More... | |
Private Member Functions | |
void | RenameSlide (const SfxRequest &rRequest) |
The implementation is a copy of the code for SID_RENAMEPAGE in drviews2.cxx. More... | |
DECL_LINK (RenameSlideHdl, AbstractSvxNameDialog &, bool) | |
DECL_STATIC_LINK (SlotManager, RenameSlideTooltipHdl, AbstractSvxNameDialog &, OUString) | |
bool | RenameSlideFromDrawViewShell (sal_uInt16 nPageId, const OUString &rName) |
void | InsertSlide (SfxRequest &rRequest) |
Handle SID_INSERTPAGE slot calls. More... | |
void | DuplicateSelectedSlides (SfxRequest &rRequest) |
sal_Int32 | GetInsertionPosition () const |
Use one of several ways to determine where to insert a new page. More... | |
Private Attributes | |
SlideSorter & | mrSlideSorter |
The controller for which we manage the slot calls. More... | |
This manager takes over the work of handling slot calls from the controller of the slide sorter.
Definition at line 39 of file SlsSlotManager.hxx.
sd::slidesorter::controller::SlotManager::SlotManager | ( | SlideSorter & | rSlideSorter | ) |
Create a new slot manager that handles slot calls for the controller of a slide sorter.
rController | The controller for which to handle the slot calls. |
Definition at line 115 of file SlsSlotManager.cxx.
void sd::slidesorter::controller::SlotManager::ChangeSlideExclusionState | ( | const model::SharedPageDescriptor & | rpDescriptor, |
const bool | bExcludeSlide | ||
) |
Exclude or include one slide or all selected slides.
rpDescriptor | When the pointer is empty then apply the new state to all selected pages. Otherwise apply the new state to just the specified state. |
Definition at line 1163 of file SlsSlotManager.cxx.
References SfxUndoManager::AddUndoAction(), sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), SfxViewFrame::GetBindings(), SdDrawDocument::GetDocSh(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::PageEnumeration::GetNextElement(), sd::slidesorter::SlideSorter::GetView(), sd::ViewShell::GetViewFrame(), sd::slidesorter::SlideSorter::GetViewShell(), sd::slidesorter::model::PageEnumeration::HasMoreElements(), SfxBindings::Invalidate(), mrSlideSorter, SdDrawDocument::SetChanged(), sd::slidesorter::view::SlideSorterView::SetState(), and sd::slidesorter::model::PageDescriptor::ST_Excluded.
Referenced by FuTemporary().
|
private |
|
private |
|
private |
Definition at line 1115 of file SlsSlotManager.cxx.
References SdrEditView::BegUndo(), sd::ViewShell::CreateOrDuplicatePage(), sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), sd::slidesorter::controller::PageSelector::DeselectAllPages(), SdrEditView::EndUndo(), sd::slidesorter::SlideSorter::GetController(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::PageEnumeration::GetNextElement(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), sd::slidesorter::SlideSorter::GetView(), sd::slidesorter::SlideSorter::GetViewShell(), sd::slidesorter::model::PageEnumeration::HasMoreElements(), SdrEditView::IsUndoEnabled(), mrSlideSorter, SdResId(), sd::slidesorter::controller::PageSelector::SelectPage(), and Standard.
Referenced by FuTemporary().
void sd::slidesorter::controller::SlotManager::ExecCtrl | ( | SfxRequest & | rRequest | ) |
Definition at line 436 of file SlsSlotManager.cxx.
References SfxRequest::Done(), sd::ViewShell::ExecReq(), SfxShell::ExecuteSlot(), sd::ViewShell::GetActualPage(), sd::slidesorter::SlideSorter::GetController(), SdDrawDocument::GetDocSh(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::SlideSorter::GetModel(), SfxRequest::GetSlot(), sd::ViewShell::GetViewFrame(), sd::slidesorter::SlideSorter::GetViewShell(), mrSlideSorter, sd::slidesorter::controller::SlideSorterController::UpdateAllPages(), and sd::ViewShell::UpdatePreview().
void sd::slidesorter::controller::SlotManager::FuPermanent | ( | SfxRequest & | rRequest | ) |
that's only until ENUM-Slots ?are
Definition at line 298 of file SlsSlotManager.cxx.
References sd::slidesorter::controller::SelectionFunction::Create(), SfxRequest::Done(), sd::ViewShell::GetCurrentFunction(), sd::ViewShell::GetOldFunction(), SfxRequest::GetSlot(), sd::slidesorter::SlideSorter::GetViewShell(), mrSlideSorter, sd::ViewShell::SetCurrentFunction(), and sd::ViewShell::SetOldFunction().
void sd::slidesorter::controller::SlotManager::FuSupport | ( | SfxRequest & | rRequest | ) |
Definition at line 342 of file SlsSlotManager.cxx.
References SfxRequest::Done(), SdrEditView::EndTextEditAllViews(), tools::SvRef< typename T >::get(), SfxItemSet::Get(), SfxRequest::GetArgs(), sd::slidesorter::controller::SlideSorterController::GetClipboard(), sd::slidesorter::SlideSorter::GetController(), sd::DrawDocShell::GetDoc(), SdDrawDocument::GetDocSh(), SdTransferable::GetDocShell(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::ViewShellBase::GetMainViewShell(), sd::slidesorter::SlideSorter::GetModel(), SdrModel::GetPageCount(), SfxRequest::GetSlot(), GetValue, sd::slidesorter::SlideSorter::GetView(), sd::slidesorter::SlideSorter::GetViewShell(), sd::slidesorter::SlideSorter::GetViewShellBase(), sd::slidesorter::controller::Clipboard::HandleSlotCall(), sd::ViewShell::ImpSidRedo(), sd::ViewShell::ImpSidUndo(), sd::framework::FrameworkHelper::Instance(), mrSlideSorter, and SD_MOD.
void sd::slidesorter::controller::SlotManager::FuTemporary | ( | SfxRequest & | rRequest | ) |
Definition at line 120 of file SlsSlotManager.cxx.
References sd::slidesorter::SlideSorterViewShell::ArrangeGUIElements(), sd::ViewShell::Cancel(), ChangeSlideExclusionState(), SdAbstractDialogFactory::Create(), sd::FuCustomShowDlg::Create(), sd::FuExpandPage::Create(), sd::FuSlideShowDlg::Create(), sd::FuSummaryPage::Create(), SdAbstractDialogFactory::CreateRemoteDialog(), SdAbstractDialogFactory::CreateSdPhotoAlbumDialog(), SfxRequest::Done(), DuplicateSelectedSlides(), SdrEditView::EndTextEditAllViews(), SfxRequest::GetArg(), SfxRequest::GetArgs(), sd::slidesorter::SlideSorter::GetContentWindow(), sd::slidesorter::SlideSorter::GetController(), sd::slidesorter::model::SlideSorterModel::GetDocument(), SfxViewFrame::GetFrame(), SfxFrame::GetFrameInterface(), vcl::Window::GetFrameWeld(), sd::slidesorter::view::SlideSorterView::GetLayouter(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::SlideSorterModel::GetPageCount(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), sd::slidesorter::controller::SlideSorterController::GetSelectionManager(), SfxRequest::GetSlot(), CntUInt16Item::GetValue(), sd::slidesorter::SlideSorter::GetView(), sd::ViewShell::GetViewFrame(), sd::slidesorter::SlideSorter::GetViewShell(), SfxRequest::Ignore(), InsertSlide(), sd::ViewShell::mpImpl, mrSlideSorter, sd::slidesorter::controller::SlideSorterController::Rearrange(), RenameSlide(), sd::slidesorter::controller::PageSelector::SelectAllPages(), sd::slidesorter::view::Layouter::SetColumnCount(), SfxViewFrame::ShowChildWindow(), sfx2::sidebar::Sidebar::ShowPanel(), sd::slideshowhelp::ShowSlideShow(), Standard, and u.
void sd::slidesorter::controller::SlotManager::GetAttrState | ( | SfxItemSet & | rSet | ) |
Definition at line 498 of file SlsSlotManager.cxx.
References SfxWhichIter::FirstWhich(), sd::slidesorter::view::Layouter::GetColumnCount(), sd::slidesorter::view::SlideSorterView::GetLayouter(), SfxShell::GetPool(), SfxItemPool::GetSlotId(), sd::slidesorter::SlideSorter::GetView(), sd::slidesorter::SlideSorter::GetViewShell(), SfxItemPool::IsWhich(), mrSlideSorter, SfxWhichIter::NextWhich(), SfxItemSet::Put(), and rSet.
void sd::slidesorter::controller::SlotManager::GetClipboardState | ( | SfxItemSet & | rSet | ) |
Definition at line 692 of file SlsSlotManager.cxx.
References TransferableDataHelper::CreateFromSystemClipboard(), sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), SfxItemSet::DisableItem(), tools::SvRef< typename T >::get(), sd::slidesorter::SlideSorter::GetController(), SdTransferable::GetDocShell(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::model::SlideSorterModel::GetEditMode(), TransferableDataHelper::GetFormatCount(), SfxItemSet::GetItemState(), sd::ViewShellBase::GetMainViewShell(), SdDrawDocument::GetMasterPageUserCount(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::PageEnumeration::GetNextElement(), SfxViewShell::GetObjectShell(), sd::slidesorter::controller::PageSelector::GetPageCount(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), sd::slidesorter::controller::PageSelector::GetSelectedPageCount(), sd::slidesorter::SlideSorter::GetViewShellBase(), sd::slidesorter::model::PageEnumeration::HasMoreElements(), tools::SvRef< typename T >::is(), SfxObjectShell::isContentExtractionLocked(), MasterPage, mrSlideSorter, rSet, and SD_MOD.
|
private |
Use one of several ways to determine where to insert a new page.
This can be the current selection or the insertion indicator.
Definition at line 1206 of file SlsSlotManager.cxx.
References sd::slidesorter::SlideSorter::GetController(), sd::slidesorter::controller::SlideSorterController::GetInsertionIndicatorHandler(), sd::slidesorter::controller::PageSelector::GetPageCount(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), sd::slidesorter::controller::PageSelector::GetSelectedPageCount(), sd::slidesorter::controller::SlideSorterController::GetSelectionManager(), sd::slidesorter::controller::PageSelector::IsPageSelected(), mrSlideSorter, and nIndex.
Referenced by InsertSlide().
void sd::slidesorter::controller::SlotManager::GetMenuState | ( | SfxItemSet & | rSet | ) |
Definition at line 523 of file SlsSlotManager.cxx.
References SdrTextObj::CanCreateEditOutlinerParaObject(), sd::slidesorter::model::PageEnumerationProvider::CreateAllPagesEnumeration(), sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), SfxItemSet::DisableItem(), DynCastSdrTextObj(), EXCLUDED, sd::slidesorter::SlideSorter::GetController(), sd::ViewShell::GetCurrentFunction(), SdDrawDocument::GetDocSh(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::model::SlideSorterModel::GetEditMode(), SfxItemSet::GetItemState(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::PageEnumeration::GetNextElement(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), SdPage::GetPresObj(), sd::slidesorter::controller::PageSelector::GetSelectedPageCount(), sd::slidesorter::SlideSorter::GetViewShell(), sd::slidesorter::model::PageEnumeration::HasMoreElements(), SdrObject::IsEmptyPresObj(), SdPage::IsExcluded(), sd::ViewShell::IsMainViewShell(), SfxObjectShell::IsPreview(), MasterPage, MIXED, mrSlideSorter, n, Outline, Page, SfxItemSet::Put(), rSet, Title, and UNDEFINED.
void sd::slidesorter::controller::SlotManager::GetStatusBarState | ( | SfxItemSet & | rSet | ) |
Definition at line 818 of file SlsSlotManager.cxx.
References sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), Draw, SdDrawDocument::GetActiveSdPageCount(), sd::slidesorter::SlideSorter::GetController(), Fraction::GetDenominator(), sd::View::GetDoc(), sd::slidesorter::model::SlideSorterModel::GetDocument(), SdDrawDocument::GetDocumentType(), SdPage::GetLayoutName(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::PageEnumeration::GetNextElement(), Fraction::GetNumerator(), sd::slidesorter::model::SlideSorterModel::GetPageCount(), SdrPage::GetPageNum(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), sd::slidesorter::controller::PageSelector::GetSelectedPageCount(), SdrModel::GetUIScale(), sd::slidesorter::SlideSorter::GetView(), mrSlideSorter, nIndex, SfxItemSet::Put(), rSet, SD_LT_SEPARATOR, and SdResId().
|
private |
Handle SID_INSERTPAGE slot calls.
Insert a slide.
The insertion position depends on a) the selection and b) the mouse position when there is no selection.
When there is a selection then insertion takes place after the last slide of the selection. For this to work all but the last selected slide are deselected first.
Otherwise, when there is no selection but the insertion marker is visible the slide is inserted at that position. The slide before that marker is selected first.
When both the selection and the insertion marker are not visible–can that happen?–the new slide is inserted after the last slide.
Definition at line 1061 of file SlsSlotManager.cxx.
References sd::ViewShell::CreateOrDuplicatePage(), SdPage::CreateTitleAndLayout(), sd::slidesorter::controller::PageSelector::DeselectAllPages(), sd::slidesorter::SlideSorter::GetController(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::model::SlideSorterModel::GetEditMode(), GetInsertionPosition(), SdDrawDocument::GetMasterSdPage(), sd::slidesorter::SlideSorter::GetModel(), sd::slidesorter::model::SlideSorterModel::GetPageDescriptor(), sd::slidesorter::controller::SlideSorterController::GetPageSelector(), SdrModel::getUnoModel(), sd::slidesorter::SlideSorter::GetViewShell(), mrSlideSorter, Page, sd::slidesorter::controller::PageSelector::SelectPage(), and Standard.
Referenced by FuTemporary().
void sd::slidesorter::controller::SlotManager::NotifyEditModeChange | ( | ) |
Call this after a change from normal mode to master mode or back.
The affected slots are invalidated.
Definition at line 1253 of file SlsSlotManager.cxx.
References SfxViewFrame::GetBindings(), sd::ViewShell::GetViewFrame(), sd::slidesorter::SlideSorter::GetViewShell(), SfxBindings::Invalidate(), and mrSlideSorter.
|
private |
The implementation is a copy of the code for SID_RENAMEPAGE in drviews2.cxx.
Definition at line 869 of file SlsSlotManager.cxx.
References aName, SvxAbstractDialogFactory::Create(), sd::slidesorter::model::PageEnumerationProvider::CreateSelectedPagesEnumeration(), SvxAbstractDialogFactory::CreateSvxNameDialog(), DBG_ASSERT, VclPtr< class reference_type >::disposeAndClear(), Draw, SfxRequest::GetArgs(), sd::slidesorter::SlideSorter::GetContentWindow(), sd::slidesorter::SlideSorter::GetController(), sd::View::GetDoc(), SdDrawDocument::GetDocumentType(), vcl::Window::GetFrameWeld(), SfxItemSet::GetItem(), sd::slidesorter::SlideSorter::GetModel(), SdPage::GetName(), sd::slidesorter::model::PageEnumeration::GetNextElement(), SdrPage::GetPageNum(), SfxRequest::GetSlot(), GetValue, sd::slidesorter::SlideSorter::GetView(), sd::slidesorter::model::PageEnumeration::HasMoreElements(), HID_SD_NAMEDIALOG_PAGE, SdrObjEditView::IsTextEdit(), LINK, mrSlideSorter, sd::slidesorter::controller::SlideSorterController::PageNameHasChanged(), RenameSlideFromDrawViewShell(), RET_OK, sd::View::SdrEndTextEdit(), and SdResId().
Referenced by FuTemporary().
|
private |
Definition at line 973 of file SlsSlotManager.cxx.
References SfxUndoManager::AddUndoAction(), SdPage::GetAutoLayout(), SfxViewFrame::GetBindings(), sd::slidesorter::SlideSorter::GetController(), sd::slidesorter::controller::SlideSorterController::GetCurrentSlideManager(), SdDrawDocument::GetDocSh(), sd::slidesorter::model::SlideSorterModel::GetDocument(), sd::slidesorter::model::SlideSorterModel::GetEditMode(), SdrModel::GetLayerAdmin(), SdrLayerAdmin::GetLayerID(), SdPage::GetLayoutName(), SdDrawDocument::GetMasterSdPage(), sd::slidesorter::SlideSorter::GetModel(), SdPage::GetName(), SdDrawDocument::GetPageByName(), SdDrawDocument::GetSdPage(), sd::ViewShell::GetViewFrame(), sd::slidesorter::SlideSorter::GetViewShell(), SfxBindings::Invalidate(), SdrLayerIDSet::IsSet(), mrSlideSorter, Notes, nPageId, Page, SdDrawDocument::RenameLayoutTemplate(), SDRPAGE_NOTFOUND, SdDrawDocument::SetChanged(), SdPage::SetName(), Standard, sUNO_LayerName_background, sUNO_LayerName_background_objects, and SdrPage::TRG_GetMasterPageVisibleLayers().
Referenced by RenameSlide().
|
private |
The controller for which we manage the slot calls.
Definition at line 74 of file SlsSlotManager.hxx.
Referenced by ChangeSlideExclusionState(), DuplicateSelectedSlides(), ExecCtrl(), FuPermanent(), FuSupport(), FuTemporary(), GetAttrState(), GetClipboardState(), GetInsertionPosition(), GetMenuState(), GetStatusBarState(), InsertSlide(), NotifyEditModeChange(), RenameSlide(), and RenameSlideFromDrawViewShell().