/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace sd { void DrawViewShell::ExecIMap( SfxRequest const & rReq ) { // during a slide show, nothing is executed! if(HasCurrentFunction(SID_PRESENTATION) ) return; if ( rReq.GetSlot() != SID_IMAP_EXEC ) return; SdrMark* pMark = mpDrawView->GetMarkedObjectList().GetMark(0); if ( !pMark ) return; SdrObject* pSdrObj = pMark->GetMarkedSdrObj(); SvxIMapDlg* pDlg = ViewShell::Implementation::GetImageMapDialog(); if ( pDlg->GetEditingObject() == static_cast(pSdrObj) ) { const ImageMap& rImageMap = pDlg->GetImageMap(); SvxIMapInfo* pIMapInfo = SvxIMapInfo::GetIMapInfo( pSdrObj ); if ( !pIMapInfo ) pSdrObj->AppendUserData( std::unique_ptr(new SvxIMapInfo( rImageMap )) ); else pIMapInfo->SetImageMap( rImageMap ); GetDoc()->SetChanged(); } } void DrawViewShell::GetIMapState( SfxItemSet& rSet ) { bool bDisable = true; if( GetViewFrame()->HasChildWindow( SvxIMapDlgChildWindow::GetChildWindowId() ) ) { const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); if ( rMarkList.GetMarkCount() == 1 ) { const SdrObject* pObj = rMarkList.GetMark( 0 )->GetMarkedSdrObj(); SvxIMapDlg* pImageMapDialog = ViewShell::Implementation::GetImageMapDialog(); if ( ( dynamic_cast< const SdrGrafObj *>( pObj ) != nullptr /*|| pObj->ISA( SdrOle2Obj )*/ ) && pImageMapDialog!=nullptr && ( pImageMapDialog->GetEditingObject() == static_cast(pObj) ) ) { bDisable = false; } } } rSet.Put( SfxBoolItem( SID_IMAP_EXEC, bDisable ) ); } void DrawViewShell::ExecOptionsBar( SfxRequest& rReq ) { // during a slide show, nothing is executed! if(HasCurrentFunction(SID_PRESENTATION)) return; bool bDefault = false; sal_uInt16 nSlot = rReq.GetSlot(); SdOptions* pOptions = SD_MOD()->GetSdOptions(GetDoc()->GetDocumentType()); switch( nSlot ) { case SID_SOLID_CREATE: pOptions->SetSolidDragging( !mpDrawView->IsSolidDragging() ); break; // Grid- / Help lines option case SID_GRID_VISIBLE: // not here yet! { pOptions->SetGridVisible( !mpDrawView->IsGridVisible() ); } break; case SID_GRID_USE: { pOptions->SetUseGridSnap( !mpDrawView->IsGridSnap() ); } break; case SID_HELPLINES_VISIBLE: // not here yet! { pOptions->SetHelplines( !mpDrawView->IsHlplVisible() ); } break; case SID_HELPLINES_USE: { pOptions->SetSnapHelplines( !mpDrawView->IsHlplSnap() ); } break; case SID_HELPLINES_MOVE: { pOptions->SetDragStripes( !mpDrawView->IsDragStripes() ); } break; case SID_SNAP_BORDER: { pOptions->SetSnapBorder( !mpDrawView->IsBordSnap() ); } break; case SID_SNAP_FRAME: { pOptions->SetSnapFrame( !mpDrawView->IsOFrmSnap() ); } break; case SID_SNAP_POINTS: { pOptions->SetSnapPoints( !mpDrawView->IsOPntSnap() ); } break; case SID_QUICKEDIT: { pOptions->SetQuickEdit( !mpDrawView->IsQuickTextEditMode() ); } break; case SID_PICK_THROUGH: { pOptions->SetPickThrough( !mpDrawView->GetModel()->IsPickThroughTransparentTextFrames() ); } break; case SID_DOUBLECLICK_TEXTEDIT: { pOptions->SetDoubleClickTextEdit( !mpFrameView->IsDoubleClickTextEdit() ); } break; case SID_CLICK_CHANGE_ROTATION: { pOptions->SetClickChangeRotation( !mpFrameView->IsClickChangeRotation() ); } break; default: bDefault = true; break; } if( bDefault ) return; pOptions->StoreConfig(); // Saves the configuration IMMEDIATELY // SfxGetpApp()->SaveConfiguration(); WriteFrameViewData(); mpFrameView->Update( pOptions ); ReadFrameViewData( mpFrameView ); Invalidate( nSlot ); rReq.Done(); } void DrawViewShell::GetOptionsBarState( SfxItemSet& rSet ) { rSet.Put( SfxBoolItem( SID_SOLID_CREATE, mpDrawView->IsSolidDragging() ) ); rSet.Put( SfxBoolItem( SID_GRID_VISIBLE, mpDrawView->IsGridVisible() ) ); rSet.Put( SfxBoolItem( SID_GRID_USE, mpDrawView->IsGridSnap() ) ); rSet.Put( SfxBoolItem( SID_HELPLINES_VISIBLE, mpDrawView->IsHlplVisible() ) ); rSet.Put( SfxBoolItem( SID_HELPLINES_USE, mpDrawView->IsHlplSnap() ) ); rSet.Put( SfxBoolItem( SID_HELPLINES_MOVE, mpDrawView->IsDragStripes() ) ); rSet.Put( SfxBoolItem( SID_SNAP_BORDER, mpDrawView->IsBordSnap() ) ); rSet.Put( SfxBoolItem( SID_SNAP_FRAME, mpDrawView->IsOFrmSnap() ) ); rSet.Put( SfxBoolItem( SID_SNAP_POINTS, mpDrawView->IsOPntSnap() ) ); rSet.Put( SfxBoolItem( SID_QUICKEDIT, mpDrawView->IsQuickTextEditMode() ) ); rSet.Put( SfxBoolItem( SID_PICK_THROUGH, mpDrawView->GetModel()->IsPickThroughTransparentTextFrames() ) ); rSet.Put( SfxBoolItem( SID_DOUBLECLICK_TEXTEDIT, mpFrameView->IsDoubleClickTextEdit() ) ); rSet.Put( SfxBoolItem( SID_CLICK_CHANGE_ROTATION, mpFrameView->IsClickChangeRotation() ) ); } } // end of namespace sd /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ stro/lhm/libreoffice-6-4+backports LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-14loplugin:passstuffbyref in variousNoel Grandin
Change-Id: I80070c83204e531c2f599f8a56193d6ffe0e5022
2016-01-18loplugin: unused return valuesNoel Grandin
Change-Id: I9c61a46c57894bc63a57740206c0bcb4a16553af Reviewed-on: https://gerrit.libreoffice.org/21571 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-15loplugin:unusedmethods unused return value in l10ntools,linguisticNoel Grandin
Change-Id: I11571c25e527787a2054bc8106a27c44b8a96116
2015-03-04V813: Decreased performanceCaolán McNamara
Change-Id: I8a7528366156b288dc422b09cff0d5a32cde3c91
2014-06-17improve the inlinesimplememberfunctions clang pluginNoel Grandin
Change-Id: I6d5a952901648e01904ef5c37f953c517304d31e
2014-04-19fixincludeguards.sh: some smaller dirsThomas Arnhold
Change-Id: Ic25bd678dc299627299b22145efd7bebcf2b39d0
2012-10-08re-base on ALv2 code. Includes:Michael Meeks
linecap: Reintegrating finished LineCap feature Patch contributed by Regina Henschel http://svn.apache.org/viewvc?view=revision&revision=1232507 disable extended linecap API for now. gnumake4 work primarily from Mathias Bauer http://svn.apache.org/viewvc?view=revision&revision=1394326 misc. dead code cleanups Patch contributed by Ariel Constenla-Haile http://svn.apache.org/viewvc?view=revision&revision=1204995 http://svn.apache.org/viewvc?view=revision&revision=1207270