summaryrefslogtreecommitdiff
path: root/sd/source/ui/func
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/func')
-rw-r--r--sd/source/ui/func/bulmaper.cxx4
-rw-r--r--sd/source/ui/func/fuarea.cxx5
-rw-r--r--sd/source/ui/func/fubullet.cxx6
-rw-r--r--sd/source/ui/func/fucon3d.cxx2
-rw-r--r--sd/source/ui/func/fuconarc.cxx4
-rw-r--r--sd/source/ui/func/fuconbez.cxx4
-rw-r--r--sd/source/ui/func/fuconcs.cxx6
-rw-r--r--sd/source/ui/func/fuconrec.cxx4
-rw-r--r--sd/source/ui/func/fuconstr.cxx2
-rw-r--r--sd/source/ui/func/fuconuno.cxx4
-rw-r--r--sd/source/ui/func/fudraw.cxx2
-rw-r--r--sd/source/ui/func/fuediglu.cxx2
-rw-r--r--sd/source/ui/func/fuformatpaintbrush.cxx248
-rw-r--r--sd/source/ui/func/fuhhconv.cxx2
-rw-r--r--sd/source/ui/func/fuinsert.cxx8
-rw-r--r--sd/source/ui/func/fuinsfil.cxx4
-rw-r--r--sd/source/ui/func/fuline.cxx6
-rw-r--r--sd/source/ui/func/fulinend.cxx2
-rw-r--r--sd/source/ui/func/fuoaprms.cxx2
-rw-r--r--sd/source/ui/func/fuolbull.cxx4
-rw-r--r--sd/source/ui/func/fupage.cxx8
-rw-r--r--sd/source/ui/func/fupoor.cxx2
-rw-r--r--sd/source/ui/func/fuprlout.cxx4
-rw-r--r--sd/source/ui/func/fuprobjs.cxx4
-rw-r--r--sd/source/ui/func/fuscale.cxx7
-rw-r--r--sd/source/ui/func/fusel.cxx8
-rw-r--r--sd/source/ui/func/fusldlg.cxx2
-rw-r--r--sd/source/ui/func/fusnapln.cxx2
-rw-r--r--sd/source/ui/func/futempl.cxx2
-rw-r--r--sd/source/ui/func/futext.cxx6
-rw-r--r--sd/source/ui/func/futransf.cxx4
-rw-r--r--sd/source/ui/func/futxtatt.cxx2
32 files changed, 256 insertions, 116 deletions
diff --git a/sd/source/ui/func/bulmaper.cxx b/sd/source/ui/func/bulmaper.cxx
index 3abd76237680..95687ab8a833 100644
--- a/sd/source/ui/func/bulmaper.cxx
+++ b/sd/source/ui/func/bulmaper.cxx
@@ -54,8 +54,8 @@
#include <svx/bulitem.hxx>
#include <svx/brshitem.hxx>
#include <vcl/graph.hxx>
-#include <svtools/itemset.hxx>
-#include <svtools/itempool.hxx>
+#include <svl/itemset.hxx>
+#include <svl/itempool.hxx>
#include <svx/numitem.hxx>
#include <svx/eeitem.hxx>
diff --git a/sd/source/ui/func/fuarea.cxx b/sd/source/ui/func/fuarea.cxx
index 5bb4942b8ea5..e070365eddda 100644
--- a/sd/source/ui/func/fuarea.cxx
+++ b/sd/source/ui/func/fuarea.cxx
@@ -37,8 +37,8 @@
#include <svx/svxids.hrc>
#include <svx/tabarea.hxx>
#include <vcl/msgbox.hxx>
-#include <svtools/intitem.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/intitem.hxx>
+#include <svl/stritem.hxx>
#include <sfx2/request.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/bindings.hxx>
@@ -85,7 +85,6 @@ void FuArea::DoExecute( SfxRequest& rReq )
AbstractSvxAreaTabDialog * pDlg = pFact ? pFact->CreateSvxAreaTabDialog( NULL,
&aNewAttr,
mpDoc,
- RID_SVXDLG_AREA,
mpView) : 0;
if( pDlg && (pDlg->Execute() == RET_OK) )
{
diff --git a/sd/source/ui/func/fubullet.cxx b/sd/source/ui/func/fubullet.cxx
index 64fb3783d78d..fac03893a880 100644
--- a/sd/source/ui/func/fubullet.cxx
+++ b/sd/source/ui/func/fubullet.cxx
@@ -38,7 +38,7 @@
#include <sfx2/bindings.hxx>
#endif
#include <svx/eeitem.hxx>
-#include <svtools/poolitem.hxx>
+#include <svl/poolitem.hxx>
#include <svx/fontitem.hxx>
#include "OutlineViewShell.hxx"
#include "DrawViewShell.hxx"
@@ -49,8 +49,8 @@
#include <svx/svdoutl.hxx>
#include <vcl/msgbox.hxx>
#include <sfx2/request.hxx>
-#include <svtools/ctloptions.hxx>
-#include <svtools/itempool.hxx>
+#include <svl/ctloptions.hxx>
+#include <svl/itempool.hxx>
#ifdef IRIX
#include <basic/sbx.hxx>
diff --git a/sd/source/ui/func/fucon3d.cxx b/sd/source/ui/func/fucon3d.cxx
index e9654a21bcee..eb738ef0d2fa 100644
--- a/sd/source/ui/func/fucon3d.cxx
+++ b/sd/source/ui/func/fucon3d.cxx
@@ -35,7 +35,7 @@
#include <vcl/waitobj.hxx>
#include <svx/svxids.hrc>
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <sfx2/app.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/viewfrm.hxx>
diff --git a/sd/source/ui/func/fuconarc.cxx b/sd/source/ui/func/fuconarc.cxx
index 238c047ef70c..de658c401428 100644
--- a/sd/source/ui/func/fuconarc.cxx
+++ b/sd/source/ui/func/fuconarc.cxx
@@ -35,8 +35,8 @@
#include <svx/svdpagv.hxx>
#include <svx/svdocirc.hxx>
#include <sfx2/request.hxx>
-#include <svtools/intitem.hxx>
-#include <svtools/aeitem.hxx>
+#include <svl/intitem.hxx>
+#include <svl/aeitem.hxx>
#include <sfx2/dispatch.hxx>
#include <svx/svdobj.hxx>
#include <sfx2/viewfrm.hxx>
diff --git a/sd/source/ui/func/fuconbez.cxx b/sd/source/ui/func/fuconbez.cxx
index ff95b7b3115b..1e16ac4c332c 100644
--- a/sd/source/ui/func/fuconbez.cxx
+++ b/sd/source/ui/func/fuconbez.cxx
@@ -34,9 +34,9 @@
#include <com/sun/star/presentation/EffectNodeType.hpp>
#include "fuconbez.hxx"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <svx/svdopath.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <sfx2/dispatch.hxx>
#include <svx/svdobj.hxx>
#include <sfx2/bindings.hxx>
diff --git a/sd/source/ui/func/fuconcs.cxx b/sd/source/ui/func/fuconcs.cxx
index a360effd5469..a9f1445097e4 100644
--- a/sd/source/ui/func/fuconcs.cxx
+++ b/sd/source/ui/func/fuconcs.cxx
@@ -40,7 +40,7 @@
#include <svx/dialmgr.hxx>
#include "app.hrc"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <svx/xlnstwit.hxx>
#include <svx/xlnedwit.hxx>
#include <svx/xlnedit.hxx>
@@ -53,7 +53,7 @@
#include <sfx2/dispatch.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdocirc.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <sfx2/request.hxx>
#include <svx/adjitem.hxx>
#include <svx/xtable.hxx>
@@ -73,7 +73,7 @@
// #109583#
#include <svx/writingmodeitem.hxx>
#include <svx/gallery.hxx>
-#include <svtools/itempool.hxx>
+#include <svl/itempool.hxx>
#include <com/sun/star/uno/Any.hxx>
#include "sdresid.hxx"
diff --git a/sd/source/ui/func/fuconrec.cxx b/sd/source/ui/func/fuconrec.cxx
index a36b6f508534..d9513f4b5c22 100644
--- a/sd/source/ui/func/fuconrec.cxx
+++ b/sd/source/ui/func/fuconrec.cxx
@@ -40,7 +40,7 @@
#include <svx/dialmgr.hxx>
#include "app.hrc"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <svx/xlnstwit.hxx>
#include <svx/xlnedwit.hxx>
#include <svx/xlnedit.hxx>
@@ -53,7 +53,7 @@
#include <sfx2/dispatch.hxx>
#include <svx/svdopath.hxx>
#include <svx/svdocirc.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <sfx2/request.hxx>
#include <svx/adjitem.hxx>
#include <svx/xtable.hxx>
diff --git a/sd/source/ui/func/fuconstr.cxx b/sd/source/ui/func/fuconstr.cxx
index 3f9d8151ef4e..28531c7bef47 100644
--- a/sd/source/ui/func/fuconstr.cxx
+++ b/sd/source/ui/func/fuconstr.cxx
@@ -34,7 +34,7 @@
#include "fuconstr.hxx"
#include <svx/svxids.hrc>
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <svx/svdpagv.hxx>
#include <svx/xdef.hxx>
#include <svx/xfillit0.hxx>
diff --git a/sd/source/ui/func/fuconuno.cxx b/sd/source/ui/func/fuconuno.cxx
index ef98942a581f..512ccdb53623 100644
--- a/sd/source/ui/func/fuconuno.cxx
+++ b/sd/source/ui/func/fuconuno.cxx
@@ -32,11 +32,11 @@
#include "precompiled_sd.hxx"
#include "fuconuno.hxx"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/request.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <svx/fmglob.hxx>
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index 6c6c0c3aaa81..7da8b98ea568 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -76,7 +76,7 @@
#include "sdresid.hxx"
#include "drawview.hxx"
#include "fusel.hxx"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <vcl/msgbox.hxx>
#include "slideshow.hxx"
#include <svx/sdrhittesthelper.hxx>
diff --git a/sd/source/ui/func/fuediglu.cxx b/sd/source/ui/func/fuediglu.cxx
index d23493de4249..24ed231ea25b 100644
--- a/sd/source/ui/func/fuediglu.cxx
+++ b/sd/source/ui/func/fuediglu.cxx
@@ -32,7 +32,7 @@
#include "precompiled_sd.hxx"
#include "fuediglu.hxx"
-#include <svtools/eitem.hxx>
+#include <svl/eitem.hxx>
#include <svx/dialogs.hrc>
#include <svx/svdglue.hxx>
#include <sfx2/request.hxx>
diff --git a/sd/source/ui/func/fuformatpaintbrush.cxx b/sd/source/ui/func/fuformatpaintbrush.cxx
index 1eaee6385175..98dbcba52ab2 100644
--- a/sd/source/ui/func/fuformatpaintbrush.cxx
+++ b/sd/source/ui/func/fuformatpaintbrush.cxx
@@ -31,19 +31,30 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sd.hxx"
+#include <sfx2/request.hxx>
+#include <sfx2/bindings.hxx>
+#include <sfx2/dispatch.hxx>
+
+#include <svl/itemiter.hxx>
+
+#include <svx/globl3d.hxx>
+#include <svx/svxids.hrc>
+#include <svx/svdotable.hxx>
+#include <svx/outliner.hxx>
+#include <svx/eeitem.hxx>
+#include <svx/editeng.hxx>
+
#define _SD_DLL // fuer SD_MOD()
#include "sdmod.hxx"
#include "fuformatpaintbrush.hxx"
-#include "formatclipboard.hxx"
-#include "View.hxx"
-#include "ViewShell.hxx"
+#include "drawview.hxx"
#include "DrawDocShell.hxx"
-// header for class SfxBindings
-#include <sfx2/bindings.hxx>
-/*
-#include <svx/svxids.hrc>
-*/
+#include "DrawViewShell.hxx"
+#include "FrameView.hxx"
+#include "drawdoc.hxx"
+#include "Outliner.hxx"
+#include "ViewShellBase.hxx"
#ifndef SD_WINDOW_SHELL_HXX
#include "Window.hxx"
@@ -51,66 +62,137 @@
namespace sd {
-TYPEINIT1( FuFormatPaintBrush, FuPoor );
+TYPEINIT1( FuFormatPaintBrush, FuText );
-FuFormatPaintBrush::FuFormatPaintBrush(
- ViewShell* pViewSh
- , ::sd::Window* pWin
- , ::sd::View* pView
- , SdDrawDocument* pDoc
- , SfxRequest& rReq )
- : FuPoor(pViewSh, pWin, pView, pDoc, rReq)
+FuFormatPaintBrush::FuFormatPaintBrush( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq )
+: FuText(pViewSh, pWin, pView, pDoc, rReq)
+, mbPermanent( false )
+, mbOldIsQuickTextEditMode( true )
{
}
FunctionReference FuFormatPaintBrush::Create( ViewShell* pViewSh, ::sd::Window* pWin, ::sd::View* pView, SdDrawDocument* pDoc, SfxRequest& rReq )
{
FunctionReference xFunc( new FuFormatPaintBrush( pViewSh, pWin, pView, pDoc, rReq ) );
+ xFunc->DoExecute( rReq );
return xFunc;
}
+void FuFormatPaintBrush::DoExecute( SfxRequest& rReq )
+{
+ const SfxItemSet *pArgs = rReq.GetArgs();
+ if( pArgs && pArgs->Count() >= 1 )
+ {
+ mbPermanent = static_cast<bool>(((SfxBoolItem &)pArgs->Get(SID_FORMATPAINTBRUSH)).GetValue());
+ }
+
+ if( mpView )
+ {
+ mpView->TakeFormatPaintBrush( mpItemSet );
+ }
+}
+
+void FuFormatPaintBrush::implcancel()
+{
+ if( mpViewShell && mpViewShell->GetViewFrame() )
+ {
+ SfxViewFrame* pViewFrame = mpViewShell->GetViewFrame();
+ pViewFrame->GetBindings().Invalidate(SID_FORMATPAINTBRUSH);
+ pViewFrame->GetDispatcher()->Execute(SID_OBJECT_SELECT, SFX_CALLMODE_ASYNCHRON);
+ }
+}
+
+static void unmarkimpl( SdrView* pView )
+{
+ pView->SdrEndTextEdit();
+ pView->UnMarkAll();
+}
+
BOOL FuFormatPaintBrush::MouseButtonDown(const MouseEvent& rMEvt)
{
if(mpView&&mpWindow)
{
- USHORT nHitLog = USHORT ( mpWindow->PixelToLogic(Size(HITPIX,0)).Width() );
- BOOL bToggle = FALSE;
- mpView->UnMarkAll();
- mpView->MarkObj(mpWindow->PixelToLogic( rMEvt.GetPosPixel() ), nHitLog, bToggle, FALSE);
+ SdrViewEvent aVEvt;
+ SdrHitKind eHit = mpView->PickAnything(rMEvt, SDRMOUSEBUTTONDOWN, aVEvt);
+
+ if( (eHit == SDRHIT_TEXTEDIT) || (eHit == SDRHIT_TEXTEDITOBJ && ( mpViewShell->GetFrameView()->IsQuickEdit() || dynamic_cast< sdr::table::SdrTableObj* >( aVEvt.pObj ) != NULL ) ))
+ {
+ SdrObject* pPickObj=0;
+ SdrPageView* pPV=0;
+ USHORT nHitLog = USHORT ( mpWindow->PixelToLogic(Size(HITPIX,0)).Width() );
+ mpView->PickObj( mpWindow->PixelToLogic( rMEvt.GetPosPixel() ),nHitLog, pPickObj, pPV, SDRSEARCH_PICKMARKABLE);
+
+ if( (pPickObj != 0) && !pPickObj->IsEmptyPresObj() )
+ {
+ // if we text hit another shape than the one currently selected, unselect the old one now
+ const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
+ if( rMarkList.GetMarkCount() >= 1 )
+ {
+ if( rMarkList.GetMarkCount() == 1 )
+ {
+ if( rMarkList.GetMark(0)->GetMarkedSdrObj() != pPickObj )
+ {
+
+ // if current selected shape is not that of the hit text edit, deselect it
+ unmarkimpl( mpView );
+ }
+ }
+ else
+ {
+ // more than one shape selected, deselect all of them
+ unmarkimpl( mpView );
+ }
+ }
+ MouseEvent aMEvt( rMEvt.GetPosPixel(), rMEvt.GetClicks(), rMEvt.GetMode(), rMEvt.GetButtons(), 0 );
+ return FuText::MouseButtonDown(aMEvt);
+ }
+
+ if( aVEvt.pObj == 0 )
+ aVEvt.pObj = pPickObj;
+ }
+
+ unmarkimpl( mpView );
+
+ if( aVEvt.pObj )
+ {
+ USHORT nHitLog = USHORT ( mpWindow->PixelToLogic(Size(HITPIX,0)).Width() );
+ BOOL bToggle = FALSE;
+ mpView->MarkObj(mpWindow->PixelToLogic( rMEvt.GetPosPixel() ), nHitLog, bToggle, FALSE);
+ return TRUE;
+ }
}
return FALSE;
}
BOOL FuFormatPaintBrush::MouseMove(const MouseEvent& rMEvt)
{
- SdFormatClipboard* pFormatClipboard = 0;
- if(mpViewShell)
- pFormatClipboard = mpViewShell->GetDocSh()->mpFormatClipboard;
- if(mpView&&mpWindow&&pFormatClipboard&&pFormatClipboard->HasContent())
+ BOOL bReturn = FALSE;
+ if( mpWindow && mpView )
{
- USHORT nHitLog = USHORT ( mpWindow->PixelToLogic(Size(HITPIX,0)).Width() );
- SdrObject* pObj=0;
- SdrPageView* pPV=0;
- BOOL bOverMarkableObject = mpView->PickObj(
- mpWindow->PixelToLogic( rMEvt.GetPosPixel() )
- ,nHitLog, pObj, pPV, SDRSEARCH_PICKMARKABLE);
-
- if(bOverMarkableObject && pFormatClipboard->HasContentForThisType(pObj->GetObjInventor(),pObj->GetObjIdentifier()) )
+ if ( mpView->IsTextEdit() )
+ {
+ bReturn = FuText::MouseMove( rMEvt );
mpWindow->SetPointer(Pointer(POINTER_FILL));
+ }
else
- mpWindow->SetPointer(Pointer(POINTER_ARROW));
+ {
+ USHORT nHitLog = USHORT ( mpWindow->PixelToLogic(Size(HITPIX,0)).Width() );
+ SdrObject* pObj=0;
+ SdrPageView* pPV=0;
+ BOOL bOverMarkableObject = mpView->PickObj( mpWindow->PixelToLogic( rMEvt.GetPosPixel() ),nHitLog, pObj, pPV, SDRSEARCH_PICKMARKABLE);
+
+ if(bOverMarkableObject && HasContentForThisType(pObj->GetObjInventor(),pObj->GetObjIdentifier()) )
+ mpWindow->SetPointer(Pointer(POINTER_FILL));
+ else
+ mpWindow->SetPointer(Pointer(POINTER_ARROW));
+ }
}
- else
- mpWindow->SetPointer(Pointer(POINTER_ARROW));
- return FALSE;
+ return bReturn;
}
BOOL FuFormatPaintBrush::MouseButtonUp(const MouseEvent& rMEvt)
{
- SdFormatClipboard* pFormatClipboard = 0;
- if(mpViewShell)
- pFormatClipboard = mpViewShell->GetDocSh()->mpFormatClipboard;
- if( pFormatClipboard && mpView && mpView->AreObjectsMarked() )
+ if( mpItemSet.get() && mpView && mpView->AreObjectsMarked() )
{
bool bNoCharacterFormats = false;
bool bNoParagraphFormats = false;
@@ -120,37 +202,97 @@ BOOL FuFormatPaintBrush::MouseButtonUp(const MouseEvent& rMEvt)
else if( rMEvt.GetModifier() & KEY_MOD1 )
bNoParagraphFormats = true;
}
- pFormatClipboard->Paste( *mpView, bNoCharacterFormats, bNoParagraphFormats );
+
+ OutlinerView* pOLV = mpView->GetTextEditOutlinerView();
+ if( pOLV )
+ pOLV->MouseButtonUp(rMEvt);
+
+ Paste( bNoCharacterFormats, bNoParagraphFormats );
if(mpViewShell)
mpViewShell->GetViewFrame()->GetBindings().Invalidate(SID_FORMATPAINTBRUSH);
+
+ if( mbPermanent )
+ return TRUE;
}
- if(mpViewShell && pFormatClipboard && !pFormatClipboard->HasContent() )
- mpViewShell->Cancel();
+
+ implcancel();
return TRUE;
}
BOOL FuFormatPaintBrush::KeyInput(const KeyEvent& rKEvt)
{
- if( rKEvt.GetKeyCode().GetCode() == KEY_ESCAPE && mpViewShell )
+ if( (rKEvt.GetKeyCode().GetCode() == KEY_ESCAPE) && mpViewShell )
{
- SdFormatClipboard* pFormatClipboard = mpViewShell->GetDocSh()->mpFormatClipboard;
- if(pFormatClipboard)
- {
- pFormatClipboard->Erase();
- mpViewShell->GetViewFrame()->GetBindings().Invalidate(SID_FORMATPAINTBRUSH);
- mpViewShell->Cancel();
-
- return TRUE;
- }
+ implcancel();
+ return TRUE;
}
return FuPoor::KeyInput(rKEvt);
}
void FuFormatPaintBrush::Activate()
{
+ mbOldIsQuickTextEditMode = mpViewShell->GetFrameView()->IsQuickEdit();
+ if( !mbOldIsQuickTextEditMode )
+ {
+ mpViewShell->GetFrameView()->SetQuickEdit(TRUE);
+ mpView->SetQuickTextEditMode(TRUE);
+ }
}
void FuFormatPaintBrush::Deactivate()
{
+ if( !mbOldIsQuickTextEditMode )
+ {
+ mpViewShell->GetFrameView()->SetQuickEdit(FALSE);
+ mpView->SetQuickTextEditMode(FALSE);
+ }
+}
+
+bool FuFormatPaintBrush::HasContentForThisType( UINT32 nObjectInventor, UINT16 nObjectIdentifier ) const
+{
+ if( mpItemSet.get() == 0 )
+ return false;
+ if( !mpView || (!mpView->SupportsFormatPaintbrush( nObjectInventor, nObjectIdentifier) ) )
+ return false;
+ return true;
+}
+
+void FuFormatPaintBrush::Paste( bool bNoCharacterFormats, bool bNoParagraphFormats )
+{
+ const SdrMarkList& rMarkList = mpView->GetMarkedObjectList();
+ if(mpItemSet.get() && (rMarkList.GetMarkCount() == 1) )
+ {
+ SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+
+ if( mpDoc->IsUndoEnabled() )
+ {
+ String sLabel( mpViewShell->GetViewShellBase().RetrieveLabelFromCommand( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:FormatPaintbrush" ) ) ) );
+ mpDoc->BegUndo( sLabel );
+ mpDoc->AddUndo(mpDoc->GetSdrUndoFactory().CreateUndoAttrObject(*pObj,FALSE,TRUE));
+ }
+
+ mpView->ApplyFormatPaintBrush( *mpItemSet.get(), bNoCharacterFormats, bNoParagraphFormats );
+
+ if( mpDoc->IsUndoEnabled() )
+ {
+ mpDoc->EndUndo();
+ }
+ }
}
+
+/* static */ void FuFormatPaintBrush::GetMenuState( DrawViewShell& rDrawViewShell, SfxItemSet &rSet )
+{
+ const SdrMarkList& rMarkList = rDrawViewShell.GetDrawView()->GetMarkedObjectList();
+ const ULONG nMarkCount = rMarkList.GetMarkCount();
+
+ if( nMarkCount == 1 )
+ {
+ SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
+ if( pObj && rDrawViewShell.GetDrawView()->SupportsFormatPaintbrush(pObj->GetObjInventor(),pObj->GetObjIdentifier()) )
+ return;
+ }
+ rSet.DisableItem( SID_FORMATPAINTBRUSH );
+}
+
+
} // end of namespace sd
diff --git a/sd/source/ui/func/fuhhconv.cxx b/sd/source/ui/func/fuhhconv.cxx
index 0babfc9c2d38..42576f8d9d53 100644
--- a/sd/source/ui/func/fuhhconv.cxx
+++ b/sd/source/ui/func/fuhhconv.cxx
@@ -38,7 +38,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <cppuhelper/bootstrap.hxx>
#include <vcl/msgbox.hxx>
-#include <svtools/style.hxx>
+#include <svl/style.hxx>
#include <svx/eeitem.hxx>
#include <svx/langitem.hxx>
#include <svx/fontitem.hxx>
diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx
index 4486df11d6b7..b6f368d09052 100644
--- a/sd/source/ui/func/fuinsert.cxx
+++ b/sd/source/ui/func/fuinsert.cxx
@@ -44,13 +44,13 @@
#include <com/sun/star/drawing/FillStyle.hpp>
#include <tools/urlobj.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <svtools/sores.hxx>
#include <svtools/insdlg.hxx>
#include <sfx2/request.hxx>
-#include <svtools/globalnameitem.hxx>
-#include <svtools/pathoptions.hxx>
+#include <svl/globalnameitem.hxx>
+#include <unotools/pathoptions.hxx>
#include <svx/pfiledlg.hxx>
#include <svx/impgrf.hxx>
#include <svx/dialogs.hrc>
@@ -64,7 +64,7 @@
#include <sot/clsids.hxx>
#include <svtools/sfxecode.hxx>
#include <svtools/transfer.hxx>
-#include <svtools/urlbmk.hxx>
+#include <svl/urlbmk.hxx>
#include <svx/svdobj.hxx>
#include <svx/svdograf.hxx>
#include <svx/svdoole2.hxx>
diff --git a/sd/source/ui/func/fuinsfil.cxx b/sd/source/ui/func/fuinsfil.cxx
index 0dea41e10ca9..a6dad3779ab7 100644
--- a/sd/source/ui/func/fuinsfil.cxx
+++ b/sd/source/ui/func/fuinsfil.cxx
@@ -38,7 +38,7 @@
#ifndef _EDITENG_HXX
#include <svx/editeng.hxx>
#endif
-#include <svtools/stritem.hxx>
+#include <svl/stritem.hxx>
#include <sfx2/request.hxx>
#include <sfx2/app.hxx>
#include <vcl/msgbox.hxx>
@@ -48,7 +48,7 @@
#include <svx/svdoutl.hxx>
#include <sfx2/filedlghelper.hxx>
#include <sot/formats.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <svx/forbiddencharacterstable.hxx>
#include <tools/urlobj.hxx>
#include <sfx2/docfile.hxx>
diff --git a/sd/source/ui/func/fuline.cxx b/sd/source/ui/func/fuline.cxx
index 8e7d6c6b5b86..08fdf2eb24b7 100644
--- a/sd/source/ui/func/fuline.cxx
+++ b/sd/source/ui/func/fuline.cxx
@@ -38,8 +38,8 @@
#include <svx/tabline.hxx>
#include <svx/xenum.hxx>
#include <vcl/msgbox.hxx>
-#include <svtools/intitem.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/intitem.hxx>
+#include <svl/stritem.hxx>
#include <sfx2/request.hxx>
#include <svx/xdef.hxx>
#include <sfx2/bindings.hxx>
@@ -98,7 +98,7 @@ void FuLine::DoExecute( SfxRequest& rReq )
mpView->GetAttributes( *pNewAttr );
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractTabDialog * pDlg = pFact ? pFact->CreateSvxLineTabDialog(NULL,pNewAttr,mpDoc,RID_SVXDLG_LINE,pObj,bHasMarked) : 0;
+ SfxAbstractTabDialog * pDlg = pFact ? pFact->CreateSvxLineTabDialog(NULL,pNewAttr,mpDoc,pObj,bHasMarked) : 0;
if( pDlg && (pDlg->Execute() == RET_OK) )
{
mpView->SetAttributes (*(pDlg->GetOutputItemSet ()));
diff --git a/sd/source/ui/func/fulinend.cxx b/sd/source/ui/func/fulinend.cxx
index 6f8373147845..1eb3300d30df 100644
--- a/sd/source/ui/func/fulinend.cxx
+++ b/sd/source/ui/func/fulinend.cxx
@@ -140,7 +140,7 @@ void FuLineEnd::DoExecute( SfxRequest& )
}
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- AbstractSvxNameDialog* pDlg = pFact ? pFact->CreateSvxNameDialog( NULL, aName, aDesc, RID_SVXDLG_NAME ) : 0;
+ AbstractSvxNameDialog* pDlg = pFact ? pFact->CreateSvxNameDialog( NULL, aName, aDesc ) : 0;
if( pDlg )
{
diff --git a/sd/source/ui/func/fuoaprms.cxx b/sd/source/ui/func/fuoaprms.cxx
index 694f1ae6615a..5083023efdde 100644
--- a/sd/source/ui/func/fuoaprms.cxx
+++ b/sd/source/ui/func/fuoaprms.cxx
@@ -46,7 +46,7 @@
#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
#endif
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include "svx/xtable.hxx"
#include "strings.hrc"
diff --git a/sd/source/ui/func/fuolbull.cxx b/sd/source/ui/func/fuolbull.cxx
index 29bc28e91e17..a16e6dbb20dd 100644
--- a/sd/source/ui/func/fuolbull.cxx
+++ b/sd/source/ui/func/fuolbull.cxx
@@ -34,11 +34,11 @@
#include "fuolbull.hxx"
#include <vcl/msgbox.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <svx/outliner.hxx>
#include <svx/eeitem.hxx>
#include <sfx2/request.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/intitem.hxx>
#include <svx/editdata.hxx>
#include <svx/svxids.hrc>
diff --git a/sd/source/ui/func/fupage.cxx b/sd/source/ui/func/fupage.cxx
index 10653e514697..284b4da2be66 100644
--- a/sd/source/ui/func/fupage.cxx
+++ b/sd/source/ui/func/fupage.cxx
@@ -40,14 +40,14 @@
#include <svx/svxids.hrc>
#include <svx/dialogs.hrc>
-#include <svtools/itempool.hxx>
+#include <svl/itempool.hxx>
#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
#endif
#include <sfx2/request.hxx>
-#include <svtools/stritem.hxx>
+#include <svl/stritem.hxx>
#include <vcl/prntypes.hxx>
-#include <svtools/style.hxx>
+#include <svl/style.hxx>
#include <stlsheet.hxx>
#ifndef _SVX_SVDORECT_HXX
#include <svx/svdorect.hxx>
@@ -59,7 +59,7 @@
#include <svx/frmdiritem.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xsetit.hxx>
-#include <svtools/itempool.hxx>
+#include <svl/itempool.hxx>
#include <svx/ulspitem.hxx>
#include <svx/lrspitem.hxx>
diff --git a/sd/source/ui/func/fupoor.cxx b/sd/source/ui/func/fupoor.cxx
index c6b8f9feaab2..936802ff34cb 100644
--- a/sd/source/ui/func/fupoor.cxx
+++ b/sd/source/ui/func/fupoor.cxx
@@ -35,7 +35,7 @@
#include "fupoor.hxx"
#include <svx/svxids.hrc>
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <svx/svdpagv.hxx>
#include <svx/svdoole2.hxx>
#include <svx/svdograf.hxx>
diff --git a/sd/source/ui/func/fuprlout.cxx b/sd/source/ui/func/fuprlout.cxx
index 6975aa66fba9..7fd48732ccc4 100644
--- a/sd/source/ui/func/fuprlout.cxx
+++ b/sd/source/ui/func/fuprlout.cxx
@@ -35,8 +35,8 @@
#include "fuprlout.hxx"
#include <vcl/wrkwin.hxx>
#include <sfx2/dispatch.hxx>
-#include <svtools/smplhint.hxx>
-#include <svtools/itempool.hxx>
+#include <svl/smplhint.hxx>
+#include <svl/itempool.hxx>
#include <sot/storage.hxx>
#include <vcl/msgbox.hxx>
#include <svx/svdundo.hxx>
diff --git a/sd/source/ui/func/fuprobjs.cxx b/sd/source/ui/func/fuprobjs.cxx
index b1d43699e27b..d4f6dc71cc88 100644
--- a/sd/source/ui/func/fuprobjs.cxx
+++ b/sd/source/ui/func/fuprobjs.cxx
@@ -36,9 +36,9 @@
#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
#endif
-#include <svtools/style.hxx>
+#include <svl/style.hxx>
#include <svx/outliner.hxx>
-#include <svtools/smplhint.hxx>
+#include <svl/smplhint.hxx>
#include "app.hrc"
diff --git a/sd/source/ui/func/fuscale.cxx b/sd/source/ui/func/fuscale.cxx
index 682dc1b4b719..b61836a74cca 100644
--- a/sd/source/ui/func/fuscale.cxx
+++ b/sd/source/ui/func/fuscale.cxx
@@ -139,7 +139,7 @@ void FuScale::DoExecute( SfxRequest& rReq )
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if(pFact)
{
- pDlg = pFact->CreateSvxZoomDialog(NULL, aNewAttr, RID_SVXDLG_ZOOM);
+ pDlg = pFact->CreateSvxZoomDialog(NULL, aNewAttr);
}
if( pDlg )
@@ -169,12 +169,11 @@ void FuScale::DoExecute( SfxRequest& rReq )
delete pDlg;
- // SvxZoomType eZT = ((const SvxZoomItem &) aArgs.Get (RID_SVXDLG_ZOOM)).GetType ();
- switch (((const SvxZoomItem &) aArgs.Get (RID_SVXDLG_ZOOM)).GetType ())
+ switch (((const SvxZoomItem &) aArgs.Get (SID_ATTR_ZOOM)).GetType ())
{
case SVX_ZOOM_PERCENT:
{
- nValue = ((const SvxZoomItem &) aArgs.Get (RID_SVXDLG_ZOOM)).GetValue ();
+ nValue = ((const SvxZoomItem &) aArgs.Get (SID_ATTR_ZOOM)).GetValue ();
mpViewShell->SetZoom( nValue );
diff --git a/sd/source/ui/func/fusel.cxx b/sd/source/ui/func/fusel.cxx
index 4e91ef79dc9a..fe97b7410ee7 100644
--- a/sd/source/ui/func/fusel.cxx
+++ b/sd/source/ui/func/fusel.cxx
@@ -40,15 +40,15 @@
#include <svx/polysc3d.hxx>
#include "drawview.hxx"
#include <svtools/imapobj.hxx>
-#include <svtools/urihelper.hxx>
+#include <svl/urihelper.hxx>
#include <unotools/localfilehelper.hxx>
#include <svx/svxids.hrc>
#include <svx/xfillit0.hxx>
#include <sfx2/app.hxx>
#include <sfx2/viewfrm.hxx>
-#include <svtools/aeitem.hxx>
-#include <svtools/stritem.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/aeitem.hxx>
+#include <svl/stritem.hxx>
+#include <svl/intitem.hxx>
#include <sfx2/dispatch.hxx>
#include <tools/urlobj.hxx>
#include <sfx2/docfile.hxx>
diff --git a/sd/source/ui/func/fusldlg.cxx b/sd/source/ui/func/fusldlg.cxx
index 6b79046a9bf8..b10f539cf29e 100644
--- a/sd/source/ui/func/fusldlg.cxx
+++ b/sd/source/ui/func/fusldlg.cxx
@@ -33,7 +33,7 @@
#include "fusldlg.hxx"
-#include <svtools/itemset.hxx>
+#include <svl/itemset.hxx>
#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
#endif
diff --git a/sd/source/ui/func/fusnapln.cxx b/sd/source/ui/func/fusnapln.cxx
index 28bb58538d85..9f0214668f82 100644
--- a/sd/source/ui/func/fusnapln.cxx
+++ b/sd/source/ui/func/fusnapln.cxx
@@ -32,7 +32,7 @@
#include "precompiled_sd.hxx"
#include "fusnapln.hxx"
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <vcl/msgbox.hxx>
#include <sfx2/request.hxx>
diff --git a/sd/source/ui/func/futempl.cxx b/sd/source/ui/func/futempl.cxx
index d9ebadd48ac7..e53d6d9d7789 100644
--- a/sd/source/ui/func/futempl.cxx
+++ b/sd/source/ui/func/futempl.cxx
@@ -42,7 +42,7 @@
#include <svx/bulitem.hxx>
#include <svx/svxids.hrc> // fuer SID_OBJECT_SELECT
#include <sfx2/bindings.hxx>
-#include <svtools/aeitem.hxx>
+#include <svl/aeitem.hxx>
#include <sfx2/dispatch.hxx>
#include <vcl/msgbox.hxx>
#include <svx/eeitem.hxx>
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 86cfb6be3a77..0f94366f1c56 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -39,14 +39,14 @@
#include <tools/urlobj.hxx>
#include <vcl/help.hxx>
#include <svx/editstat.hxx>
-#include <svtools/aeitem.hxx>
-#include <svtools/intitem.hxx>
+#include <svl/aeitem.hxx>
+#include <svl/intitem.hxx>
#include <svx/svdotext.hxx>
#ifndef _SVDOGROUP_HXX //autogen
#include <svx/svdogrp.hxx>
#endif
#include <svx/flditem.hxx>
-#include <svtools/style.hxx>
+#include <svl/style.hxx>
#include <svx/svdpagv.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/dispatch.hxx>
diff --git a/sd/source/ui/func/futransf.cxx b/sd/source/ui/func/futransf.cxx
index b5db742f70b4..a5782aadb4c8 100644
--- a/sd/source/ui/func/futransf.cxx
+++ b/sd/source/ui/func/futransf.cxx
@@ -94,7 +94,7 @@ void FuTransform::DoExecute( SfxRequest& rReq )
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if ( pFact )
{
- std::auto_ptr< SfxAbstractTabDialog > pDlg( pFact->CreateCaptionDialog( NULL, mpView, RID_SVXDLG_CAPTION ) );
+ std::auto_ptr< SfxAbstractTabDialog > pDlg( pFact->CreateCaptionDialog( NULL, mpView ) );
const USHORT* pRange = pDlg->GetInputRanges( *aNewAttr.GetPool() );
SfxItemSet aCombSet( *aNewAttr.GetPool(), pRange );
@@ -114,7 +114,7 @@ void FuTransform::DoExecute( SfxRequest& rReq )
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
if(pFact)
{
- std::auto_ptr< SfxAbstractTabDialog > pDlg( pFact->CreateSvxTransformTabDialog( NULL, &aSet,mpView, RID_SVXDLG_TRANSFORM) );
+ std::auto_ptr< SfxAbstractTabDialog > pDlg( pFact->CreateSvxTransformTabDialog( NULL, &aSet, mpView ) );
if( pDlg.get() && (pDlg->Execute() == RET_OK) )
{
rReq.Done( *( pDlg->GetOutputItemSet() ) );
diff --git a/sd/source/ui/func/futxtatt.cxx b/sd/source/ui/func/futxtatt.cxx
index e94638ecf225..8ab4d8d02a75 100644
--- a/sd/source/ui/func/futxtatt.cxx
+++ b/sd/source/ui/func/futxtatt.cxx
@@ -79,7 +79,7 @@ void FuTextAttrDlg::DoExecute( SfxRequest& rReq )
if( !pArgs )
{
SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create();
- SfxAbstractTabDialog *pDlg = pFact->CreateTextTabDialog( NULL, &aNewAttr, RID_SVXDLG_TEXT, mpView );
+ SfxAbstractTabDialog *pDlg = pFact->CreateTextTabDialog( NULL, &aNewAttr, mpView );
USHORT nResult = pDlg->Execute();