| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sd.hxx" |
| |
| #include "DrawViewShell.hxx" |
| #include <vcl/metaact.hxx> |
| #include <sfx2/request.hxx> |
| #include <sfx2/dispatch.hxx> |
| #include <vcl/msgbox.hxx> |
| #include <sfx2/viewfrm.hxx> |
| #include <svx/svdograf.hxx> |
| #ifndef _SVXIDS_HXX |
| #include <svx/svxids.hrc> |
| #endif |
| #ifndef _FONTWORK_HXX |
| #include <svx/fontwork.hxx> |
| #endif |
| #ifndef _BMPMASK_HXX |
| #include <svx/bmpmask.hxx> |
| #endif |
| #ifndef _SVX_GALBRWS_HXX |
| #include <svx/galbrws.hxx> |
| #endif |
| #ifndef _IMAPDLG_HXX |
| #include <svx/imapdlg.hxx> |
| #endif |
| #include <svx/SvxColorChildWindow.hxx> |
| #include <svx/f3dchild.hxx> |
| #include "optsitem.hxx" |
| #include <svx/extrusionbar.hxx> |
| #include <svx/fontworkbar.hxx> |
| #include <svx/tbxcustomshapes.hxx> |
| #ifndef _AVMEDIA_MEDIAPLAYER_HXX |
| #include <avmedia/mediaplayer.hxx> |
| #endif |
| |
| #include "app.hrc" |
| #include "strings.hrc" |
| #include "glob.hrc" |
| |
| #include "app.hxx" |
| #include "animobjs.hxx" |
| #include "AnimationChildWindow.hxx" |
| #include "NavigatorChildWindow.hxx" |
| #include "LayerDialogChildWindow.hxx" |
| #include "sdresid.hxx" |
| #include "fupoor.hxx" |
| #include "fusldlg.hxx" |
| #include "drawdoc.hxx" |
| #include "fuexpand.hxx" |
| #include "fusumry.hxx" |
| #include "fucushow.hxx" |
| #include "drawview.hxx" |
| #include "FrameView.hxx" |
| #include "Window.hxx" |
| #include "DrawDocShell.hxx" |
| #include "framework/FrameworkHelper.hxx" |
| #include <svx/svdoashp.hxx> |
| #include <sfx2/sidebar/Sidebar.hxx> |
| |
| namespace { |
| static const ::rtl::OUString CustomAnimationPanelId (RTL_CONSTASCII_USTRINGPARAM("CustomAnimationPanel")); |
| static const ::rtl::OUString SlideTransitionPanelId (RTL_CONSTASCII_USTRINGPARAM("SlideTransitionPanel")); |
| } |
| |
| namespace sd { |
| |
| /************************************************************************* |
| |* |
| |* SfxRequests fuer FontWork bearbeiten |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::ExecFormText(SfxRequest& rReq) |
| { |
| // waehrend einer Diashow wird nichts ausgefuehrt! |
| if(HasCurrentFunction(SID_PRESENTATION)) |
| return; |
| |
| CheckLineTo (rReq); |
| |
| const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); |
| |
| if ( rMarkList.GetMarkCount() == 1 && rReq.GetArgs() && |
| mpDrawView && !mpDrawView->IsPresObjSelected() ) |
| { |
| const SfxItemSet& rSet = *rReq.GetArgs(); |
| |
| if ( mpDrawView->IsTextEdit() ) |
| mpDrawView->SdrEndTextEdit(); |
| |
| mpDrawView->SetAttributes(rSet); |
| } |
| } |
| |
| /************************************************************************* |
| |* |
| |* Statuswerte fuer FontWork zurueckgeben |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::GetFormTextState(SfxItemSet& rSet) |
| { |
| const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); |
| const SdrObject* pObj = NULL; |
| SvxFontWorkDialog* pDlg = NULL; |
| |
| sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId(); |
| |
| if ( GetViewFrame()->HasChildWindow(nId) ) |
| pDlg = (SvxFontWorkDialog*)(GetViewFrame()->GetChildWindow(nId)->GetWindow()); |
| |
| if ( rMarkList.GetMarkCount() == 1 ) |
| pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); |
| |
| const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj); |
| const bool bDeactivate( |
| !pObj || |
| !pTextObj || |
| !pTextObj->HasText() || |
| dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no FontWork for CustomShapes |
| |
| if(bDeactivate) |
| { |
| // automatisches Auf/Zuklappen des FontWork-Dialog; erstmal deaktiviert |
| // if ( pDlg ) |
| // pDlg->SetActive(sal_False); |
| |
| rSet.DisableItem(XATTR_FORMTXTSTYLE); |
| rSet.DisableItem(XATTR_FORMTXTADJUST); |
| rSet.DisableItem(XATTR_FORMTXTDISTANCE); |
| rSet.DisableItem(XATTR_FORMTXTSTART); |
| rSet.DisableItem(XATTR_FORMTXTMIRROR); |
| rSet.DisableItem(XATTR_FORMTXTHIDEFORM); |
| rSet.DisableItem(XATTR_FORMTXTOUTLINE); |
| rSet.DisableItem(XATTR_FORMTXTSHADOW); |
| rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR); |
| rSet.DisableItem(XATTR_FORMTXTSHDWXVAL); |
| rSet.DisableItem(XATTR_FORMTXTSHDWYVAL); |
| } |
| else |
| { |
| if ( pDlg ) |
| { |
| // pDlg->SetActive(); |
| pDlg->SetColorTable(GetDoc()->GetColorTableFromSdrModel()); |
| } |
| |
| SfxItemSet aSet( GetDoc()->GetPool() ); |
| mpDrawView->GetAttributes( aSet ); |
| rSet.Set( aSet ); |
| } |
| } |
| |
| /************************************************************************* |
| |* |
| |* SfxRequests fuer Animator bearbeiten |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::ExecAnimationWin( SfxRequest& rReq ) |
| { |
| // waehrend einer Diashow wird nichts ausgefuehrt! |
| if (HasCurrentFunction(SID_PRESENTATION)) |
| return; |
| |
| CheckLineTo (rReq); |
| |
| sal_uInt16 nSId = rReq.GetSlot(); |
| |
| switch( nSId ) |
| { |
| case SID_ANIMATOR_INIT: |
| case SID_ANIMATOR_ADD: |
| case SID_ANIMATOR_CREATE: |
| { |
| AnimationWindow* pAnimWin; |
| sal_uInt16 nId = AnimationChildWindow::GetChildWindowId(); |
| //((const SfxUInt16Item&)(rReq.GetArgs()->Get(nSId))).GetValue(); |
| |
| pAnimWin = static_cast<AnimationWindow*>( |
| GetViewFrame()->GetChildWindow(nId)->GetWindow()); |
| |
| if ( pAnimWin ) |
| { |
| if( nSId == SID_ANIMATOR_ADD ) |
| pAnimWin->AddObj( *mpDrawView ); |
| else if( nSId == SID_ANIMATOR_CREATE ) |
| pAnimWin->CreateAnimObj( *mpDrawView ); |
| } |
| } |
| break; |
| |
| default: |
| break; |
| } |
| } |
| |
| /************************************************************************* |
| |* |
| |* Statuswerte fuer Animator zurueckgeben |
| |* |
| |* nValue == 0 -> Kein Button |
| |* nValue == 1 -> Button 'uebernehmen' |
| |* nValue == 2 -> Button 'einzeln uebernehmen' |
| |* nValue == 3 -> Buttons 'uebernehmen' und 'einzeln uebernehmen' |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::GetAnimationWinState( SfxItemSet& rSet ) |
| { |
| // Hier koennten Buttons etc. disabled werden |
| sal_uInt16 nValue; |
| |
| const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); |
| sal_uLong nMarkCount = rMarkList.GetMarkCount(); |
| |
| if( nMarkCount == 0 ) |
| nValue = 0; |
| else if( nMarkCount > 1 ) |
| nValue = 3; |
| else // 1 Objekt |
| { |
| const SdrObject* pObj = rMarkList.GetMark( 0 )->GetMarkedSdrObj(); |
| sal_uInt32 nInv = pObj->GetObjInventor(); |
| sal_uInt16 nId = pObj->GetObjIdentifier(); |
| // 1 selektiertes Gruppenobjekt |
| if( nInv == SdrInventor && nId == OBJ_GRUP ) |
| nValue = 3; |
| else if( nInv == SdrInventor && nId == OBJ_GRAF ) // Anim. GIF ? |
| { |
| sal_uInt16 nCount = 0; |
| |
| if( ( (SdrGrafObj*) pObj )->IsAnimated() ) |
| nCount = ( (SdrGrafObj*) pObj )->GetGraphic().GetAnimation().Count(); |
| if( nCount > 0 ) |
| nValue = 2; |
| else |
| nValue = 1; |
| } |
| else |
| nValue = 1; |
| } |
| rSet.Put( SfxUInt16Item( SID_ANIMATOR_STATE, nValue ) ); |
| } |
| |
| /************************************************************************* |
| |* |
| |* Statuswerte fuer SfxChildWindows setzen |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::SetChildWindowState( SfxItemSet& rSet ) |
| { |
| // Stati der SfxChild-Windows (Animator, Fontwork etc.) |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_FONTWORK ) ) |
| { |
| sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId(); |
| rSet.Put(SfxBoolItem(SID_FONTWORK, GetViewFrame()->HasChildWindow(nId))); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_COLOR_CONTROL ) ) |
| { |
| sal_uInt16 nId = SvxColorChildWindow::GetChildWindowId(); |
| rSet.Put(SfxBoolItem(SID_COLOR_CONTROL, GetViewFrame()->HasChildWindow(nId))); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ANIMATION_OBJECTS ) ) |
| { |
| sal_uInt16 nId = AnimationChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_ANIMATION_OBJECTS, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_NAVIGATOR ) ) |
| { |
| sal_uInt16 nId = SID_NAVIGATOR; |
| rSet.Put( SfxBoolItem( SID_NAVIGATOR, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_BMPMASK ) ) |
| { |
| sal_uInt16 nId = SvxBmpMaskChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_BMPMASK, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GALLERY ) ) |
| { |
| sal_uInt16 nId = GalleryChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_GALLERY, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_IMAP ) ) |
| { |
| sal_uInt16 nId = SvxIMapDlgChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_IMAP, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_LAYER_DIALOG_WIN ) ) |
| { |
| sal_uInt16 nId = LayerDialogChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_LAYER_DIALOG_WIN, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_3D_WIN ) ) |
| { |
| sal_uInt16 nId = Svx3DChildWindow::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_3D_WIN, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_AVMEDIA_PLAYER ) ) |
| { |
| sal_uInt16 nId = ::avmedia::MediaPlayer::GetChildWindowId(); |
| rSet.Put( SfxBoolItem( SID_AVMEDIA_PLAYER, GetViewFrame()->HasChildWindow( nId ) ) ); |
| } |
| } |
| |
| |
| /************************************************************************* |
| |* |
| |* SfxRequests fuer Pipette bearbeiten |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::ExecBmpMask( SfxRequest& rReq ) |
| { |
| // waehrend einer Diashow wird nichts ausgefuehrt! |
| if (HasCurrentFunction(SID_PRESENTATION)) |
| return; |
| |
| switch ( rReq.GetSlot() ) |
| { |
| case ( SID_BMPMASK_PIPETTE ) : |
| { |
| mbPipette = ( (const SfxBoolItem&) ( rReq.GetArgs()-> |
| Get( SID_BMPMASK_PIPETTE ) ) ).GetValue(); |
| } |
| break; |
| |
| case ( SID_BMPMASK_EXEC ) : |
| { |
| SdrGrafObj* pObj = 0; |
| if( mpDrawView && mpDrawView->GetMarkedObjectList().GetMarkCount() ) |
| pObj = dynamic_cast< SdrGrafObj* >( mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj() ); |
| |
| if ( pObj && !mpDrawView->IsTextEdit() ) |
| { |
| SdrGrafObj* pNewObj = (SdrGrafObj*) pObj->Clone(); |
| sal_Bool bCont = sal_True; |
| |
| if( pNewObj->IsLinkedGraphic() ) |
| { |
| QueryBox aQBox( (Window*) GetActiveWindow(), WB_YES_NO | WB_DEF_YES, |
| String( SdResId( STR_RELEASE_GRAPHICLINK ) ) ); |
| |
| if( RET_YES == aQBox.Execute() ) |
| pNewObj->ReleaseGraphicLink(); |
| else |
| { |
| delete pNewObj; |
| bCont = sal_False; |
| } |
| } |
| |
| if( bCont ) |
| { |
| const Graphic& rOldGraphic = pNewObj->GetGraphic(); |
| const Graphic aNewGraphic( ( (SvxBmpMask*) GetViewFrame()->GetChildWindow( |
| SvxBmpMaskChildWindow::GetChildWindowId() )->GetWindow() )-> |
| Mask( rOldGraphic ) ); |
| |
| if( aNewGraphic != rOldGraphic ) |
| { |
| SdrPageView* pPV = mpDrawView->GetSdrPageView(); |
| |
| pNewObj->SetEmptyPresObj( sal_False ); |
| pNewObj->SetGraphic( ( (SvxBmpMask*) GetViewFrame()->GetChildWindow( |
| SvxBmpMaskChildWindow::GetChildWindowId() )->GetWindow() )-> |
| Mask( pNewObj->GetGraphic() ) ); |
| |
| String aStr( mpDrawView->GetDescriptionOfMarkedObjects() ); |
| aStr += (sal_Unicode)( ' ' ), aStr += String( SdResId( STR_EYEDROPPER ) ); |
| |
| mpDrawView->BegUndo( aStr ); |
| mpDrawView->ReplaceObjectAtView( pObj, *pPV, pNewObj ); |
| mpDrawView->EndUndo(); |
| } |
| } |
| } |
| } |
| break; |
| |
| default: |
| break; |
| } |
| } |
| |
| /************************************************************************* |
| |* |
| |* |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::GetBmpMaskState( SfxItemSet& rSet ) |
| { |
| const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); |
| const SdrObject* pObj = NULL; |
| sal_uInt16 nId = SvxBmpMaskChildWindow::GetChildWindowId(); |
| SvxBmpMask* pDlg = NULL; |
| sal_Bool bEnable = sal_False; |
| |
| if ( GetViewFrame()->HasChildWindow( nId ) ) |
| { |
| pDlg = (SvxBmpMask*) ( GetViewFrame()->GetChildWindow( nId )->GetWindow() ); |
| |
| if ( pDlg->NeedsColorTable() ) |
| pDlg->SetColorTable( GetDoc()->GetColorTableFromSdrModel() ); |
| } |
| |
| if ( rMarkList.GetMarkCount() == 1 ) |
| pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); |
| |
| // valid graphic object? |
| if( pObj && pObj->ISA( SdrGrafObj ) && |
| !((SdrGrafObj*) pObj)->IsEPS() && |
| !mpDrawView->IsTextEdit() ) |
| { |
| bEnable = sal_True; |
| } |
| |
| // put value |
| rSet.Put( SfxBoolItem( SID_BMPMASK_EXEC, bEnable ) ); |
| } |
| |
| /************************************************************************* |
| |* |
| |* SfxRequests fuer temporaere Funktionen |
| |* |
| \************************************************************************/ |
| |
| void DrawViewShell::FuTemp04(SfxRequest& rReq) |
| { |
| sal_uInt16 nSId = rReq.GetSlot(); |
| switch( nSId ) |
| { |
| case SID_FONTWORK: |
| { |
| if ( rReq.GetArgs() ) |
| { |
| GetViewFrame()->SetChildWindow(SvxFontWorkChildWindow::GetChildWindowId(), |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get(SID_FONTWORK))).GetValue()); |
| } |
| else |
| { |
| GetViewFrame()->ToggleChildWindow( SvxFontWorkChildWindow::GetChildWindowId() ); |
| } |
| |
| GetViewFrame()->GetBindings().Invalidate(SID_FONTWORK); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_COLOR_CONTROL: |
| { |
| if ( rReq.GetArgs() ) |
| GetViewFrame()->SetChildWindow(SvxColorChildWindow::GetChildWindowId(), |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get(SID_COLOR_CONTROL))).GetValue()); |
| else |
| GetViewFrame()->ToggleChildWindow(SvxColorChildWindow::GetChildWindowId() ); |
| |
| GetViewFrame()->GetBindings().Invalidate(SID_COLOR_CONTROL); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_EXTRUSION_TOOGLE: |
| case SID_EXTRUSION_TILT_DOWN: |
| case SID_EXTRUSION_TILT_UP: |
| case SID_EXTRUSION_TILT_LEFT: |
| case SID_EXTRUSION_TILT_RIGHT: |
| case SID_EXTRUSION_3D_COLOR: |
| case SID_EXTRUSION_DEPTH: |
| case SID_EXTRUSION_DIRECTION: |
| case SID_EXTRUSION_PROJECTION: |
| case SID_EXTRUSION_LIGHTING_DIRECTION: |
| case SID_EXTRUSION_LIGHTING_INTENSITY: |
| case SID_EXTRUSION_SURFACE: |
| case SID_EXTRUSION_DEPTH_FLOATER: |
| case SID_EXTRUSION_DIRECTION_FLOATER: |
| case SID_EXTRUSION_LIGHTING_FLOATER: |
| case SID_EXTRUSION_SURFACE_FLOATER: |
| case SID_EXTRUSION_DEPTH_DIALOG: |
| svx::ExtrusionBar::execute( mpDrawView, rReq, GetViewFrame()->GetBindings() ); |
| Cancel(); |
| rReq.Ignore (); |
| break; |
| |
| case SID_FONTWORK_SHAPE: |
| case SID_FONTWORK_SHAPE_TYPE: |
| case SID_FONTWORK_ALIGNMENT: |
| case SID_FONTWORK_SAME_LETTER_HEIGHTS: |
| case SID_FONTWORK_CHARACTER_SPACING: |
| case SID_FONTWORK_KERN_CHARACTER_PAIRS: |
| case SID_FONTWORK_GALLERY_FLOATER: |
| case SID_FONTWORK_CHARACTER_SPACING_FLOATER: |
| case SID_FONTWORK_ALIGNMENT_FLOATER: |
| case SID_FONTWORK_CHARACTER_SPACING_DIALOG: |
| svx::FontworkBar::execute( mpDrawView, rReq, GetViewFrame()->GetBindings() ); |
| Cancel(); |
| rReq.Ignore (); |
| break; |
| |
| case SID_BMPMASK: |
| { |
| GetViewFrame()->ToggleChildWindow( SvxBmpMaskChildWindow::GetChildWindowId() ); |
| GetViewFrame()->GetBindings().Invalidate( SID_BMPMASK ); |
| |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_GALLERY: |
| { |
| GetViewFrame()->ToggleChildWindow( GalleryChildWindow::GetChildWindowId() ); |
| GetViewFrame()->GetBindings().Invalidate( SID_GALLERY ); |
| |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_NAVIGATOR: |
| { |
| if ( rReq.GetArgs() ) |
| GetViewFrame()->SetChildWindow(SID_NAVIGATOR, |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get(SID_NAVIGATOR))).GetValue()); |
| else |
| GetViewFrame()->ToggleChildWindow( SID_NAVIGATOR ); |
| |
| GetViewFrame()->GetBindings().Invalidate(SID_NAVIGATOR); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_ANIMATION_OBJECTS: |
| { |
| if ( rReq.GetArgs() ) |
| GetViewFrame()->SetChildWindow( |
| AnimationChildWindow::GetChildWindowId(), |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get(SID_ANIMATION_OBJECTS))).GetValue()); |
| else |
| GetViewFrame()->ToggleChildWindow( |
| AnimationChildWindow::GetChildWindowId() ); |
| |
| GetViewFrame()->GetBindings().Invalidate(SID_ANIMATION_OBJECTS); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_CUSTOM_ANIMATION_PANEL: |
| { |
| // Make the slide transition panel visible in the sidebar. |
| ::sfx2::sidebar::Sidebar::ShowPanel( |
| CustomAnimationPanelId, |
| GetViewFrame()->GetFrame().GetFrameInterface()); |
| |
| Cancel(); |
| rReq.Done (); |
| } |
| break; |
| |
| case SID_SLIDE_TRANSITIONS_PANEL: |
| { |
| // Make the slide transition panel visible in the sidebar. |
| ::sfx2::sidebar::Sidebar::ShowPanel( |
| SlideTransitionPanelId, |
| GetViewFrame()->GetFrame().GetFrameInterface()); |
| |
| Cancel(); |
| rReq.Done (); |
| } |
| break; |
| |
| case SID_3D_WIN: |
| { |
| if ( rReq.GetArgs() ) |
| GetViewFrame()->SetChildWindow( Svx3DChildWindow::GetChildWindowId(), |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get( SID_3D_WIN ))).GetValue()); |
| else |
| GetViewFrame()->ToggleChildWindow( Svx3DChildWindow::GetChildWindowId() ); |
| |
| GetViewFrame()->GetBindings().Invalidate( SID_3D_WIN ); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_CONVERT_TO_3D_LATHE_FAST: |
| { |
| // Der Aufruf ist ausreichend. Die Initialisierung per Start3DCreation und CreateMirrorPolygons |
| // ist nicht mehr noetig, falls der Parameter sal_True uebergeben wird. Dann wird sofort und |
| // ohne Benutzereingriff ein gekippter Rotationskoerper mit einer Achse links neben dem |
| // Umschliessenden Rechteck der slektierten Objekte gezeichnet. |
| mpDrawView->SdrEndTextEdit(); |
| if(GetActiveWindow()) |
| GetActiveWindow()->EnterWait(); |
| mpDrawView->End3DCreation(sal_True); |
| Cancel(); |
| rReq.Ignore(); |
| if(GetActiveWindow()) |
| GetActiveWindow()->LeaveWait(); |
| } |
| break; |
| |
| case SID_PRESENTATION_DLG: |
| { |
| SetCurrentFunction( FuSlideShowDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); |
| Cancel(); |
| } |
| break; |
| |
| case SID_CUSTOMSHOW_DLG: |
| { |
| SetCurrentFunction( FuCustomShowDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); |
| Cancel(); |
| } |
| break; |
| |
| case SID_EXPAND_PAGE: |
| { |
| SetCurrentFunction( FuExpandPage::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); |
| Cancel(); |
| } |
| break; |
| |
| case SID_SUMMARY_PAGE: |
| { |
| mpDrawView->SdrEndTextEdit(); |
| SetCurrentFunction( FuSummaryPage::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) ); |
| Cancel(); |
| } |
| break; |
| |
| case SID_AVMEDIA_PLAYER: |
| { |
| GetViewFrame()->ToggleChildWindow( ::avmedia::MediaPlayer::GetChildWindowId() ); |
| GetViewFrame()->GetBindings().Invalidate( SID_AVMEDIA_PLAYER ); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_LAYER_DIALOG_WIN: |
| { |
| if ( rReq.GetArgs() ) |
| { |
| GetViewFrame()->SetChildWindow( |
| LayerDialogChildWindow::GetChildWindowId(), |
| ((const SfxBoolItem&) (rReq.GetArgs()-> |
| Get(SID_LAYER_DIALOG_WIN))).GetValue()); |
| } |
| else |
| { |
| GetViewFrame()->ToggleChildWindow( |
| LayerDialogChildWindow::GetChildWindowId()); |
| } |
| |
| GetViewFrame()->GetBindings().Invalidate(SID_LAYER_DIALOG_WIN); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| case SID_DISPLAY_MASTER_BACKGROUND: |
| case SID_DISPLAY_MASTER_OBJECTS: |
| { |
| // Determine current page and toggle visibility of layers |
| // associated with master page background or master page shapes. |
| SdPage* pPage = GetActualPage(); |
| if (pPage != NULL |
| && GetDoc() != NULL) |
| { |
| SetOfByte aVisibleLayers = pPage->TRG_GetMasterPageVisibleLayers(); |
| SdrLayerAdmin& rLayerAdmin = GetDoc()->GetLayerAdmin(); |
| sal_uInt8 aLayerId; |
| if (nSId == SID_DISPLAY_MASTER_BACKGROUND) |
| aLayerId = rLayerAdmin.GetLayerID(String(SdResId(STR_LAYER_BCKGRND)), sal_False); |
| else |
| aLayerId = rLayerAdmin.GetLayerID(String(SdResId(STR_LAYER_BCKGRNDOBJ)), sal_False); |
| aVisibleLayers.Set(aLayerId, !aVisibleLayers.IsSet(aLayerId)); |
| pPage->TRG_SetMasterPageVisibleLayers(aVisibleLayers); |
| } |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| |
| default: |
| { |
| DBG_ASSERT( 0, "Slot ohne Funktion" ); |
| Cancel(); |
| rReq.Ignore (); |
| } |
| break; |
| } |
| } |
| |
| } // end of namespace sd |