summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/drviewsb.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/view/drviewsb.cxx')
-rw-r--r--sd/source/ui/view/drviewsb.cxx870
1 files changed, 0 insertions, 870 deletions
diff --git a/sd/source/ui/view/drviewsb.cxx b/sd/source/ui/view/drviewsb.cxx
deleted file mode 100644
index 258d9ea35..000000000
--- a/sd/source/ui/view/drviewsb.cxx
+++ /dev/null
@@ -1,870 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sd.hxx"
-#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
-#include <comphelper/processfactory.hxx>
-#include <svx/svdlayer.hxx>
-#include <svx/svxids.hrc>
-#include <sfx2/msgpool.hxx>
-#include <sfx2/viewfrm.hxx>
-#include <svx/hlnkitem.hxx>
-#include <tools/urlobj.hxx>
-#include <editeng/eeitem.hxx>
-#include <editeng/flditem.hxx>
-#include <vcl/msgbox.hxx>
-#include <sfx2/request.hxx>
-#include <sfx2/dispatch.hxx>
-#include <svx/svdorect.hxx>
-#include <sfx2/docfile.hxx>
-#include <basic/sbstar.hxx>
-#include <basic/sberrors.hxx>
-#include <svx/fmshell.hxx>
-#include <svx/svxdlg.hxx>
-#include <svx/dialogs.hrc>
-#include <unotools/useroptions.hxx>
-
-#include "app.hrc"
-#include "strings.hrc"
-#include "res_bmp.hrc"
-#include "glob.hrc"
-#include "Outliner.hxx"
-#include "Window.hxx"
-#include "app.hxx"
-#include "sdattr.hxx"
-#include "drawdoc.hxx"
-#include "DrawDocShell.hxx"
-#include "sdresid.hxx"
-#include "sdpage.hxx"
-#include "DrawViewShell.hxx"
-#include "drawview.hxx"
-#include "unmodpg.hxx"
-#include "undolayer.hxx"
-#include "ViewShellBase.hxx"
-#include "FormShellManager.hxx"
-#include "LayerTabBar.hxx"
-#include "sdabstdlg.hxx"
-#include "SlideSorterViewShell.hxx"
-#include "SlideSorter.hxx"
-#include "controller/SlideSorterController.hxx"
-
-#define RET_DELETE 100
-
-namespace sd {
-
-/*************************************************************************
-|*
-|* SfxRequests fuer temporaere Funktionen
-|*
-\************************************************************************/
-
-void DrawViewShell::FuTemp02(SfxRequest& rReq)
-{
- sal_uInt16 nSId = rReq.GetSlot();
- switch( nSId )
- {
- case SID_INSERTLAYER:
- {
- if ( mpDrawView->IsTextEdit() )
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- SdrLayerAdmin& rLayerAdmin = GetDoc()->GetLayerAdmin();
- sal_uInt16 nLayerCnt = rLayerAdmin.GetLayerCount();
- sal_uInt16 nLayer = nLayerCnt - 2 + 1;
- String aLayerName ( SdResId(STR_LAYER) ), aLayerTitle, aLayerDesc;
- aLayerName += String::CreateFromInt32( (sal_Int32)nLayer );
- sal_Bool bIsVisible = sal_False;
- sal_Bool bIsLocked = sal_False;
- sal_Bool bIsPrintable = sal_False;
-
- const SfxItemSet* pArgs = rReq.GetArgs();
-
- if (! pArgs)
- {
- SfxItemSet aNewAttr( GetDoc()->GetPool(), ATTR_LAYER_START, ATTR_LAYER_END );
-
- aNewAttr.Put( SdAttrLayerName( aLayerName ) );
- aNewAttr.Put( SdAttrLayerTitle() );
- aNewAttr.Put( SdAttrLayerDesc() );
- aNewAttr.Put( SdAttrLayerVisible() );
- aNewAttr.Put( SdAttrLayerPrintable() );
- aNewAttr.Put( SdAttrLayerLocked() );
- aNewAttr.Put( SdAttrLayerThisPage() );
-
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractSdInsertLayerDlg* pDlg = pFact ? pFact->CreateSdInsertLayerDlg(NULL, aNewAttr, true, String( SdResId( STR_INSERTLAYER ) ) ) : 0;
- if( pDlg )
- {
- pDlg->SetHelpId( SD_MOD()->GetSlotPool()->GetSlot( SID_INSERTLAYER )->GetCommand() );
-
- // Ueberpruefung auf schon vorhandene Namen
- sal_Bool bLoop = sal_True;
- while( bLoop && pDlg->Execute() == RET_OK )
- {
- pDlg->GetAttr( aNewAttr );
- aLayerName = ((SdAttrLayerName &) aNewAttr.Get (ATTR_LAYER_NAME)).GetValue ();
-
- if( rLayerAdmin.GetLayer( aLayerName, sal_False )
- || aLayerName.Len()==0 )
- {
- // Name ist schon vorhanden
- WarningBox aWarningBox (
- GetParentWindow(),
- WinBits( WB_OK ),
- String(SdResId( STR_WARN_NAME_DUPLICATE)));
- aWarningBox.Execute();
- }
- else
- bLoop = sal_False;
- }
- if( bLoop ) // wurde abgebrochen
- {
- delete pDlg;
-
- Cancel();
- rReq.Ignore ();
- break;
- }
- else
- {
- aLayerTitle = ((SdAttrLayerTitle &) aNewAttr.Get (ATTR_LAYER_TITLE)).GetValue ();
- aLayerDesc = ((SdAttrLayerDesc &) aNewAttr.Get (ATTR_LAYER_DESC)).GetValue ();
- bIsVisible = ((SdAttrLayerVisible &) aNewAttr.Get (ATTR_LAYER_VISIBLE)).GetValue ();
- bIsLocked = ((SdAttrLayerLocked &) aNewAttr.Get (ATTR_LAYER_LOCKED)).GetValue () ;
- bIsPrintable = ((SdAttrLayerPrintable &) aNewAttr.Get (ATTR_LAYER_PRINTABLE)).GetValue () ;
-
- delete pDlg;
- }
- }
- }
- else if (pArgs->Count () != 4)
- {
- StarBASIC::FatalError (SbERR_WRONG_ARGS);
- Cancel();
- rReq.Ignore ();
- break;
- }
- else
- {
- SFX_REQUEST_ARG (rReq, pLayerName, SfxStringItem, ID_VAL_LAYERNAME, sal_False);
- SFX_REQUEST_ARG (rReq, pIsVisible, SfxBoolItem, ID_VAL_ISVISIBLE, sal_False);
- SFX_REQUEST_ARG (rReq, pIsLocked, SfxBoolItem, ID_VAL_ISLOCKED, sal_False);
- SFX_REQUEST_ARG (rReq, pIsPrintable, SfxBoolItem, ID_VAL_ISPRINTABLE, sal_False);
-
- aLayerName = pLayerName->GetValue ();
- bIsVisible = pIsVisible->GetValue ();
- bIsLocked = pIsLocked->GetValue ();
- bIsPrintable = pIsPrintable->GetValue ();
- }
-
- String aPrevLayer = mpDrawView->GetActiveLayer();
- String aName;
- SdrLayer* pLayer;
- sal_uInt16 nPrevLayer = 0;
- nLayerCnt = rLayerAdmin.GetLayerCount();
-
- for ( nLayer = 0; nLayer < nLayerCnt; nLayer++ )
- {
- pLayer = rLayerAdmin.GetLayer(nLayer);
- aName = pLayer->GetName();
-
- if ( aPrevLayer == aName )
- {
- nPrevLayer = Max(nLayer, (sal_uInt16) 4);
- }
- }
-
- mpDrawView->InsertNewLayer(aLayerName, nPrevLayer + 1);
- pLayer = rLayerAdmin.GetLayer(aLayerName, sal_False);
- if( pLayer )
- {
- pLayer->SetTitle( aLayerTitle );
- pLayer->SetDescription( aLayerDesc );
- }
-
- mpDrawView->SetLayerVisible( aLayerName, bIsVisible );
- mpDrawView->SetLayerLocked( aLayerName, bIsLocked);
- mpDrawView->SetLayerPrintable(aLayerName, bIsPrintable);
-
- mpDrawView->SetActiveLayer(aLayerName);
-
- ResetActualLayer();
-
- GetDoc()->SetChanged(sal_True);
-
- GetViewFrame()->GetDispatcher()->Execute(SID_SWITCHLAYER,
- SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD);
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_MODIFYLAYER:
- {
- if ( mpDrawView->IsTextEdit() )
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- SdrLayerAdmin& rLayerAdmin = GetDoc()->GetLayerAdmin();
- sal_uInt16 nCurPage = GetLayerTabControl()->GetCurPageId();
- String aLayerName( GetLayerTabControl()->GetPageText(nCurPage) );
- SdrLayer* pLayer = rLayerAdmin.GetLayer(aLayerName, sal_False);
-
- String aLayerTitle( pLayer->GetTitle() );
- String aLayerDesc( pLayer->GetDescription() );
-
- String aOldLayerName( aLayerName );
- String aOldLayerTitle( aLayerTitle );
- String aOldLayerDesc( aLayerDesc );
-
- sal_Bool bIsVisible, bIsLocked, bIsPrintable;
- sal_Bool bOldIsVisible = bIsVisible = mpDrawView->IsLayerVisible(aLayerName);
- sal_Bool bOldIsLocked = bIsLocked = mpDrawView->IsLayerLocked(aLayerName);
- sal_Bool bOldIsPrintable = bIsPrintable = mpDrawView->IsLayerPrintable(aLayerName);
-
-
- const SfxItemSet* pArgs = rReq.GetArgs();
- // darf der Layer geloescht werden ?
- bool bDelete = true;
-
- String aLayoutLayer ( SdResId(STR_LAYER_LAYOUT) );
- String aControlsLayer ( SdResId(STR_LAYER_CONTROLS) );
- String aMeasureLinesLayer ( SdResId(STR_LAYER_MEASURELINES) );
- String aBackgroundLayer( SdResId(STR_LAYER_BCKGRND) );
- String aBackgroundObjLayer( SdResId(STR_LAYER_BCKGRNDOBJ) );
-
- if( aLayerName == aLayoutLayer || aLayerName == aControlsLayer ||
- aLayerName == aMeasureLinesLayer ||
- aLayerName == aBackgroundLayer || aLayerName == aBackgroundObjLayer )
- {
- bDelete = false;
- }
-
- if (! pArgs)
- {
- SfxItemSet aNewAttr( GetDoc()->GetPool(), ATTR_LAYER_START, ATTR_LAYER_END );
-
- aNewAttr.Put( SdAttrLayerName( aLayerName ) );
- aNewAttr.Put( SdAttrLayerTitle( aLayerTitle ) );
- aNewAttr.Put( SdAttrLayerDesc( aLayerDesc ) );
- aNewAttr.Put( SdAttrLayerVisible( bIsVisible ) );
- aNewAttr.Put( SdAttrLayerLocked( bIsLocked ) );
- aNewAttr.Put( SdAttrLayerPrintable( bIsPrintable ) );
- aNewAttr.Put( SdAttrLayerThisPage() );
-
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractSdInsertLayerDlg* pDlg = pFact ? pFact->CreateSdInsertLayerDlg(NULL, aNewAttr, bDelete, String( SdResId( STR_MODIFYLAYER ) ) ) : 0;
- if( pDlg )
- {
- pDlg->SetHelpId( SD_MOD()->GetSlotPool()->GetSlot( SID_MODIFYLAYER )->GetCommand() );
-
- // Ueberpruefung auf schon vorhandene Namen
- sal_Bool bLoop = sal_True;
- sal_uInt16 nRet = 0;
- while( bLoop && ( (nRet = pDlg->Execute()) == RET_OK ) )
- {
- pDlg->GetAttr( aNewAttr );
- aLayerName = ((SdAttrLayerName &) aNewAttr.Get (ATTR_LAYER_NAME)).GetValue ();
-
- if( (rLayerAdmin.GetLayer( aLayerName, sal_False ) &&
- aLayerName != aOldLayerName) || aLayerName.Len()==0 )
- {
- // Name ist schon vorhanden
- WarningBox aWarningBox (
- GetParentWindow(),
- WinBits( WB_OK ),
- String( SdResId( STR_WARN_NAME_DUPLICATE)));
- aWarningBox.Execute();
- }
- else
- bLoop = sal_False;
- }
- switch (nRet)
- {
- case RET_OK :
- aLayerTitle = ((SdAttrLayerTitle &) aNewAttr.Get (ATTR_LAYER_TITLE)).GetValue ();
- aLayerDesc = ((SdAttrLayerDesc &) aNewAttr.Get (ATTR_LAYER_DESC)).GetValue ();
- bIsVisible = ((const SdAttrLayerVisible &) aNewAttr.Get (ATTR_LAYER_VISIBLE)).GetValue ();
- bIsLocked = ((const SdAttrLayerLocked &) aNewAttr.Get (ATTR_LAYER_LOCKED)).GetValue ();
- bIsPrintable = ((const SdAttrLayerLocked &) aNewAttr.Get (ATTR_LAYER_PRINTABLE)).GetValue ();
-
- delete pDlg;
- break;
-
- default :
- delete pDlg;
- rReq.Ignore ();
- Cancel ();
- return;
- }
- }
- }
- else if (pArgs->Count () == 4)
- {
- SFX_REQUEST_ARG (rReq, pLayerName, SfxStringItem, ID_VAL_LAYERNAME, sal_False);
- SFX_REQUEST_ARG (rReq, pIsVisible, SfxBoolItem, ID_VAL_ISVISIBLE, sal_False);
- SFX_REQUEST_ARG (rReq, pIsLocked, SfxBoolItem, ID_VAL_ISLOCKED, sal_False);
- SFX_REQUEST_ARG (rReq, pIsPrintable, SfxBoolItem, ID_VAL_ISPRINTABLE, sal_False);
-
- aLayerName = pLayerName->GetValue ();
- bIsVisible = pIsVisible->GetValue ();
- bIsLocked = pIsLocked->GetValue ();
- bIsPrintable = pIsPrintable->GetValue ();
- }
- else
- {
- StarBASIC::FatalError (SbERR_WRONG_ARGS);
- Cancel ();
- rReq.Ignore ();
- break;
- }
-
- ::svl::IUndoManager* pManager = GetDoc()->GetDocSh()->GetUndoManager();
- SdLayerModifyUndoAction* pAction = new SdLayerModifyUndoAction(
- GetDoc(),
- pLayer,
- // old values
- aOldLayerName,
- aOldLayerTitle,
- aOldLayerDesc,
- bOldIsVisible,
- bOldIsLocked,
- bOldIsPrintable,
- // new values
- aLayerName,
- aLayerTitle,
- aLayerDesc,
- bIsVisible,
- bIsLocked,
- bIsPrintable
- );
- pManager->AddUndoAction( pAction );
-
- ModifyLayer( pLayer, aLayerName, aLayerTitle, aLayerDesc, bIsVisible, bIsLocked, bIsPrintable );
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_RENAMELAYER:
- {
- if ( mpDrawView->IsTextEdit() )
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- GetLayerTabControl()->StartEditMode(
- GetLayerTabControl()->GetCurPageId() );
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_EDIT_HYPERLINK :
- {
- GetViewFrame()->GetDispatcher()->Execute( SID_HYPERLINK_DIALOG );
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OPEN_HYPERLINK:
- {
- OutlinerView* pOutView = mpDrawView->GetTextEditOutlinerView();
- if ( pOutView )
- {
- const SvxFieldItem* pFieldItem = pOutView->GetFieldAtSelection();
- if ( pFieldItem )
- {
- const SvxFieldData* pField = pFieldItem->GetField();
- if( pField && pField->ISA( SvxURLField ) )
- {
- const SvxURLField* pURLField = static_cast< const SvxURLField* >( pField );
-
- SfxStringItem aUrl( SID_FILE_NAME, pURLField->GetURL() );
- SfxStringItem aTarget( SID_TARGETNAME, pURLField->GetTargetFrame() );
-
- String aReferName;
- SfxViewFrame* pFrame = GetViewFrame();
- SfxMedium* pMed = pFrame->GetObjectShell()->GetMedium();
- if (pMed)
- aReferName = pMed->GetName();
-
- SfxFrameItem aFrm( SID_DOCFRAME, pFrame );
- SfxStringItem aReferer( SID_REFERER, aReferName );
-
- SfxBoolItem aNewView( SID_OPEN_NEW_VIEW, sal_False );
- SfxBoolItem aBrowsing( SID_BROWSE, sal_True );
-
- SfxViewFrame* pViewFrm = SfxViewFrame::Current();
- if (pViewFrm)
- pViewFrm->GetDispatcher()->Execute( SID_OPENDOC,
- SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD,
- &aUrl, &aTarget,
- &aFrm, &aReferer,
- &aNewView, &aBrowsing,
- 0L );
- }
- }
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_HYPERLINK_SETLINK:
- {
- const SfxItemSet* pReqArgs = rReq.GetArgs();
-
- if (pReqArgs)
- {
- SvxHyperlinkItem* pHLItem =
- (SvxHyperlinkItem*) &pReqArgs->Get(SID_HYPERLINK_SETLINK);
-
- if (pHLItem->GetInsertMode() == HLINK_FIELD)
- {
- InsertURLField(pHLItem->GetURL(), pHLItem->GetName(),
- pHLItem->GetTargetFrame(), NULL);
- }
- else if (pHLItem->GetInsertMode() == HLINK_BUTTON)
- {
- InsertURLButton(pHLItem->GetURL(), pHLItem->GetName(),
- pHLItem->GetTargetFrame(), NULL);
- }
- else if (pHLItem->GetInsertMode() == HLINK_DEFAULT)
- {
- OutlinerView* pOlView = mpDrawView->GetTextEditOutlinerView();
-
- if (pOlView)
- {
- InsertURLField(pHLItem->GetURL(), pHLItem->GetName(),
- pHLItem->GetTargetFrame(), NULL);
- }
- else
- {
- InsertURLButton(pHLItem->GetURL(), pHLItem->GetName(),
- pHLItem->GetTargetFrame(), NULL);
- }
- }
- }
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_INSERT_FLD_DATE_FIX:
- case SID_INSERT_FLD_DATE_VAR:
- case SID_INSERT_FLD_TIME_FIX:
- case SID_INSERT_FLD_TIME_VAR:
- case SID_INSERT_FLD_AUTHOR:
- case SID_INSERT_FLD_PAGE:
- case SID_INSERT_FLD_PAGES:
- case SID_INSERT_FLD_FILE:
- {
- sal_uInt16 nMul = 1;
- SvxFieldItem* pFieldItem = 0;
-
- switch( nSId )
- {
- case SID_INSERT_FLD_DATE_FIX:
- pFieldItem = new SvxFieldItem(
- SvxDateField( Date(), SVXDATETYPE_FIX ), EE_FEATURE_FIELD );
- break;
-
- case SID_INSERT_FLD_DATE_VAR:
- pFieldItem = new SvxFieldItem( SvxDateField(), EE_FEATURE_FIELD );
- break;
-
- case SID_INSERT_FLD_TIME_FIX:
- pFieldItem = new SvxFieldItem(
- SvxExtTimeField( Time(), SVXTIMETYPE_FIX ), EE_FEATURE_FIELD );
- break;
-
- case SID_INSERT_FLD_TIME_VAR:
- pFieldItem = new SvxFieldItem( SvxExtTimeField(), EE_FEATURE_FIELD );
- break;
-
- case SID_INSERT_FLD_AUTHOR:
- {
- SvtUserOptions aUserOptions;
- pFieldItem = new SvxFieldItem(
- SvxAuthorField(
- aUserOptions.GetFirstName(), aUserOptions.GetLastName(), aUserOptions.GetID() ), EE_FEATURE_FIELD );
- }
- break;
-
- case SID_INSERT_FLD_PAGE:
- {
- pFieldItem = new SvxFieldItem( SvxPageField(), EE_FEATURE_FIELD );
- nMul = 3;
- }
- break;
-
- case SID_INSERT_FLD_PAGES:
- {
- pFieldItem = new SvxFieldItem( SvxPagesField(), EE_FEATURE_FIELD );
- nMul = 3;
- }
- break;
-
- case SID_INSERT_FLD_FILE:
- {
- String aName;
- if( GetDocSh()->HasName() )
- aName = GetDocSh()->GetMedium()->GetName();
- pFieldItem = new SvxFieldItem( SvxExtFileField( aName ), EE_FEATURE_FIELD );
- }
- break;
- }
-
- OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
-
- if( pOLV )
- {
- const SvxFieldItem* pOldFldItem = pOLV->GetFieldAtSelection();
-
- if( pOldFldItem && ( pOldFldItem->GetField()->ISA( SvxURLField ) ||
- pOldFldItem->GetField()->ISA( SvxDateField ) ||
- pOldFldItem->GetField()->ISA( SvxTimeField ) ||
- pOldFldItem->GetField()->ISA( SvxExtTimeField ) ||
- pOldFldItem->GetField()->ISA( SvxExtFileField ) ||
- pOldFldItem->GetField()->ISA( SvxAuthorField ) ||
- pOldFldItem->GetField()->ISA( SvxPageField ) ) )
- {
- // Feld selektieren, so dass es beim Insert geloescht wird
- ESelection aSel = pOLV->GetSelection();
- if( aSel.nStartPos == aSel.nEndPos )
- aSel.nEndPos++;
- pOLV->SetSelection( aSel );
- }
-
- if( pFieldItem )
- pOLV->InsertField( *pFieldItem );
- }
- else
- {
- Outliner* pOutl = GetDoc()->GetInternalOutliner();
- pOutl->Init( OUTLINERMODE_TEXTOBJECT );
- sal_uInt16 nOutlMode = pOutl->GetMode();
- pOutl->SetStyleSheet( 0, NULL );
- pOutl->QuickInsertField( *pFieldItem, ESelection() );
- OutlinerParaObject* pOutlParaObject = pOutl->CreateParaObject();
-
- SdrRectObj* pRectObj = new SdrRectObj( OBJ_TEXT );
- pRectObj->SetMergedItem(SdrTextAutoGrowWidthItem(sal_True));
-
- pOutl->UpdateFields();
- pOutl->SetUpdateMode( sal_True );
- Size aSize( pOutl->CalcTextSize() );
- aSize.Width() *= nMul;
- pOutl->SetUpdateMode( sal_False );
-
- Point aPos;
- Rectangle aRect( aPos, GetActiveWindow()->GetOutputSizePixel() );
- aPos = aRect.Center();
- aPos = GetActiveWindow()->PixelToLogic(aPos);
- aPos.X() -= aSize.Width() / 2;
- aPos.Y() -= aSize.Height() / 2;
-
- Rectangle aLogicRect(aPos, aSize);
- pRectObj->SetLogicRect(aLogicRect);
- pRectObj->SetOutlinerParaObject( pOutlParaObject );
- mpDrawView->InsertObjectAtView(pRectObj, *mpDrawView->GetSdrPageView());
- pOutl->Init( nOutlMode );
- }
-
- delete pFieldItem;
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_MODIFY_FIELD:
- {
- OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
-
- if( pOLV )
- {
- const SvxFieldItem* pFldItem = pOLV->GetFieldAtSelection();
-
- if( pFldItem && (pFldItem->GetField()->ISA( SvxDateField ) ||
- pFldItem->GetField()->ISA( SvxAuthorField ) ||
- pFldItem->GetField()->ISA( SvxExtFileField ) ||
- pFldItem->GetField()->ISA( SvxExtTimeField ) ) )
- {
- // Dialog...
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- AbstractSdModifyFieldDlg* pDlg = pFact ? pFact->CreateSdModifyFieldDlg(GetActiveWindow(), pFldItem->GetField(), pOLV->GetAttribs() ) : 0;
- if( pDlg && pDlg->Execute() == RET_OK )
- {
- // To make a correct SetAttribs() call at the utlinerView
- // it is necessary to split the actions here
- SvxFieldData* pField = pDlg->GetField();
- ESelection aSel = pOLV->GetSelection();
- sal_Bool bSelectionWasModified(sal_False);
-
- if( pField )
- {
- SvxFieldItem aFieldItem( *pField, EE_FEATURE_FIELD );
-
- if( aSel.nStartPos == aSel.nEndPos )
- {
- bSelectionWasModified = sal_True;
- aSel.nEndPos++;
- pOLV->SetSelection( aSel );
- }
-
- pOLV->InsertField( aFieldItem );
-
- // select again for eventual SetAttribs call
- pOLV->SetSelection( aSel );
- }
-
- SfxItemSet aSet( pDlg->GetItemSet() );
-
- if( aSet.Count() )
- {
- pOLV->SetAttribs( aSet );
-
- ::Outliner* pOutliner = pOLV->GetOutliner();
- if( pOutliner )
- pOutliner->UpdateFields();
- }
-
- if(pField)
- {
- // restore selection to original
- if(bSelectionWasModified)
- {
- aSel.nEndPos--;
- pOLV->SetSelection( aSel );
- }
-
- delete pField;
- }
- }
- delete pDlg;
- }
- }
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_OPEN_XML_FILTERSETTINGS:
- {
- try
- {
- com::sun::star::uno::Reference < ::com::sun::star::ui::dialogs::XExecutableDialog > xDialog(::comphelper::getProcessServiceFactory()->createInstance(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.ui.XSLTFilterDialog"))), com::sun::star::uno::UNO_QUERY);
- if( xDialog.is() )
- {
- xDialog->execute();
- }
- }
- catch( ::com::sun::star::uno::RuntimeException& )
- {
- }
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- default:
- {
- // switch Anweisung wegen CLOOKS aufgeteilt. Alle case-Anweisungen die
- // eine Fu???? -Funktion aufrufen, sind in die Methode FuTemp03 (drviewsb)
- // gewandert.
- FuTemp03(rReq);
- }
- break;
- };
-};
-
-bool DrawViewShell::RenameSlide( sal_uInt16 nPageId, const String & rName )
-{
- sal_Bool bOutDummy;
- if( GetDoc()->GetPageByName( rName, bOutDummy ) != SDRPAGE_NOTFOUND )
- return false;
-
- SdPage* pPageToRename = NULL;
- PageKind ePageKind = GetPageKind();
-
- if( GetEditMode() == EM_PAGE )
- {
- pPageToRename = GetDoc()->GetSdPage( nPageId - 1, ePageKind );
-
- // Undo
- SdPage* pUndoPage = pPageToRename;
- SdrLayerAdmin & rLayerAdmin = GetDoc()->GetLayerAdmin();
- sal_uInt8 nBackground = rLayerAdmin.GetLayerID( String( SdResId( STR_LAYER_BCKGRND )), sal_False );
- sal_uInt8 nBgObj = rLayerAdmin.GetLayerID( String( SdResId( STR_LAYER_BCKGRNDOBJ )), sal_False );
- SetOfByte aVisibleLayers = mpActualPage->TRG_GetMasterPageVisibleLayers();
-
- ::svl::IUndoManager* pManager = GetDoc()->GetDocSh()->GetUndoManager();
- ModifyPageUndoAction* pAction = new ModifyPageUndoAction(
- GetDoc(), pUndoPage, rName, pUndoPage->GetAutoLayout(),
- aVisibleLayers.IsSet( nBackground ),
- aVisibleLayers.IsSet( nBgObj ));
- pManager->AddUndoAction( pAction );
-
- // rename
- pPageToRename->SetName( rName );
-
- if( ePageKind == PK_STANDARD )
- {
- // also rename notes-page
- SdPage* pNotesPage = GetDoc()->GetSdPage( nPageId - 1, PK_NOTES );
- pNotesPage->SetName( rName );
- }
- }
- else
- {
- // rename MasterPage -> rename LayoutTemplate
- pPageToRename = GetDoc()->GetMasterSdPage( nPageId - 1, ePageKind );
- GetDoc()->RenameLayoutTemplate( pPageToRename->GetLayoutName(), rName );
- }
-
- bool bSuccess = ( sal_False != rName.Equals( pPageToRename->GetName()));
-
- if( bSuccess )
- {
- // user edited page names may be changed by the page so update control
- maTabControl.SetPageText( nPageId, rName );
-
- // set document to modified state
- GetDoc()->SetChanged( sal_True );
-
- // inform navigator about change
- SfxBoolItem aItem( SID_NAVIGATOR_INIT, sal_True );
- GetViewFrame()->GetDispatcher()->Execute(
- SID_NAVIGATOR_INIT, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, &aItem, 0L );
-
- // Tell the slide sorter about the name change (necessary for
- // accessibility.)
- slidesorter::SlideSorterViewShell* pSlideSorterViewShell
- = slidesorter::SlideSorterViewShell::GetSlideSorter(GetViewShellBase());
- if (pSlideSorterViewShell != NULL)
- {
- pSlideSorterViewShell->GetSlideSorter().GetController().PageNameHasChanged(
- nPageId-1, rName);
- }
- }
-
- return bSuccess;
-}
-
-
-
-
-IMPL_LINK( DrawViewShell, RenameSlideHdl, AbstractSvxNameDialog*, pDialog )
-{
- if( ! pDialog )
- return 0;
-
- String aNewName;
- pDialog->GetName( aNewName );
-
- SdPage* pCurrentPage = GetDoc()->GetSdPage( maTabControl.GetCurPageId() - 1, GetPageKind() );
-
- return pCurrentPage && ( aNewName.Equals( pCurrentPage->GetName() ) || GetDocSh()->IsNewPageNameValid( aNewName ) );
-}
-
-
-
-
-void DrawViewShell::ModifyLayer (
- SdrLayer* pLayer,
- const String& rLayerName,
- const String& rLayerTitle,
- const String& rLayerDesc,
- bool bIsVisible,
- bool bIsLocked,
- bool bIsPrintable)
-{
- if( pLayer )
- {
- const sal_uInt16 nPageCount = GetLayerTabControl()->GetPageCount();
- sal_uInt16 nCurPage = 0;
- sal_uInt16 nPos;
- for( nPos = 0; nPos < nPageCount; nPos++ )
- {
- sal_uInt16 nId = GetLayerTabControl()->GetPageId( nPos );
- if( pLayer->GetName() == GetLayerTabControl()->GetPageText( nId ) )
- {
- nCurPage = nId;
- break;
- }
- }
-
- pLayer->SetName( rLayerName );
- pLayer->SetTitle( rLayerTitle );
- pLayer->SetDescription( rLayerDesc );
- mpDrawView->SetLayerVisible( rLayerName, bIsVisible );
- mpDrawView->SetLayerLocked( rLayerName, bIsLocked);
- mpDrawView->SetLayerPrintable(rLayerName, bIsPrintable);
-
- GetDoc()->SetChanged(sal_True);
-
- GetLayerTabControl()->SetPageText(nCurPage, rLayerName);
-
- TabBarPageBits nBits = 0;
-
- if (!bIsVisible)
- {
- // Unsichtbare Layer werden anders dargestellt
- nBits = TPB_SPECIAL;
- }
-
- GetLayerTabControl()->SetPageBits(nCurPage, nBits);
-
- GetViewFrame()->GetDispatcher()->Execute(
- SID_SWITCHLAYER,
- SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD);
-
- // Call Invalidate at the form shell.
- FmFormShell* pFormShell = GetViewShellBase().GetFormShellManager()->GetFormShell();
- if (pFormShell != NULL)
- pFormShell->Invalidate();
- }
-}
-
-} // end of namespace sd
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */