summaryrefslogtreecommitdiffstats
path: root/sd
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2013-04-27 21:12:52 +0300
committerDavid Tardon <dtardon@redhat.com>2013-04-28 14:28:29 +0000
commitc72bb2da7bc8a7616539d57890139ee8b5360443 (patch)
tree773c68072b56e4b51bd301cdd8a0e781ee9d257d /sd
parentfdo#63680 SwTxtCursor::GetCrsrOfst: don't pass reference to a temporary (diff)
downloadcore-c72bb2da7bc8a7616539d57890139ee8b5360443.tar.gz
core-c72bb2da7bc8a7616539d57890139ee8b5360443.zip
Bin CLOOK comments and un-split one large switch statement
CLOOK = "Compiler Limit: Out Of Keys", an error reported by Microsoft's compiler a long time ago. No such problem in those versions we support. No need to mention CLOOK in comments any more. While at it, re-combine one large switch statement that was split to avoid CLOOK. Change-Id: Id93d973a5fb3c81b6c754eef0ba3b0bd55a649d2 Reviewed-on: https://gerrit.libreoffice.org/3640 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/inc/DrawViewShell.hxx4
-rw-r--r--sd/source/ui/view/drviews2.cxx1971
-rw-r--r--sd/source/ui/view/drviews6.cxx315
-rw-r--r--sd/source/ui/view/drviews8.cxx384
-rw-r--r--sd/source/ui/view/drviewsb.cxx638
-rw-r--r--sd/source/ui/view/drviewsc.cxx578
6 files changed, 1922 insertions, 1968 deletions
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
index f8b94ba63f49..9fd205ff8516 100644
--- a/sd/source/ui/inc/DrawViewShell.hxx
+++ b/sd/source/ui/inc/DrawViewShell.hxx
@@ -251,10 +251,6 @@ public:
void SetZoomOnPage( sal_Bool bZoom = sal_True ) { mbZoomOnPage = bZoom; }
sal_Bool IsZoomOnPage() { return mbZoomOnPage; }
void CheckLineTo (SfxRequest& rReq);
- void FuTemp01(SfxRequest& rReq);
- void FuTemp02(SfxRequest& rReq);
- void FuTemp03(SfxRequest& rReq);
- void FuTemp04(SfxRequest& rReq);
void SetChildWindowState( SfxItemSet& rSet );
void UpdateIMapDlg( SdrObject* pObj );
diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx
index d3f46b9ec131..d474872c60ae 100644
--- a/sd/source/ui/view/drviews2.cxx
+++ b/sd/source/ui/view/drviews2.cxx
@@ -17,71 +17,138 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include "DrawViewShell.hxx"
-#include "ViewShellImplementation.hxx"
-#include <vcl/waitobj.hxx>
-#include <svx/svdograf.hxx>
-#include <svx/svxids.hrc>
-#include <svx/svdpagv.hxx>
-#include <svx/svdundo.hxx>
-#include <sfx2/zoomitem.hxx>
-#include <editeng/editdata.hxx>
+#include <avmedia/mediaplayer.hxx>
+
#include <basic/sberrors.hxx>
-#include <vcl/msgbox.hxx>
-#include <sfx2/request.hxx>
-#include <sfx2/dispatch.hxx>
-#include <svx/xfillit0.hxx>
-#include <svx/xflclit.hxx>
-#include <svl/aeitem.hxx>
-#include <editeng/eeitem.hxx>
#include <basic/sbstar.hxx>
+
+#include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
+#include <com/sun/star/drawing/XDrawPages.hpp>
+#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
+#include <com/sun/star/ui/dialogs/XSLTFilterDialog.hpp>
+
+#include <comphelper/processfactory.hxx>
+
+#include <editeng/editdata.hxx>
+#include <editeng/eeitem.hxx>
#include <editeng/flditem.hxx>
-#include <svx/xlineit0.hxx>
-#include <svx/graphichelper.hxx>
+
+#include <sfx2/bindings.hxx>
+#include <sfx2/dispatch.hxx>
+#include <sfx2/docfile.hxx>
+#include <sfx2/msgpool.hxx>
+#include <sfx2/request.hxx>
+#include <sfx2/viewfrm.hxx>
+#include <sfx2/zoomitem.hxx>
+
+#include <svl/aeitem.hxx>
+
+#include <svx/SpellDialogChildWindow.hxx>
#include <svx/compressgraphicdialog.hxx>
+#include <svx/dialogs.hrc>
+#include <svx/bmpmask.hxx>
+#include <svx/colrctrl.hxx>
#include <svx/extedit.hxx>
-#include <svx/svdoutl.hxx>
-#include <svx/xlnwtit.hxx>
-#include <svx/svdoattr.hxx>
-#include <svx/xlnstwit.hxx>
-#include <svx/sdtmfitm.hxx>
+#include <svx/extrusionbar.hxx>
+#include <svx/f3dchild.hxx>
+#include <svx/fontwork.hxx>
+#include <svx/fontworkbar.hxx>
+#include <svx/galbrws.hxx>
+#include <svx/graphichelper.hxx>
+#include <svx/hlnkitem.hxx>
+#include <svx/imapdlg.hxx>
#include <svx/sdtagitm.hxx>
+#include <svx/sdtmfitm.hxx>
+#include <svx/svdoattr.hxx>
+#include <svx/svdograf.hxx>
+#include <svx/svdoole2.hxx>
+#include <svx/svdoutl.hxx>
+#include <svx/svdpagv.hxx>
+#include <svx/svdundo.hxx>
+#include <svx/svxdlg.hxx>
+#include <svx/svxids.hrc>
+#include <svx/xfillit0.hxx>
+#include <svx/xflclit.hxx>
+#include <svx/xlineit0.hxx>
#include <svx/xlnedwit.hxx>
-#include <svx/fontworkbar.hxx>
+#include <svx/xlnstwit.hxx>
+#include <svx/xlnwtit.hxx>
-#include <svx/svxdlg.hxx>
-#include <svx/dialogs.hrc>
+#include <tools/diagnose_ex.h>
-#include <sfx2/viewfrm.hxx>
-#include "sdgrffilter.hxx"
+#include <unotools/useroptions.hxx>
+
+#include <vcl/graph.hxx>
+#include <vcl/msgbox.hxx>
+#include <vcl/svapp.hxx>
+#include <vcl/waitobj.hxx>
#include "app.hrc"
#include "glob.hrc"
-#include "helpids.h"
-#include "sdattr.hxx"
-#include "drawview.hxx"
+#include "strings.hrc"
+
+#include "framework/FrameworkHelper.hxx"
+
+#include "AnimationChildWindow.hxx"
+#include "DrawDocShell.hxx"
+#include "DrawViewShell.hxx"
+#include "GraphicViewShell.hxx"
+#include "LayerDialogChildWindow.hxx"
+#include "LayerTabBar.hxx"
+#include "Outliner.hxx"
+#include "ViewShellHint.hxx"
+#include "ViewShellImplementation.hxx"
#include "Window.hxx"
#include "drawdoc.hxx"
-#include "DrawDocShell.hxx"
-#include "sdpage.hxx"
+#include "drawview.hxx"
+#include "fuarea.hxx"
+#include "fubullet.hxx"
+#include "fuchar.hxx"
+#include "fucushow.hxx"
+#include "fuconnct.hxx"
+#include "fucopy.hxx"
+#include "fudspord.hxx"
+#include "fuexpand.hxx"
+#include "fuinsert.hxx"
+#include "fuinsfil.hxx"
+#include "fuline.hxx"
+#include "fulinend.hxx"
+#include "fulink.hxx"
+#include "fumeasur.hxx"
+#include "fumorph.hxx"
+#include "fuoaprms.hxx"
+#include "fuolbull.hxx"
+#include "fupage.hxx"
+#include "fuparagr.hxx"
+#include "fuprlout.hxx"
#include "fuscale.hxx"
-#include "sdresid.hxx"
-#include "GraphicViewShell.hxx"
-#include "unmodpg.hxx"
-#include "slideshow.hxx"
+#include "fusel.hxx"
+#include "fusldlg.hxx"
+#include "fusnapln.hxx"
+#include "fusumry.hxx"
+#include "futempl.hxx"
+#include "futhes.hxx"
+#include "futransf.hxx"
+#include "futxtatt.hxx"
#include "fuvect.hxx"
-#include "stlpool.hxx"
-
+#include "fuzoom.hxx"
+#include "helpids.h"
#include "optsitem.hxx"
#include "sdabstdlg.hxx"
-#include <com/sun/star/drawing/XMasterPagesSupplier.hpp>
-#include <com/sun/star/drawing/XDrawPages.hpp>
-
-#include <strings.hrc>
+#include "sdattr.hxx"
+#include "sdgrffilter.hxx"
+#include "sdpage.hxx"
+#include "sdresid.hxx"
+#include "slideshow.hxx"
+#include "stlpool.hxx"
+#include "undolayer.hxx"
+#include "unmodpg.hxx"
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
+#define MIN_ACTIONS_FOR_DIALOG 5000 ///< if there are more meta objects, we show a dialog during the break up
+
namespace sd {
class SdExternalToolEdit : public ExternalToolEdit
@@ -1036,11 +1103,1820 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
}
break;
+ case SID_ATTRIBUTES_LINE: // BASIC
+ {
+ SetCurrentFunction( FuLine::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_ATTRIBUTES_AREA: // BASIC
+ {
+ SetCurrentFunction( FuArea::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_ATTR_TRANSFORM:
+ {
+ SetCurrentFunction( FuTransform::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Invalidate(SID_RULER_OBJECT);
+ Cancel();
+ }
+ break;
+
+ case SID_CHAR_DLG: // BASIC
+ {
+ SetCurrentFunction( FuChar::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_PARA_DLG:
+ {
+ SetCurrentFunction( FuParagraph::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_OUTLINE_BULLET:
+ {
+ SetCurrentFunction( FuOutlineBullet::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case FN_INSERT_SOFT_HYPHEN:
+ case FN_INSERT_HARDHYPHEN:
+ case FN_INSERT_HARD_SPACE:
+ case SID_INSERT_RLM :
+ case SID_INSERT_LRM :
+ case SID_INSERT_ZWNBSP :
+ case SID_INSERT_ZWSP:
+ case SID_CHARMAP:
+ {
+ SetCurrentFunction( FuBullet::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_PRESENTATION_LAYOUT:
+ {
+ SetCurrentFunction( FuPresentationLayout::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
+ Cancel();
+ }
+ break;
+
+ case SID_PASTE_SPECIAL:
+ {
+ SetCurrentFunction( FuInsertClipboard::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_CHANGE_PICTURE:
+ case SID_INSERT_GRAPHIC:
+ {
+ SetCurrentFunction( FuInsertGraphic::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ Invalidate(SID_DRAWTBX_INSERT);
+ }
+ break;
+
+ case SID_INSERT_AVMEDIA:
+ {
+ SetCurrentFunction( FuInsertAVMedia::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+
+ Cancel();
+ rReq.Ignore ();
+
+ Invalidate(SID_DRAWTBX_INSERT);
+ }
+ break;
+
+ case SID_INSERT_OBJECT:
+ case SID_INSERT_PLUGIN:
+ case SID_INSERT_SOUND:
+ case SID_INSERT_VIDEO:
+ case SID_INSERT_FLOATINGFRAME:
+ case SID_INSERT_MATH:
+ case SID_INSERT_DIAGRAM:
+ case SID_ATTR_TABLE:
+ {
+ SetCurrentFunction( FuInsertOLE::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+
+ Cancel();
+ rReq.Ignore ();
+
+ Invalidate(SID_DRAWTBX_INSERT);
+ }
+ break;
+
+ case SID_COPYOBJECTS:
+ {
+ if ( mpDrawView->IsPresObjSelected(sal_False, sal_True) )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ if ( mpDrawView->IsTextEdit() )
+ {
+ mpDrawView->SdrEndTextEdit();
+ }
+
+ SetCurrentFunction( FuCopy::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ }
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_INSERTFILE: // BASIC
+ {
+ Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_START));
+ SetCurrentFunction( FuInsertFile::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END));
+ Cancel();
+ rReq.Done ();
+
+ Invalidate(SID_DRAWTBX_INSERT);
+ }
+ break;
+
+ case SID_SELECT_BACKGROUND:
+ case SID_PAGESETUP: // BASIC ??
+ {
+ SetCurrentFunction( FuPage::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore (); // we generate independent macros !!
+ }
+ break;
+
+ case SID_ZOOM_OUT:
+ case SID_ZOOM_PANNING:
+ {
+ mbZoomOnPage = sal_False;
+ SetCurrentFunction( FuZoom::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
+ // finishes itself, no Cancel() needed!
+ Invalidate( SID_ZOOM_TOOLBOX );
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_BEFORE_OBJ:
+ case SID_BEHIND_OBJ:
+ {
+ SetCurrentFunction( FuDisplayOrder::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
+ Invalidate( SID_POSITION );
+ rReq.Ignore ();
+ // finishes itself, no Cancel() needed!
+ }
+ break;
+
+ case SID_REVERSE_ORDER: // BASIC
+ {
+ mpDrawView->ReverseOrderOfMarked();
+ Invalidate( SID_POSITION );
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_ANIMATION_EFFECTS:
+ {
+ SetCurrentFunction( FuObjectAnimationParameters::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
+ Cancel();
+ }
+ break;
+
+ case SID_LINEEND_POLYGON:
+ {
+ SetCurrentFunction( FuLineEnd::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_CAPTUREPOINT:
+ // negative value to signal call from menu
+ maMousePos = Point(-1,-1);
+ case SID_SET_SNAPITEM:
+ {
+ SetCurrentFunction( FuSnapLine::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
+ Cancel();
+ }
+ break;
+
+ case SID_MANAGE_LINKS:
+ {
+ SetCurrentFunction( FuLink::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_THESAURUS:
+ {
+ SetCurrentFunction( FuThesaurus::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_TEXTATTR_DLG:
+ {
+ SetCurrentFunction( FuTextAttrDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_MEASURE_DLG:
+ {
+ SetCurrentFunction( FuMeasureDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_CONNECTION_DLG:
+ {
+ SetCurrentFunction( FuConnectionDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
+ case SID_CONNECTION_NEW_ROUTING:
+ {
+ SfxItemSet aDefAttr( GetPool(), SDRATTR_EDGELINE1DELTA, SDRATTR_EDGELINE3DELTA );
+ GetView()->SetAttributes( aDefAttr, sal_True ); // (ReplaceAll)
+
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
+ case SID_TWAIN_SELECT:
+ {
+ if( mxScannerManager.is() )
+ {
+ try
+ {
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::scanner::ScannerContext >
+ aContexts( mxScannerManager->getAvailableScanners() );
+
+ if( aContexts.getLength() )
+ {
+ ::com::sun::star::scanner::ScannerContext aContext( aContexts.getConstArray()[ 0 ] );
+ mxScannerManager->configureScannerAndScan( aContext, mxScannerListener );
+ }
+ }
+ catch(...)
+ {
+ }
+ }
+
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
+ case SID_TWAIN_TRANSFER:
+ {
+ sal_Bool bDone = sal_False;
+
+ if( mxScannerManager.is() )
+ {
+ try
+ {
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::scanner::ScannerContext > aContexts( mxScannerManager->getAvailableScanners() );
+
+ if( aContexts.getLength() )
+ {
+ mxScannerManager->startScan( aContexts.getConstArray()[ 0 ], mxScannerListener );
+ bDone = sal_True;
+ }
+ }
+ catch( ... )
+ {
+ }
+ }
+
+ if( !bDone )
+ {
+#ifndef UNX
+ const sal_uInt16 nId = STR_TWAIN_NO_SOURCE;
+#else
+ const sal_uInt16 nId = STR_TWAIN_NO_SOURCE_UNX;
+#endif
+
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String( SdResId( nId ) ) ).Execute();
+ }
+ else
+ {
+ SfxBindings& rBindings = GetViewFrame()->GetBindings();
+ rBindings.Invalidate( SID_TWAIN_SELECT );
+ rBindings.Invalidate( SID_TWAIN_TRANSFER );
+ }
+
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
+ case SID_POLYGON_MORPHING:
+ {
+ SetCurrentFunction( FuMorph::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ case SID_VECTORIZE:
+ {
+ SetCurrentFunction( FuVectorize::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ Cancel();
+ }
+ break;
+
+ 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 += OUString::number( (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() );
+
+ // test for already existing names
+ 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 already exists
+ WarningBox aWarningBox (
+ GetParentWindow(),
+ WinBits( WB_OK ),
+ String(SdResId( STR_WARN_NAME_DUPLICATE)));
+ aWarningBox.Execute();
+ }
+ else
+ bLoop = sal_False;
+ }
+ if( bLoop ) // was canceled
+ {
+ 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)
+ {
+#ifndef DISABLE_SCRIPTING
+ StarBASIC::FatalError (SbERR_WRONG_ARGS);
+#endif
+ 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 = std::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();
+ // is it allowed to delete the layer?
+ 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() );
+
+ // test for already existing names
+ 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 already exists
+ 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
+ {
+#ifndef DISABLE_SCRIPTING
+ StarBASIC::FatalError (SbERR_WRONG_ARGS);
+#endif
+ 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( Date::SYSTEM ), 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( Time::SYSTEM ), 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 ) ) )
+ {
+ // select field, then it will be deleted when inserting
+ 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
+ {
+ css::uno::Reference < css::ui::dialogs::XExecutableDialog > xDialog = css::ui::dialogs::XSLTFilterDialog::create( ::comphelper::getProcessComponentContext() );
+ xDialog->execute();
+ }
+ catch( ::com::sun::star::uno::RuntimeException& )
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
+
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_GROUP: // BASIC
+ {
+ if ( mpDrawView->IsPresObjSelected( sal_True, sal_True, sal_True ) )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ mpDrawView->GroupMarked();
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_UNGROUP: // BASIC
+ {
+ mpDrawView->UnGroupMarked();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_NAME_GROUP:
+ {
+ // only allow for single object selection since the name of an object needs
+ // to be unique
+ if(1L == mpDrawView->GetMarkedObjectCount())
+ {
+ // #i68101#
+ SdrObject* pSelected = mpDrawView->GetMarkedObjectByIndex(0L);
+ OSL_ENSURE(pSelected, "DrawViewShell::FuTemp03: nMarkCount, but no object (!)");
+ String aName(pSelected->GetName());
+
+ SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
+ OSL_ENSURE(pFact, "Dialogdiet fail!");
+ AbstractSvxObjectNameDialog* pDlg = pFact->CreateSvxObjectNameDialog(NULL, aName);
+ OSL_ENSURE(pDlg, "Dialogdiet fail!");
+
+ pDlg->SetCheckNameHdl(LINK(this, DrawViewShell, NameObjectHdl));
+
+ if(RET_OK == pDlg->Execute())
+ {
+ pDlg->GetName(aName);
+ pSelected->SetName(aName);
+ }
+
+ delete pDlg;
+ }
+
+ SfxBindings& rBindings = GetViewFrame()->GetBindings();
+ rBindings.Invalidate( SID_NAVIGATOR_STATE, sal_True, sal_False );
+ rBindings.Invalidate( SID_CONTEXT );
+
+ Cancel();
+ rReq.Ignore();
+ break;
+ }
+
+ // #i68101#
+ case SID_OBJECT_TITLE_DESCRIPTION:
+ {
+ if(1L == mpDrawView->GetMarkedObjectCount())
+ {
+ SdrObject* pSelected = mpDrawView->GetMarkedObjectByIndex(0L);
+ OSL_ENSURE(pSelected, "DrawViewShell::FuTemp03: nMarkCount, but no object (!)");
+ String aTitle(pSelected->GetTitle());
+ String aDescription(pSelected->GetDescription());
+
+ SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
+ OSL_ENSURE(pFact, "Dialogdiet fail!");
+ AbstractSvxObjectTitleDescDialog* pDlg = pFact->CreateSvxObjectTitleDescDialog(NULL, aTitle, aDescription);
+ OSL_ENSURE(pDlg, "Dialogdiet fail!");
+
+ if(RET_OK == pDlg->Execute())
+ {
+ pDlg->GetTitle(aTitle);
+ pDlg->GetDescription(aDescription);
+ pSelected->SetTitle(aTitle);
+ pSelected->SetDescription(aDescription);
+ }
+
+ delete pDlg;
+ }
+
+ SfxBindings& rBindings = GetViewFrame()->GetBindings();
+ rBindings.Invalidate( SID_NAVIGATOR_STATE, sal_True, sal_False );
+ rBindings.Invalidate( SID_CONTEXT );
+
+ Cancel();
+ rReq.Ignore();
+ break;
+ }
+
+ case SID_ENTER_GROUP: // BASIC
+ {
+ mpDrawView->EnterMarkedGroup();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_LEAVE_GROUP: // BASIC
+ {
+ mpDrawView->LeaveOneGroup();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_LEAVE_ALL_GROUPS: // BASIC
+ {
+ mpDrawView->LeaveAllGroup();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_COMBINE: // BASIC
+ {
+ // End text edit to avoid conflicts
+ if(mpDrawView->IsTextEdit())
+ mpDrawView->SdrEndTextEdit();
+
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->CombineMarkedObjects(sal_False);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_DISTRIBUTE_DLG:
+ {
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ mpDrawView->DistributeMarkedObjects();
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_POLY_MERGE:
+ {
+ // End text edit to avoid conflicts
+ if(mpDrawView->IsTextEdit())
+ mpDrawView->SdrEndTextEdit();
+
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->MergeMarkedObjects(SDR_MERGE_MERGE);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_POLY_SUBSTRACT:
+ {
+ // End text edit to avoid conflicts
+ if(mpDrawView->IsTextEdit())
+ mpDrawView->SdrEndTextEdit();
+
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->MergeMarkedObjects(SDR_MERGE_SUBSTRACT);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_POLY_INTERSECT:
+ {
+ // End text edit to avoid conflicts
+ if(mpDrawView->IsTextEdit())
+ mpDrawView->SdrEndTextEdit();
+
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->MergeMarkedObjects(SDR_MERGE_INTERSECT);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_DISMANTLE: // BASIC
+ {
+ if ( mpDrawView->IsDismantlePossible(sal_False) )
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->DismantleMarkedObjects(sal_False);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_CONNECT: // BASIC
+ {
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->CombineMarkedObjects(sal_True);
+ }
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_BREAK: // BASIC
+ {
+ if ( mpDrawView->IsTextEdit() )
+ {
+ mpDrawView->SdrEndTextEdit();
+ }
+
+ if ( mpDrawView->IsBreak3DObjPossible() )
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->Break3DObj();
+ }
+ else if ( mpDrawView->IsDismantlePossible(sal_True) )
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->DismantleMarkedObjects(sal_True);
+ }
+ else if ( mpDrawView->IsImportMtfPossible() )
+ {
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
+ sal_uLong nAnz=rMarkList.GetMarkCount();
+
+ // determine the sum of meta objects of all selected meta files
+ sal_uLong nCount = 0;
+ for(sal_uLong nm=0; nm<nAnz; nm++)
+ {
+ SdrMark* pM=rMarkList.GetMark(nm);
+ SdrObject* pObj=pM->GetMarkedSdrObj();
+ SdrGrafObj* pGraf=PTR_CAST(SdrGrafObj,pObj);
+ SdrOle2Obj* pOle2=PTR_CAST(SdrOle2Obj,pObj);
+
+ if(pGraf)
+ {
+ if(pGraf->HasGDIMetaFile())
+ {
+ nCount += pGraf->GetGraphic().GetGDIMetaFile().GetActionSize();
+ }
+ else if(pGraf->isEmbeddedSvg())
+ {
+ nCount += pGraf->getMetafileFromEmbeddedSvg().GetActionSize();
+ }
+ }
+
+ if(pOle2 && pOle2->GetGraphic())
+ {
+ nCount += pOle2->GetGraphic()->GetGDIMetaFile().GetActionSize();
+ }
+ }
+
+ // decide with the sum of all meta objects if we should show a dialog
+ if(nCount < MIN_ACTIONS_FOR_DIALOG)
+ {
+ // nope, no dialog
+ mpDrawView->DoImportMarkedMtf();
+ }
+ else
+ {
+ SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
+ if( pFact )
+ {
+ VclAbstractDialog* pDlg = pFact->CreateBreakDlg(GetActiveWindow(), mpDrawView, GetDocSh(), nCount, nAnz );
+ if( pDlg )
+ {
+ pDlg->Execute();
+ delete pDlg;
+ }
+ }
+ }
+ }
+
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_CONVERT_TO_3D:
+ {
+ if ( mpDrawView->IsPresObjSelected() )
+ {
+ ::sd::Window* pWindow = GetActiveWindow();
+ InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
+ }
+ else
+ {
+ if (mpDrawView->IsConvertTo3DObjPossible())
+ {
+ if (mpDrawView->IsTextEdit())
+ {
+ mpDrawView->SdrEndTextEdit();
+ }
+
+ WaitObject aWait( (Window*)GetActiveWindow() );
+ mpDrawView->ConvertMarkedObjTo3D(true);
+ }
+ }
+
+ Cancel();
+ rReq.Done();
+ }
+ break;
+
+ case SID_FRAME_TO_TOP: // BASIC
+ {
+ mpDrawView->PutMarkedToTop();
+ Cancel();
+ Invalidate( SID_POSITION );
+ rReq.Done ();
+ }
+ break;
+
+ case SID_MOREFRONT: // BASIC
+ {
+ mpDrawView->MovMarkedToTop();
+ Cancel();
+ Invalidate( SID_POSITION );
+ rReq.Done ();
+ }
+ break;
+
+ case SID_MOREBACK: // BASIC
+ {
+ mpDrawView->MovMarkedToBtm();
+ Cancel();
+ Invalidate( SID_POSITION );
+ rReq.Done ();
+ }
+ break;
+
+ case SID_FRAME_TO_BOTTOM: // BASIC
+ {
+ mpDrawView->PutMarkedToBtm();
+ Cancel();
+ Invalidate( SID_POSITION );
+ rReq.Done ();
+ }
+ break;
+
+ case SID_HORIZONTAL: // BASIC
+ {
+ mpDrawView->MirrorAllMarkedHorizontal();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_VERTICAL: // BASIC
+ {
+ mpDrawView->MirrorAllMarkedVertical();
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_LEFT: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_LEFT, SDRVALIGN_NONE);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_CENTER: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_CENTER, SDRVALIGN_NONE);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_RIGHT: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_RIGHT, SDRVALIGN_NONE);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_UP: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_TOP);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_MIDDLE: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_CENTER);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_OBJECT_ALIGN_DOWN: // BASIC
+ {
+ mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_BOTTOM);
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_SELECTALL: // BASIC
+ {
+ if( (dynamic_cast<FuSelection*>( GetOldFunction().get() ) != 0) &&
+ !GetView()->IsFrameDragSingles() && GetView()->HasMarkablePoints())
+ {
+ if ( !mpDrawView->IsAction() )
+ mpDrawView->MarkAllPoints();
+ }
+ else
+ mpDrawView->SelectAll();
+
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_STYLE_NEW: // BASIC ???
+ case SID_STYLE_APPLY:
+ case SID_STYLE_EDIT:
+ case SID_STYLE_DELETE:
+ case SID_STYLE_HIDE:
+ case SID_STYLE_SHOW:
+ case SID_STYLE_FAMILY:
+ case SID_STYLE_WATERCAN:
+ case SID_STYLE_UPDATE_BY_EXAMPLE:
+ case SID_STYLE_NEW_BY_EXAMPLE:
+ {
+ if( rReq.GetSlot() == SID_STYLE_EDIT && !rReq.GetArgs() )
+ {
+ SfxStyleSheet* pStyleSheet = mpDrawView->GetStyleSheet();
+ if( pStyleSheet && pStyleSheet->GetFamily() == SD_STYLE_FAMILY_MASTERPAGE)
+ pStyleSheet = ((SdStyleSheet*)pStyleSheet)->GetPseudoStyleSheet();
+
+ if( (pStyleSheet == NULL) && GetView()->IsTextEdit() )
+ {
+ GetView()->SdrEndTextEdit();
+
+ pStyleSheet = mpDrawView->GetStyleSheet();
+ if(pStyleSheet && pStyleSheet->GetFamily() == SD_STYLE_FAMILY_MASTERPAGE)
+ pStyleSheet = ((SdStyleSheet*)pStyleSheet)->GetPseudoStyleSheet();
+ }
+
+ if( pStyleSheet == NULL )
+ {
+ rReq.Ignore();
+ break;
+ }
+
+ SfxAllItemSet aSet(GetDoc()->GetPool());
+
+ SfxStringItem aStyleNameItem( SID_STYLE_EDIT, pStyleSheet->GetName() );
+ aSet.Put(aStyleNameItem);
+
+ SfxUInt16Item aStyleFamilyItem( SID_STYLE_FAMILY, (sal_uInt16)pStyleSheet->GetFamily() );
+ aSet.Put(aStyleFamilyItem);
+
+ rReq.SetArgs(aSet);
+ }
+
+ if( rReq.GetArgs() )
+ {
+ SetCurrentFunction( FuTemplate::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
+ if( rReq.GetSlot() == SID_STYLE_APPLY )
+ GetViewFrame()->GetBindings().Invalidate( SID_STYLE_APPLY );
+ Cancel();
+ }
+ else if( rReq.GetSlot() == SID_STYLE_APPLY )
+ GetViewFrame()->GetDispatcher()->Execute( SID_STYLE_DESIGNER, SFX_CALLMODE_ASYNCHRON );
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_IMAP:
+ {
+ sal_uInt16 nId = SvxIMapDlgChildWindow::GetChildWindowId();
+
+ GetViewFrame()->ToggleChildWindow( nId );
+ GetViewFrame()->GetBindings().Invalidate( SID_IMAP );
+
+ if ( GetViewFrame()->HasChildWindow( nId )
+ && ( ( ViewShell::Implementation::GetImageMapDialog() ) != NULL ) )
+ {
+ const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
+
+ if ( rMarkList.GetMarkCount() == 1 )
+ UpdateIMapDlg( rMarkList.GetMark( 0 )->GetMarkedSdrObj() );
+ }
+
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
+ case SID_GRID_FRONT:
+ {
+ mpDrawView->SetGridFront( !mpDrawView->IsGridFront() );
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_HELPLINES_FRONT:
+ {
+ mpDrawView->SetHlplFront( !mpDrawView->IsHlplFront() );
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ 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 (expand it) in the
+ // tool pane.
+ framework::FrameworkHelper::Instance(GetViewShellBase())->RequestTaskPanel(
+ framework::FrameworkHelper::msCustomAnimationTaskPanelURL);
+
+ Cancel();
+ rReq.Done ();
+ }
+ break;
+
+ case SID_SLIDE_TRANSITIONS_PANEL:
+ {
+ // Make the slide transition panel visible (expand it) in the
+ // tool pane.
+ framework::FrameworkHelper::Instance(GetViewShellBase())->RequestTaskPanel(
+ framework::FrameworkHelper::msSlideTransitionTaskPanelURL);
+
+ 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:
+ {
+ /* The call is enough. The initialization via Start3DCreation and
+ CreateMirrorPolygons is no longer needed if the parameter
+ sal_True is provided. Then a tilted rotary body with an axis left
+ besides the bounding rectangle of the selected objects is drawn
+ immediately and without user interaction. */
+ mpDrawView->SdrEndTextEdit();
+ if(GetActiveWindow())
+ GetActiveWindow()->EnterWait();
+ mpDrawView->End3DCreation(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_REMOTE_DLG:
+ {
+#ifdef ENABLE_SDREMOTE
+ SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
+ VclAbstractDialog* pDlg = pFact ? pFact->CreateRemoteDialog(GetActiveWindow()) : 0;
+ if (pDlg)
+ pDlg->Execute();
+#endif
+ }
+ 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;
+
+ case SID_PHOTOALBUM:
+ {
+ SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
+ VclAbstractDialog* pDlg = pFact ? pFact->CreateSdPhotoAlbumDialog(
+ GetActiveWindow(),
+ GetDoc()) : 0;
+
+ if (pDlg)
+ {
+ pDlg->Execute();
+ delete pDlg;
+ }
+ Cancel();
+ rReq.Ignore ();
+ }
+ break;
+
default:
{
- // Switch statement splitted because of CLOOKS. All case-statements
- // which call a Fu???? - function, are gone into FuTemp01 (drviews8)
- FuTemp01(rReq);
+ DBG_ASSERT( 0, "Slot without function" );
+ Cancel();
+ rReq.Ignore ();
}
break;
}
@@ -1051,9 +2927,6 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
}
}
-
-
-
/** This method consists basically of three parts:
1. Process the arguments of the SFX request.
2. Use the model to create a new page or duplicate an existing one.
diff --git a/sd/source/ui/view/drviews6.cxx b/sd/source/ui/view/drviews6.cxx
index 760e411a0c76..8ccc1bd51777 100644
--- a/sd/source/ui/view/drviews6.cxx
+++ b/sd/source/ui/view/drviews6.cxx
@@ -40,7 +40,6 @@
#include "app.hrc"
#include "strings.hrc"
-#include "glob.hrc"
#include "sdmod.hxx"
#include "animobjs.hxx"
@@ -48,12 +47,7 @@
#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"
@@ -403,315 +397,6 @@ void DrawViewShell::GetBmpMaskState( SfxItemSet& rSet )
rSet.Put( SfxBoolItem( SID_BMPMASK_EXEC, bEnable ) );
}
-/**
- * SfxRequests for temporary functions
- */
-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 (expand it) in the
- // tool pane.
- framework::FrameworkHelper::Instance(GetViewShellBase())->RequestTaskPanel(
- framework::FrameworkHelper::msCustomAnimationTaskPanelURL);
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_SLIDE_TRANSITIONS_PANEL:
- {
- // Make the slide transition panel visible (expand it) in the
- // tool pane.
- framework::FrameworkHelper::Instance(GetViewShellBase())->RequestTaskPanel(
- framework::FrameworkHelper::msSlideTransitionTaskPanelURL);
-
- 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:
- {
- /* The call is enough. The initialization via Start3DCreation and
- CreateMirrorPolygons is no longer needed if the parameter
- sal_True is provided. Then a tilted rotary body with an axis left
- besides the bounding rectangle of the selected objects is drawn
- immediately and without user interaction. */
- mpDrawView->SdrEndTextEdit();
- if(GetActiveWindow())
- GetActiveWindow()->EnterWait();
- mpDrawView->End3DCreation(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_REMOTE_DLG:
- {
-#ifdef ENABLE_SDREMOTE
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- VclAbstractDialog* pDlg = pFact ? pFact->CreateRemoteDialog(GetActiveWindow()) : 0;
- if (pDlg)
- pDlg->Execute();
-#endif
- }
- 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;
-
- case SID_PHOTOALBUM:
- {
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- VclAbstractDialog* pDlg = pFact ? pFact->CreateSdPhotoAlbumDialog(
- GetActiveWindow(),
- GetDoc()) : 0;
-
- if (pDlg)
- {
- pDlg->Execute();
- delete pDlg;
- }
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- default:
- {
- DBG_ASSERT( 0, "Slot without function" );
- Cancel();
- rReq.Ignore ();
- }
- break;
- }
-}
-
} // end of namespace sd
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sd/source/ui/view/drviews8.cxx b/sd/source/ui/view/drviews8.cxx
index f4dfc30161bd..cf220e184f66 100644
--- a/sd/source/ui/view/drviews8.cxx
+++ b/sd/source/ui/view/drviews8.cxx
@@ -36,31 +36,6 @@
#include "app.hrc"
#include "strings.hrc"
-#include "fuzoom.hxx"
-#include "fudspord.hxx"
-#include "futransf.hxx"
-#include "fuline.hxx"
-#include "fuarea.hxx"
-#include "fuchar.hxx"
-#include "fuparagr.hxx"
-#include "fubullet.hxx"
-#include "futempl.hxx"
-#include "fuinsert.hxx"
-#include "fuprlout.hxx"
-#include "fupage.hxx"
-#include "fuoaprms.hxx"
-#include "fucopy.hxx"
-#include "fulinend.hxx"
-#include "fusnapln.hxx"
-#include "fuolbull.hxx"
-#include "fuinsfil.hxx"
-#include "fulink.hxx"
-#include "futhes.hxx"
-#include "futxtatt.hxx"
-#include "fumeasur.hxx"
-#include "fuconnct.hxx"
-#include "fumorph.hxx"
-#include "fuvect.hxx"
#include "sdresid.hxx"
#include "Window.hxx"
#include "drawview.hxx"
@@ -71,365 +46,6 @@
namespace sd {
-/**
- * SfxRequests for temporary functions
- */
-void DrawViewShell::FuTemp01(SfxRequest& rReq)
-{
- switch(rReq.GetSlot())
- {
- case SID_ATTRIBUTES_LINE: // BASIC
- {
- SetCurrentFunction( FuLine::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_ATTRIBUTES_AREA: // BASIC
- {
- SetCurrentFunction( FuArea::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_ATTR_TRANSFORM:
- {
- SetCurrentFunction( FuTransform::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Invalidate(SID_RULER_OBJECT);
- Cancel();
- }
- break;
-
- case SID_CHAR_DLG: // BASIC
- {
- SetCurrentFunction( FuChar::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_PARA_DLG:
- {
- SetCurrentFunction( FuParagraph::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_OUTLINE_BULLET:
- {
- SetCurrentFunction( FuOutlineBullet::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case FN_INSERT_SOFT_HYPHEN:
- case FN_INSERT_HARDHYPHEN:
- case FN_INSERT_HARD_SPACE:
- case SID_INSERT_RLM :
- case SID_INSERT_LRM :
- case SID_INSERT_ZWNBSP :
- case SID_INSERT_ZWSP:
- case SID_CHARMAP:
- {
- SetCurrentFunction( FuBullet::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_PRESENTATION_LAYOUT:
- {
- SetCurrentFunction( FuPresentationLayout::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
- Cancel();
- }
- break;
-
- case SID_PASTE_SPECIAL:
- {
- SetCurrentFunction( FuInsertClipboard::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_CHANGE_PICTURE:
- case SID_INSERT_GRAPHIC:
- {
- SetCurrentFunction( FuInsertGraphic::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- Invalidate(SID_DRAWTBX_INSERT);
- }
- break;
-
- case SID_INSERT_AVMEDIA:
- {
- SetCurrentFunction( FuInsertAVMedia::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
-
- Cancel();
- rReq.Ignore ();
-
- Invalidate(SID_DRAWTBX_INSERT);
- }
- break;
-
- case SID_INSERT_OBJECT:
- case SID_INSERT_PLUGIN:
- case SID_INSERT_SOUND:
- case SID_INSERT_VIDEO:
- case SID_INSERT_FLOATINGFRAME:
- case SID_INSERT_MATH:
- case SID_INSERT_DIAGRAM:
- case SID_ATTR_TABLE:
- {
- SetCurrentFunction( FuInsertOLE::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
-
- Cancel();
- rReq.Ignore ();
-
- Invalidate(SID_DRAWTBX_INSERT);
- }
- break;
-
- case SID_COPYOBJECTS:
- {
- if ( mpDrawView->IsPresObjSelected(sal_False, sal_True) )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- if ( mpDrawView->IsTextEdit() )
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- SetCurrentFunction( FuCopy::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- }
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_INSERTFILE: // BASIC
- {
- Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_START));
- SetCurrentFunction( FuInsertFile::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Broadcast (ViewShellHint(ViewShellHint::HINT_COMPLEX_MODEL_CHANGE_END));
- Cancel();
- rReq.Done ();
-
- Invalidate(SID_DRAWTBX_INSERT);
- }
- break;
-
- case SID_SELECT_BACKGROUND:
- case SID_PAGESETUP: // BASIC ??
- {
- SetCurrentFunction( FuPage::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore (); // we generate independent macros !!
- }
- break;
-
- case SID_ZOOM_OUT:
- case SID_ZOOM_PANNING:
- {
- mbZoomOnPage = sal_False;
- SetCurrentFunction( FuZoom::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
- // finishes itself, no Cancel() needed!
- Invalidate( SID_ZOOM_TOOLBOX );
- rReq.Ignore ();
- }
- break;
-
- case SID_BEFORE_OBJ:
- case SID_BEHIND_OBJ:
- {
- SetCurrentFunction( FuDisplayOrder::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
- Invalidate( SID_POSITION );
- rReq.Ignore ();
- // finishes itself, no Cancel() needed!
- }
- break;
-
- case SID_REVERSE_ORDER: // BASIC
- {
- mpDrawView->ReverseOrderOfMarked();
- Invalidate( SID_POSITION );
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_ANIMATION_EFFECTS:
- {
- SetCurrentFunction( FuObjectAnimationParameters::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
- Cancel();
- }
- break;
-
- case SID_LINEEND_POLYGON:
- {
- SetCurrentFunction( FuLineEnd::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_CAPTUREPOINT:
- // negative value to signal call from menu
- maMousePos = Point(-1,-1);
- case SID_SET_SNAPITEM:
- {
- SetCurrentFunction( FuSnapLine::Create(this, GetActiveWindow(), mpDrawView, GetDoc(), rReq) );
- Cancel();
- }
- break;
-
- case SID_MANAGE_LINKS:
- {
- SetCurrentFunction( FuLink::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_THESAURUS:
- {
- SetCurrentFunction( FuThesaurus::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_TEXTATTR_DLG:
- {
- SetCurrentFunction( FuTextAttrDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_MEASURE_DLG:
- {
- SetCurrentFunction( FuMeasureDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_CONNECTION_DLG:
- {
- SetCurrentFunction( FuConnectionDlg::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- rReq.Done();
- }
- break;
-
- case SID_CONNECTION_NEW_ROUTING:
- {
- SfxItemSet aDefAttr( GetPool(), SDRATTR_EDGELINE1DELTA, SDRATTR_EDGELINE3DELTA );
- GetView()->SetAttributes( aDefAttr, sal_True ); // (ReplaceAll)
-
- Cancel();
- rReq.Done();
- }
- break;
-
- case SID_TWAIN_SELECT:
- {
- if( mxScannerManager.is() )
- {
- try
- {
- const ::com::sun::star::uno::Sequence< ::com::sun::star::scanner::ScannerContext >
- aContexts( mxScannerManager->getAvailableScanners() );
-
- if( aContexts.getLength() )
- {
- ::com::sun::star::scanner::ScannerContext aContext( aContexts.getConstArray()[ 0 ] );
- mxScannerManager->configureScannerAndScan( aContext, mxScannerListener );
- }
- }
- catch(...)
- {
- }
- }
-
- Cancel();
- rReq.Done();
- }
- break;
-
- case SID_TWAIN_TRANSFER:
- {
- sal_Bool bDone = sal_False;
-
- if( mxScannerManager.is() )
- {
- try
- {
- const ::com::sun::star::uno::Sequence< ::com::sun::star::scanner::ScannerContext > aContexts( mxScannerManager->getAvailableScanners() );
-
- if( aContexts.getLength() )
- {
- mxScannerManager->startScan( aContexts.getConstArray()[ 0 ], mxScannerListener );
- bDone = sal_True;
- }
- }
- catch( ... )
- {
- }
- }
-
- if( !bDone )
- {
-#ifndef UNX
- const sal_uInt16 nId = STR_TWAIN_NO_SOURCE;
-#else
- const sal_uInt16 nId = STR_TWAIN_NO_SOURCE_UNX;
-#endif
-
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String( SdResId( nId ) ) ).Execute();
- }
- else
- {
- SfxBindings& rBindings = GetViewFrame()->GetBindings();
- rBindings.Invalidate( SID_TWAIN_SELECT );
- rBindings.Invalidate( SID_TWAIN_TRANSFER );
- }
-
- Cancel();
- rReq.Done();
- }
- break;
-
- case SID_POLYGON_MORPHING:
- {
- SetCurrentFunction( FuMorph::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- case SID_VECTORIZE:
- {
- SetCurrentFunction( FuVectorize::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- Cancel();
- }
- break;
-
- default:
- {
- // Switch statement splitted because of CLOOKS. All case-statements
- // which call a Fu???? - function, are gone into FuTemp01
- // (drviews8), FuTemp02 (drviewsb).
- FuTemp02(rReq);
- }
- break;
- }
-}
-
-
void DrawViewShell::ScannerEvent( const ::com::sun::star::lang::EventObject& )
{
if( mxScannerManager.is() )
diff --git a/sd/source/ui/view/drviewsb.cxx b/sd/source/ui/view/drviewsb.cxx
index f1c80f1fb400..5280912d142e 100644
--- a/sd/source/ui/view/drviewsb.cxx
+++ b/sd/source/ui/view/drviewsb.cxx
@@ -65,644 +65,6 @@
namespace sd {
-/**
- * SfxRequests for temporary functions
- */
-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 += OUString::number( (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() );
-
- // test for already existing names
- 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 already exists
- WarningBox aWarningBox (
- GetParentWindow(),
- WinBits( WB_OK ),
- String(SdResId( STR_WARN_NAME_DUPLICATE)));
- aWarningBox.Execute();
- }
- else
- bLoop = sal_False;
- }
- if( bLoop ) // was canceled
- {
- 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)
- {
-#ifndef DISABLE_SCRIPTING
- StarBASIC::FatalError (SbERR_WRONG_ARGS);
-#endif
- 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 = std::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();
- // is it allowed to delete the layer?
- 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() );
-
- // test for already existing names
- 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 already exists
- 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
- {
-#ifndef DISABLE_SCRIPTING
- StarBASIC::FatalError (SbERR_WRONG_ARGS);
-#endif
- 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( Date::SYSTEM ), 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( Time::SYSTEM ), 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 ) ) )
- {
- // select field, then it will be deleted when inserting
- 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
- {
- css::uno::Reference < css::ui::dialogs::XExecutableDialog > xDialog = css::ui::dialogs::XSLTFilterDialog::create( ::comphelper::getProcessComponentContext() );
- xDialog->execute();
- }
- catch( ::com::sun::star::uno::RuntimeException& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- default:
- {
- /* switch construct was split because of CLOOKS. All cases which
- call a Fu??? function were moved to the method FuTemp03
- (drviewsb). */
- FuTemp03(rReq);
- }
- break;
- };
-};
-
bool DrawViewShell::RenameSlide( sal_uInt16 nPageId, const String & rName )
{
sal_Bool bOutDummy;
diff --git a/sd/source/ui/view/drviewsc.cxx b/sd/source/ui/view/drviewsc.cxx
index bcdd2b9847ae..d39a2f220085 100644
--- a/sd/source/ui/view/drviewsc.cxx
+++ b/sd/source/ui/view/drviewsc.cxx
@@ -44,8 +44,6 @@
#include "helpids.h"
#include "Window.hxx"
#include "imapinfo.hxx"
-#include "futempl.hxx"
-#include "fusel.hxx"
#include "sdresid.hxx"
#include "drawdoc.hxx"
#include "DrawDocShell.hxx"
@@ -54,582 +52,6 @@
#include "brkdlg.hrc"
namespace sd {
-#define MIN_ACTIONS_FOR_DIALOG 5000 ///< if there are more meta objects, we show a dialog during the break up
-
-
-/**
- * SfxRequests for temporary functions
- */
-void DrawViewShell::FuTemp03(SfxRequest& rReq)
-{
- sal_uInt16 nSId = rReq.GetSlot();
- switch( nSId )
- {
- case SID_GROUP: // BASIC
- {
- if ( mpDrawView->IsPresObjSelected( sal_True, sal_True, sal_True ) )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- mpDrawView->GroupMarked();
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_UNGROUP: // BASIC
- {
- mpDrawView->UnGroupMarked();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_NAME_GROUP:
- {
- // only allow for single object selection since the name of an object needs
- // to be unique
- if(1L == mpDrawView->GetMarkedObjectCount())
- {
- // #i68101#
- SdrObject* pSelected = mpDrawView->GetMarkedObjectByIndex(0L);
- OSL_ENSURE(pSelected, "DrawViewShell::FuTemp03: nMarkCount, but no object (!)");
- String aName(pSelected->GetName());
-
- SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractSvxObjectNameDialog* pDlg = pFact->CreateSvxObjectNameDialog(NULL, aName);
- OSL_ENSURE(pDlg, "Dialogdiet fail!");
-
- pDlg->SetCheckNameHdl(LINK(this, DrawViewShell, NameObjectHdl));
-
- if(RET_OK == pDlg->Execute())
- {
- pDlg->GetName(aName);
- pSelected->SetName(aName);
- }
-
- delete pDlg;
- }
-
- SfxBindings& rBindings = GetViewFrame()->GetBindings();
- rBindings.Invalidate( SID_NAVIGATOR_STATE, sal_True, sal_False );
- rBindings.Invalidate( SID_CONTEXT );
-
- Cancel();
- rReq.Ignore();
- break;
- }
-
- // #i68101#
- case SID_OBJECT_TITLE_DESCRIPTION:
- {
- if(1L == mpDrawView->GetMarkedObjectCount())
- {
- SdrObject* pSelected = mpDrawView->GetMarkedObjectByIndex(0L);
- OSL_ENSURE(pSelected, "DrawViewShell::FuTemp03: nMarkCount, but no object (!)");
- String aTitle(pSelected->GetTitle());
- String aDescription(pSelected->GetDescription());
-
- SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- OSL_ENSURE(pFact, "Dialogdiet fail!");
- AbstractSvxObjectTitleDescDialog* pDlg = pFact->CreateSvxObjectTitleDescDialog(NULL, aTitle, aDescription);
- OSL_ENSURE(pDlg, "Dialogdiet fail!");
-
- if(RET_OK == pDlg->Execute())
- {
- pDlg->GetTitle(aTitle);
- pDlg->GetDescription(aDescription);
- pSelected->SetTitle(aTitle);
- pSelected->SetDescription(aDescription);
- }
-
- delete pDlg;
- }
-
- SfxBindings& rBindings = GetViewFrame()->GetBindings();
- rBindings.Invalidate( SID_NAVIGATOR_STATE, sal_True, sal_False );
- rBindings.Invalidate( SID_CONTEXT );
-
- Cancel();
- rReq.Ignore();
- break;
- }
-
- case SID_ENTER_GROUP: // BASIC
- {
- mpDrawView->EnterMarkedGroup();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_LEAVE_GROUP: // BASIC
- {
- mpDrawView->LeaveOneGroup();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_LEAVE_ALL_GROUPS: // BASIC
- {
- mpDrawView->LeaveAllGroup();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_COMBINE: // BASIC
- {
- // End text edit to avoid conflicts
- if(mpDrawView->IsTextEdit())
- mpDrawView->SdrEndTextEdit();
-
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->CombineMarkedObjects(sal_False);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_DISTRIBUTE_DLG:
- {
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- mpDrawView->DistributeMarkedObjects();
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_POLY_MERGE:
- {
- // End text edit to avoid conflicts
- if(mpDrawView->IsTextEdit())
- mpDrawView->SdrEndTextEdit();
-
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->MergeMarkedObjects(SDR_MERGE_MERGE);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_POLY_SUBSTRACT:
- {
- // End text edit to avoid conflicts
- if(mpDrawView->IsTextEdit())
- mpDrawView->SdrEndTextEdit();
-
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->MergeMarkedObjects(SDR_MERGE_SUBSTRACT);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_POLY_INTERSECT:
- {
- // End text edit to avoid conflicts
- if(mpDrawView->IsTextEdit())
- mpDrawView->SdrEndTextEdit();
-
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->MergeMarkedObjects(SDR_MERGE_INTERSECT);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_DISMANTLE: // BASIC
- {
- if ( mpDrawView->IsDismantlePossible(sal_False) )
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->DismantleMarkedObjects(sal_False);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_CONNECT: // BASIC
- {
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->CombineMarkedObjects(sal_True);
- }
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_BREAK: // BASIC
- {
- if ( mpDrawView->IsTextEdit() )
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- if ( mpDrawView->IsBreak3DObjPossible() )
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->Break3DObj();
- }
- else if ( mpDrawView->IsDismantlePossible(sal_True) )
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->DismantleMarkedObjects(sal_True);
- }
- else if ( mpDrawView->IsImportMtfPossible() )
- {
- WaitObject aWait( (Window*)GetActiveWindow() );
- const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
- sal_uLong nAnz=rMarkList.GetMarkCount();
-
- // determine the sum of meta objects of all selected meta files
- sal_uLong nCount = 0;
- for(sal_uLong nm=0; nm<nAnz; nm++)
- {
- SdrMark* pM=rMarkList.GetMark(nm);
- SdrObject* pObj=pM->GetMarkedSdrObj();
- SdrGrafObj* pGraf=PTR_CAST(SdrGrafObj,pObj);
- SdrOle2Obj* pOle2=PTR_CAST(SdrOle2Obj,pObj);
-
- if(pGraf)
- {
- if(pGraf->HasGDIMetaFile())
- {
- nCount += pGraf->GetGraphic().GetGDIMetaFile().GetActionSize();
- }
- else if(pGraf->isEmbeddedSvg())
- {
- nCount += pGraf->getMetafileFromEmbeddedSvg().GetActionSize();
- }
- }
-
- if(pOle2 && pOle2->GetGraphic())
- {
- nCount += pOle2->GetGraphic()->GetGDIMetaFile().GetActionSize();
- }
- }
-
- // decide with the sum of all meta objects if we should show a dialog
- if(nCount < MIN_ACTIONS_FOR_DIALOG)
- {
- // nope, no dialog
- mpDrawView->DoImportMarkedMtf();
- }
- else
- {
- SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
- if( pFact )
- {
- VclAbstractDialog* pDlg = pFact->CreateBreakDlg(GetActiveWindow(), mpDrawView, GetDocSh(), nCount, nAnz );
- if( pDlg )
- {
- pDlg->Execute();
- delete pDlg;
- }
- }
- }
- }
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_CONVERT_TO_3D:
- {
- if ( mpDrawView->IsPresObjSelected() )
- {
- ::sd::Window* pWindow = GetActiveWindow();
- InfoBox(pWindow, String(SdResId(STR_ACTION_NOTPOSSIBLE) ) ).Execute();
- }
- else
- {
- if (mpDrawView->IsConvertTo3DObjPossible())
- {
- if (mpDrawView->IsTextEdit())
- {
- mpDrawView->SdrEndTextEdit();
- }
-
- WaitObject aWait( (Window*)GetActiveWindow() );
- mpDrawView->ConvertMarkedObjTo3D(true);
- }
- }
-
- Cancel();
- rReq.Done();
- }
- break;
-
- case SID_FRAME_TO_TOP: // BASIC
- {
- mpDrawView->PutMarkedToTop();
- Cancel();
- Invalidate( SID_POSITION );
- rReq.Done ();
- }
- break;
-
- case SID_MOREFRONT: // BASIC
- {
- mpDrawView->MovMarkedToTop();
- Cancel();
- Invalidate( SID_POSITION );
- rReq.Done ();
- }
- break;
-
- case SID_MOREBACK: // BASIC
- {
- mpDrawView->MovMarkedToBtm();
- Cancel();
- Invalidate( SID_POSITION );
- rReq.Done ();
- }
- break;
-
- case SID_FRAME_TO_BOTTOM: // BASIC
- {
- mpDrawView->PutMarkedToBtm();
- Cancel();
- Invalidate( SID_POSITION );
- rReq.Done ();
- }
- break;
-
- case SID_HORIZONTAL: // BASIC
- {
- mpDrawView->MirrorAllMarkedHorizontal();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_VERTICAL: // BASIC
- {
- mpDrawView->MirrorAllMarkedVertical();
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_LEFT: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_LEFT, SDRVALIGN_NONE);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_CENTER: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_CENTER, SDRVALIGN_NONE);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_RIGHT: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_RIGHT, SDRVALIGN_NONE);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_UP: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_TOP);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_MIDDLE: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_CENTER);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_OBJECT_ALIGN_DOWN: // BASIC
- {
- mpDrawView->AlignMarkedObjects(SDRHALIGN_NONE, SDRVALIGN_BOTTOM);
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_SELECTALL: // BASIC
- {
- if( (dynamic_cast<FuSelection*>( GetOldFunction().get() ) != 0) &&
- !GetView()->IsFrameDragSingles() && GetView()->HasMarkablePoints())
- {
- if ( !mpDrawView->IsAction() )
- mpDrawView->MarkAllPoints();
- }
- else
- mpDrawView->SelectAll();
-
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_STYLE_NEW: // BASIC ???
- case SID_STYLE_APPLY:
- case SID_STYLE_EDIT:
- case SID_STYLE_DELETE:
- case SID_STYLE_HIDE:
- case SID_STYLE_SHOW:
- case SID_STYLE_FAMILY:
- case SID_STYLE_WATERCAN:
- case SID_STYLE_UPDATE_BY_EXAMPLE:
- case SID_STYLE_NEW_BY_EXAMPLE:
- {
- if( rReq.GetSlot() == SID_STYLE_EDIT && !rReq.GetArgs() )
- {
- SfxStyleSheet* pStyleSheet = mpDrawView->GetStyleSheet();
- if( pStyleSheet && pStyleSheet->GetFamily() == SD_STYLE_FAMILY_MASTERPAGE)
- pStyleSheet = ((SdStyleSheet*)pStyleSheet)->GetPseudoStyleSheet();
-
- if( (pStyleSheet == NULL) && GetView()->IsTextEdit() )
- {
- GetView()->SdrEndTextEdit();
-
- pStyleSheet = mpDrawView->GetStyleSheet();
- if(pStyleSheet && pStyleSheet->GetFamily() == SD_STYLE_FAMILY_MASTERPAGE)
- pStyleSheet = ((SdStyleSheet*)pStyleSheet)->GetPseudoStyleSheet();
- }
-
- if( pStyleSheet == NULL )
- {
- rReq.Ignore();
- break;
- }
-
- SfxAllItemSet aSet(GetDoc()->GetPool());
-
- SfxStringItem aStyleNameItem( SID_STYLE_EDIT, pStyleSheet->GetName() );
- aSet.Put(aStyleNameItem);
-
- SfxUInt16Item aStyleFamilyItem( SID_STYLE_FAMILY, (sal_uInt16)pStyleSheet->GetFamily() );
- aSet.Put(aStyleFamilyItem);
-
- rReq.SetArgs(aSet);
- }
-
- if( rReq.GetArgs() )
- {
- SetCurrentFunction( FuTemplate::Create( this, GetActiveWindow(), mpDrawView, GetDoc(), rReq ) );
- if( rReq.GetSlot() == SID_STYLE_APPLY )
- GetViewFrame()->GetBindings().Invalidate( SID_STYLE_APPLY );
- Cancel();
- }
- else if( rReq.GetSlot() == SID_STYLE_APPLY )
- GetViewFrame()->GetDispatcher()->Execute( SID_STYLE_DESIGNER, SFX_CALLMODE_ASYNCHRON );
- rReq.Ignore ();
- }
- break;
-
- case SID_IMAP:
- {
- sal_uInt16 nId = SvxIMapDlgChildWindow::GetChildWindowId();
-
- GetViewFrame()->ToggleChildWindow( nId );
- GetViewFrame()->GetBindings().Invalidate( SID_IMAP );
-
- if ( GetViewFrame()->HasChildWindow( nId )
- && ( ( ViewShell::Implementation::GetImageMapDialog() ) != NULL ) )
- {
- const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
-
- if ( rMarkList.GetMarkCount() == 1 )
- UpdateIMapDlg( rMarkList.GetMark( 0 )->GetMarkedSdrObj() );
- }
-
- Cancel();
- rReq.Ignore ();
- }
- break;
-
- case SID_GRID_FRONT:
- {
- mpDrawView->SetGridFront( !mpDrawView->IsGridFront() );
- Cancel();
- rReq.Done ();
- }
- break;
-
- case SID_HELPLINES_FRONT:
- {
- mpDrawView->SetHlplFront( !mpDrawView->IsHlplFront() );
- Cancel();
- rReq.Done ();
- }
- break;
-
- default:
- FuTemp04(rReq);
- break;
- };
-};
-
/**
* Returns the global/main ID, i.e. the ID, which is used to execute the toolbox
*/