Author: alg
Date: Tue Apr  9 12:22:48 2013
New Revision: 1465991

URL: http://svn.apache.org/r1465991
Log:
i121538 Disable FontWork dialog entries (slots) when CustomShapes are selected 
to avoid unwanted FontWork editing on these shapes

Modified:
    openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx
    openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx
    openoffice/trunk/main/sd/source/ui/view/drviews6.cxx
    openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx
    openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx

Modified: openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/drawfunc/drawsh4.cxx Tue Apr  9 12:22:48 
2013
@@ -35,7 +35,7 @@
 #include <svx/xdef.hxx>
 #include <sfx2/objsh.hxx>
 #include <sfx2/viewfrm.hxx>
-
+#include <svx/svdoashp.hxx>
 #include "drawsh.hxx"
 #include "drawview.hxx"
 #include "viewdata.hxx"
@@ -60,8 +60,14 @@ void ScDrawShell::GetFormTextState(SfxIt
        if ( rMarkList.GetMarkCount() == 1 )
                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-       if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
-               !((SdrTextObj*) pObj)->HasText() )
+    const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+    const bool bDeactivate(
+        !pObj ||
+        !pTextObj ||
+        !pTextObj->HasText() ||
+        dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no 
FontWork for CustomShapes
+
+    if(bDeactivate)
        {
                if ( pDlg )
                        pDlg->SetActive(sal_False);

Modified: openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff
==============================================================================
--- openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx (original)
+++ openoffice/trunk/main/sc/source/ui/drawfunc/drtxtob2.cxx Tue Apr  9 
12:22:48 2013
@@ -39,7 +39,7 @@
 #include <sfx2/request.hxx>
 #include <sot/formats.hxx>
 #include <svl/whiter.hxx>
-
+#include <svx/svdoashp.hxx>
 #include "sc.hrc"
 #include "drtxtob.hxx"
 #include "viewdata.hxx"
@@ -242,8 +242,14 @@ void ScDrawTextObjectBar::GetFormTextSta
        if ( rMarkList.GetMarkCount() == 1 )
                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-       if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
-               !((SdrTextObj*) pObj)->HasText() )
+    const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+    const bool bDeactivate(
+        !pObj ||
+        !pTextObj ||
+        !pTextObj->HasText() ||
+        dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no 
FontWork for CustomShapes
+
+    if(bDeactivate)
        {
                if ( pDlg )
                        pDlg->SetActive(sal_False);

Modified: openoffice/trunk/main/sd/source/ui/view/drviews6.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sd/source/ui/view/drviews6.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff
==============================================================================
--- openoffice/trunk/main/sd/source/ui/view/drviews6.cxx (original)
+++ openoffice/trunk/main/sd/source/ui/view/drviews6.cxx Tue Apr  9 12:22:48 
2013
@@ -78,6 +78,7 @@
 #include "Window.hxx"
 #include "DrawDocShell.hxx"
 #include "framework/FrameworkHelper.hxx"
+#include <svx/svdoashp.hxx>
 
 namespace sd {
 
@@ -152,25 +153,31 @@ void DrawViewShell::GetFormTextState(Sfx
        if ( rMarkList.GetMarkCount() == 1 )
                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-       if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
-               !((SdrTextObj*) pObj)->HasText() )
+    const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+    const bool bDeactivate(
+        !pObj ||
+        !pTextObj ||
+        !pTextObj->HasText() ||
+        dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no 
FontWork for CustomShapes
+
+    if(bDeactivate)
        {
 // automatisches Auf/Zuklappen des FontWork-Dialog; erstmal deaktiviert
 //             if ( pDlg )
 //                     pDlg->SetActive(sal_False);
 
-               rSet.DisableItem(XATTR_FORMTXTSTYLE);
-               rSet.DisableItem(XATTR_FORMTXTADJUST);
-               rSet.DisableItem(XATTR_FORMTXTDISTANCE);
-               rSet.DisableItem(XATTR_FORMTXTSTART);
-               rSet.DisableItem(XATTR_FORMTXTMIRROR);
-               rSet.DisableItem(XATTR_FORMTXTSTDFORM);
-               rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
-               rSet.DisableItem(XATTR_FORMTXTOUTLINE);
-               rSet.DisableItem(XATTR_FORMTXTSHADOW);
-               rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
-               rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
-               rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
+        rSet.DisableItem(XATTR_FORMTXTSTYLE);
+        rSet.DisableItem(XATTR_FORMTXTADJUST);
+        rSet.DisableItem(XATTR_FORMTXTDISTANCE);
+        rSet.DisableItem(XATTR_FORMTXTSTART);
+        rSet.DisableItem(XATTR_FORMTXTMIRROR);
+        rSet.DisableItem(XATTR_FORMTXTSTDFORM);
+        rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
+        rSet.DisableItem(XATTR_FORMTXTOUTLINE);
+        rSet.DisableItem(XATTR_FORMTXTSHADOW);
+        rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
+        rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
+        rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
        }
        else
        {

Modified: openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/shells/drawsh.cxx Tue Apr  9 12:22:48 
2013
@@ -50,6 +50,7 @@
 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
 
 #include <svx/xtable.hxx>
+#include <svx/svdoashp.hxx>
 
 #include "swundo.hxx"
 #include "wrtsh.hxx"
@@ -465,19 +466,27 @@ void SwDrawShell::GetFormTextState(SfxIt
        if ( rMarkList.GetMarkCount() == 1 )
                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-       if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
-               !((SdrTextObj*) pObj)->HasText() )
+    const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+    const bool bDeactivate(
+        !pObj ||
+        !pTextObj ||
+        !pTextObj->HasText() ||
+        dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no 
FontWork for CustomShapes
+
+    if(bDeactivate)
        {
-#define        XATTR_ANZ 12
-               static const sal_uInt16 nXAttr[ XATTR_ANZ ] =
-               {
-                       XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, 
XATTR_FORMTXTDISTANCE,
-                       XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, 
XATTR_FORMTXTSTDFORM,
-                       XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, 
XATTR_FORMTXTSHADOW,
-                       XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, 
XATTR_FORMTXTSHDWYVAL
-               };
-               for( sal_uInt16 i = 0; i < XATTR_ANZ; )
-                       rSet.DisableItem( nXAttr[ i++ ] );
+        rSet.DisableItem(XATTR_FORMTXTSTYLE);
+        rSet.DisableItem(XATTR_FORMTXTADJUST);
+        rSet.DisableItem(XATTR_FORMTXTDISTANCE);
+        rSet.DisableItem(XATTR_FORMTXTSTART);
+        rSet.DisableItem(XATTR_FORMTXTMIRROR);
+        rSet.DisableItem(XATTR_FORMTXTSTDFORM);
+        rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
+        rSet.DisableItem(XATTR_FORMTXTOUTLINE);
+        rSet.DisableItem(XATTR_FORMTXTSHADOW);
+        rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
+        rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
+        rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
        }
        else
        {

Modified: openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx?rev=1465991&r1=1465990&r2=1465991&view=diff
==============================================================================
--- openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx (original)
+++ openoffice/trunk/main/sw/source/ui/shells/drwtxtsh.cxx Tue Apr  9 12:22:48 
2013
@@ -79,16 +79,13 @@
 #include <uitool.hxx>
 #include <wview.hxx>
 #include <swmodule.hxx>
-
 #include <svx/xtable.hxx>
 #include <svx/svxdlg.hxx>
 #include <svx/dialogs.hrc>
-
 #include <svx/svxdlg.hxx>
 #include <svx/dialogs.hrc>
-
+#include <svx/svdoashp.hxx>
 #include <cppuhelper/bootstrap.hxx>
-
 #include "swabstdlg.hxx" //CHINA001
 #include "misc.hrc"
 
@@ -353,18 +350,27 @@ void SwDrawTextShell::GetFormTextState(S
        if ( rMarkList.GetMarkCount() == 1 )
                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
 
-       if ( pObj == NULL || !pObj->ISA(SdrTextObj) ||
-               !((SdrTextObj*) pObj)->HasText() )
-       {
-#define        XATTR_ANZ 12
-               static const sal_uInt16 nXAttr[ XATTR_ANZ ] =
-               {       XATTR_FORMTXTSTYLE, XATTR_FORMTXTADJUST, 
XATTR_FORMTXTDISTANCE,
-                       XATTR_FORMTXTSTART, XATTR_FORMTXTMIRROR, 
XATTR_FORMTXTSTDFORM,
-                       XATTR_FORMTXTHIDEFORM, XATTR_FORMTXTOUTLINE, 
XATTR_FORMTXTSHADOW,
-                       XATTR_FORMTXTSHDWCOLOR, XATTR_FORMTXTSHDWXVAL, 
XATTR_FORMTXTSHDWYVAL
-               };
-               for( sal_uInt16 i = 0; i < XATTR_ANZ; )
-                       rSet.DisableItem( nXAttr[ i++ ] );
+    const SdrTextObj* pTextObj = dynamic_cast< const SdrTextObj* >(pObj);
+    const bool bDeactivate(
+        !pObj ||
+        !pTextObj ||
+        !pTextObj->HasText() ||
+        dynamic_cast< const SdrObjCustomShape* >(pObj)); // #121538# no 
FontWork for CustomShapes
+
+    if (bDeactivate)
+       {
+        rSet.DisableItem(XATTR_FORMTXTSTYLE);
+        rSet.DisableItem(XATTR_FORMTXTADJUST);
+        rSet.DisableItem(XATTR_FORMTXTDISTANCE);
+        rSet.DisableItem(XATTR_FORMTXTSTART);
+        rSet.DisableItem(XATTR_FORMTXTMIRROR);
+        rSet.DisableItem(XATTR_FORMTXTSTDFORM);
+        rSet.DisableItem(XATTR_FORMTXTHIDEFORM);
+        rSet.DisableItem(XATTR_FORMTXTOUTLINE);
+        rSet.DisableItem(XATTR_FORMTXTSHADOW);
+        rSet.DisableItem(XATTR_FORMTXTSHDWCOLOR);
+        rSet.DisableItem(XATTR_FORMTXTSHDWXVAL);
+        rSet.DisableItem(XATTR_FORMTXTSHDWYVAL);
        }
        else
        {


Reply via email to