LCOV - code coverage report
Current view: top level - sd/source/ui/view - drviews7.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 299 926 32.3 %
Date: 2012-08-25 Functions: 2 7 28.6 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 547 2492 22.0 %

           Branch data     Line data    Source code
       1                 :            : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2                 :            : /*************************************************************************
       3                 :            :  *
       4                 :            :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5                 :            :  *
       6                 :            :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7                 :            :  *
       8                 :            :  * OpenOffice.org - a multi-platform office productivity suite
       9                 :            :  *
      10                 :            :  * This file is part of OpenOffice.org.
      11                 :            :  *
      12                 :            :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13                 :            :  * it under the terms of the GNU Lesser General Public License version 3
      14                 :            :  * only, as published by the Free Software Foundation.
      15                 :            :  *
      16                 :            :  * OpenOffice.org is distributed in the hope that it will be useful,
      17                 :            :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18                 :            :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19                 :            :  * GNU Lesser General Public License version 3 for more details
      20                 :            :  * (a copy is included in the LICENSE file that accompanied this code).
      21                 :            :  *
      22                 :            :  * You should have received a copy of the GNU Lesser General Public License
      23                 :            :  * version 3 along with OpenOffice.org.  If not, see
      24                 :            :  * <http://www.openoffice.org/license.html>
      25                 :            :  * for a copy of the LGPLv3 License.
      26                 :            :  *
      27                 :            :  ************************************************************************/
      28                 :            : 
      29                 :            : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      30                 :            : #include <com/sun/star/lang/Locale.hpp>
      31                 :            : #include <com/sun/star/linguistic2/XThesaurus.hpp>
      32                 :            : #include <svx/fmglob.hxx>
      33                 :            : #include <svx/globl3d.hxx>
      34                 :            : #include <svx/svdouno.hxx>
      35                 :            : #include <editeng/eeitem.hxx>
      36                 :            : #include <editeng/flditem.hxx>
      37                 :            : #include <editeng/outlobj.hxx>
      38                 :            : #include <svx/svxids.hrc>
      39                 :            : #include <svx/svdpagv.hxx>
      40                 :            : #include <svx/clipfmtitem.hxx>
      41                 :            : #include <svx/fmshell.hxx>
      42                 :            : #include <svl/eitem.hxx>
      43                 :            : #include <svl/aeitem.hxx>
      44                 :            : #include <svl/stritem.hxx>
      45                 :            : #include <svl/visitem.hxx>
      46                 :            : #include <svl/whiter.hxx>
      47                 :            : #include <sfx2/dispatch.hxx>
      48                 :            : #include <svx/svdograf.hxx>
      49                 :            : #include <editeng/unolingu.hxx>
      50                 :            : #include <svx/extrusionbar.hxx>
      51                 :            : #include <svx/fontworkbar.hxx>
      52                 :            : 
      53                 :            : // #UndoRedo#
      54                 :            : #include <svl/slstitm.hxx>
      55                 :            : #include <sfx2/app.hxx>
      56                 :            : #include <svtools/insdlg.hxx>
      57                 :            : #include <unotools/moduleoptions.hxx>
      58                 :            : #include <svl/languageoptions.hxx>
      59                 :            : #include <comphelper/processfactory.hxx>
      60                 :            : #include <sfx2/request.hxx>
      61                 :            : 
      62                 :            : 
      63                 :            : #include <svx/pfiledlg.hxx>
      64                 :            : #include <svx/grafctrl.hxx>
      65                 :            : #include <svtools/cliplistener.hxx>
      66                 :            : #include <sfx2/viewfrm.hxx>
      67                 :            : 
      68                 :            : #include "app.hrc"
      69                 :            : #include "glob.hrc"
      70                 :            : #include "res_bmp.hrc"
      71                 :            : #include "PresentationViewShell.hxx"
      72                 :            : 
      73                 :            : #include "Outliner.hxx"
      74                 :            : #include "drawdoc.hxx"
      75                 :            : #include "sdresid.hxx"
      76                 :            : #include "sdpage.hxx"
      77                 :            : #include "Client.hxx"
      78                 :            : #include "DrawDocShell.hxx"
      79                 :            : #include "zoomlist.hxx"
      80                 :            : #include "slideshow.hxx"
      81                 :            : #include "drawview.hxx"
      82                 :            : #include "ViewShellBase.hxx"
      83                 :            : #include "ViewShellManager.hxx"
      84                 :            : #include "LayerTabBar.hxx"
      85                 :            : #include "fupoor.hxx"
      86                 :            : #include "Window.hxx"
      87                 :            : #include "fuediglu.hxx"
      88                 :            : #include "fubullet.hxx"
      89                 :            : #include "fuformatpaintbrush.hxx"
      90                 :            : 
      91                 :            : using ::rtl::OUString;
      92                 :            : using namespace ::com::sun::star;
      93                 :            : using namespace ::com::sun::star::uno;
      94                 :            : using namespace ::com::sun::star::lang;
      95                 :            : using namespace ::com::sun::star::linguistic2;
      96                 :            : 
      97                 :            : /** Create a list of clipboard formats that are supported both from the
      98                 :            :     current clipboard content and the DrawViewShell.
      99                 :            :     The list is stored in a new instance of SvxClipboardFmtItem.
     100                 :            : */
     101                 :            : SAL_WNODEPRECATED_DECLARATIONS_PUSH
     102                 :          0 : ::std::auto_ptr<SvxClipboardFmtItem> GetSupportedClipboardFormats (
     103                 :            :     TransferableDataHelper& rDataHelper)
     104                 :            : {
     105                 :            :     ::std::auto_ptr<SvxClipboardFmtItem> pResult (
     106 [ #  # ][ #  # ]:          0 :         new SvxClipboardFmtItem(SID_CLIPBOARD_FORMAT_ITEMS));
     107                 :            : 
     108         [ #  # ]:          0 :     sal_uInt32 nFormatCount (rDataHelper.GetFormatCount());
     109         [ #  # ]:          0 :     for (sal_uInt32 i=0; i<nFormatCount; i++)
     110                 :            :     {
     111         [ #  # ]:          0 :         const SotFormatStringId nTestFormat = rDataHelper.GetFormat(i);
     112                 :            : 
     113                 :            :         // Check if the current format is the same as one that has already
     114                 :            :         // been handled.
     115                 :          0 :         bool bDuplicate (false);
     116         [ #  # ]:          0 :         for (sal_uInt32 j=0; j<i; j++)
     117                 :            :         {
     118 [ #  # ][ #  # ]:          0 :             if (nTestFormat == rDataHelper.GetFormat(j))
     119                 :            :             {
     120                 :          0 :                 bDuplicate = true;
     121                 :          0 :                 break;
     122                 :            :             }
     123                 :            :         }
     124                 :            : 
     125                 :            :         // Look up the format among those that are supported by the
     126                 :            :         // DrawViewShell.
     127         [ #  # ]:          0 :         if ( ! bDuplicate)
     128                 :            :         {
     129      [ #  #  # ]:          0 :             switch (nTestFormat)
     130                 :            :             {
     131                 :            :                 case SOT_FORMATSTR_ID_EMBED_SOURCE:
     132                 :            :                 {
     133         [ #  # ]:          0 :                     String sName;
     134                 :            : 
     135         [ #  # ]:          0 :                     TransferableObjectDescriptor aDescriptor;
     136         [ #  # ]:          0 :                     if (rDataHelper.GetTransferableObjectDescriptor(
     137         [ #  # ]:          0 :                         SOT_FORMATSTR_ID_OBJECTDESCRIPTOR, aDescriptor))
     138                 :            :                         {
     139         [ #  # ]:          0 :                             sName = aDescriptor.maTypeName;
     140                 :            :                         }
     141         [ #  # ]:          0 :                     if (sName.Len() > 0)
     142 [ #  # ][ #  # ]:          0 :                         pResult->AddClipbrdFormat(nTestFormat, sName);
     143                 :            :                     else
     144         [ #  # ]:          0 :                         pResult->AddClipbrdFormat(nTestFormat);
     145                 :            : 
     146 [ #  # ][ #  # ]:          0 :                     break;
     147                 :            :                 }
     148                 :            : 
     149                 :            :                 case SOT_FORMATSTR_ID_LINK_SOURCE:
     150                 :            :                 case SOT_FORMATSTR_ID_DRAWING:
     151                 :            :                 case SOT_FORMATSTR_ID_SVXB:
     152                 :            :                 case FORMAT_GDIMETAFILE:
     153                 :            :                 case FORMAT_BITMAP:
     154                 :            :                 case SOT_FORMATSTR_ID_NETSCAPE_BOOKMARK:
     155                 :            :                 case FORMAT_STRING:
     156                 :            :                 case SOT_FORMATSTR_ID_HTML:
     157                 :            :                 case FORMAT_RTF:
     158                 :            :                 case SOT_FORMATSTR_ID_EDITENGINE:
     159         [ #  # ]:          0 :                     pResult->AddClipbrdFormat(nTestFormat);
     160                 :          0 :                     break;
     161                 :            :             }
     162                 :            :         }
     163                 :            :     }
     164                 :            : 
     165                 :            :     // Check some OLE formats whose names are handled differently.
     166                 :          0 :     SotFormatStringId nFormat (SOT_FORMATSTR_ID_EMBED_SOURCE_OLE);
     167         [ #  # ]:          0 :     bool bHasFormat (rDataHelper.HasFormat(nFormat));
     168         [ #  # ]:          0 :     if ( ! bHasFormat)
     169                 :            :     {
     170         [ #  # ]:          0 :         bHasFormat = rDataHelper.HasFormat(nFormat);
     171                 :            :     }
     172         [ #  # ]:          0 :     if (bHasFormat)
     173                 :            :     {
     174         [ #  # ]:          0 :         String sName;
     175         [ #  # ]:          0 :         String sSource;
     176 [ #  # ][ #  # ]:          0 :         if (SvPasteObjectHelper::GetEmbeddedName (rDataHelper, sName, sSource, nFormat))
     177 [ #  # ][ #  # ]:          0 :             pResult->AddClipbrdFormat (nFormat, sName);
         [ #  # ][ #  # ]
     178                 :            :     }
     179                 :            : 
     180                 :          0 :     return pResult;
     181                 :            : }
     182                 :            : SAL_WNODEPRECATED_DECLARATIONS_POP
     183                 :            : 
     184                 :            : namespace sd {
     185                 :            : 
     186                 :          0 : IMPL_LINK( DrawViewShell, ClipboardChanged, TransferableDataHelper*, pDataHelper )
     187                 :            : {
     188         [ #  # ]:          0 :     if ( pDataHelper )
     189                 :            :     {
     190         [ #  # ]:          0 :         mbPastePossible = ( pDataHelper->GetFormatCount() != 0 );
     191                 :            : 
     192                 :            :         // Update the list of supported clipboard formats according to the
     193                 :            :         // new clipboard content.
     194                 :            :         // There are some stack traces that indicate the possibility of the
     195                 :            :         // DrawViewShell destructor called during the call to
     196                 :            :         // GetSupportedClipboardFormats().  If that really has happened then
     197                 :            :         // exit immediately.
     198                 :            :         TransferableDataHelper aDataHelper (
     199 [ #  # ][ #  # ]:          0 :             TransferableDataHelper::CreateFromSystemClipboard(GetActiveWindow()));
     200                 :            :         SAL_WNODEPRECATED_DECLARATIONS_PUSH
     201 [ #  # ][ #  # ]:          0 :         ::std::auto_ptr<SvxClipboardFmtItem> pFormats (GetSupportedClipboardFormats(aDataHelper));
     202                 :            :         SAL_WNODEPRECATED_DECLARATIONS_POP
     203         [ #  # ]:          0 :         if (mpDrawView == NULL)
     204                 :          0 :             return 0;
     205                 :          0 :         mpCurrentClipboardFormats = pFormats;
     206                 :            : 
     207         [ #  # ]:          0 :         SfxBindings& rBindings = GetViewFrame()->GetBindings();
     208         [ #  # ]:          0 :         rBindings.Invalidate( SID_PASTE );
     209         [ #  # ]:          0 :         rBindings.Invalidate( SID_PASTE_SPECIAL );
     210 [ #  # ][ #  # ]:          0 :         rBindings.Invalidate( SID_CLIPBOARD_FORMAT_ITEMS );
         [ #  # ][ #  # ]
                 [ #  # ]
     211                 :            :     }
     212                 :          0 :     return 0;
     213                 :            : }
     214                 :            : 
     215                 :            : /*************************************************************************
     216                 :            : |*
     217                 :            : |* Status (Enabled/Disabled) von Menue-SfxSlots setzen
     218                 :            : |*
     219                 :            : \************************************************************************/
     220                 :            : 
     221                 :       6385 : void DrawViewShell::GetMenuState( SfxItemSet &rSet )
     222                 :            : {
     223         [ +  - ]:       6385 :     if (mpDrawView == NULL)
     224                 :            :     {
     225                 :            :         // This assertion and return are here to prevent crashes.
     226                 :            :         DBG_ASSERT(mpDrawView!=NULL, "Please report this assertion to the Impress team.");
     227                 :            :         return;
     228                 :            :     }
     229                 :            : 
     230         [ +  - ]:       6385 :     ViewShell::GetMenuState(rSet);
     231 [ +  - ][ +  - ]:       6385 :     sal_Bool bDisableVerticalText = !SvtLanguageOptions().IsVerticalTextEnabled();
                 [ +  - ]
     232                 :            : 
     233         [ +  - ]:       6385 :     if ( bDisableVerticalText )
     234                 :            :     {
     235         [ +  - ]:       6385 :         rSet.DisableItem( SID_DRAW_FONTWORK_VERTICAL );
     236         [ +  - ]:       6385 :         rSet.DisableItem( SID_DRAW_CAPTION_VERTICAL );
     237         [ +  - ]:       6385 :         rSet.DisableItem( SID_TEXT_FITTOSIZE_VERTICAL );
     238         [ +  - ]:       6385 :         rSet.DisableItem( SID_DRAW_TEXT_VERTICAL );
     239                 :            :     }
     240                 :            : 
     241         [ +  - ]:       6385 :     bool bConvertToPathPossible = mpDrawView->IsConvertToPathObjPossible(sal_False);
     242                 :            : 
     243                 :       6385 :     const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
     244                 :       6385 :     const sal_uLong nMarkCount = rMarkList.GetMarkCount();
     245                 :            : 
     246                 :            :     //format paintbrush
     247         [ +  - ]:       6385 :     FuFormatPaintBrush::GetMenuState( *this, rSet );
     248                 :            : 
     249                 :            :     // Stati der SfxChild-Windows (Animator, Fontwork etc.)
     250         [ +  - ]:       6385 :     SetChildWindowState( rSet );
     251                 :            : 
     252                 :            :     // Images der Toolboxen mappen (nur Zoom)
     253         [ +  - ]:       6385 :     UpdateToolboxImages( rSet, sal_False );
     254                 :            : 
     255 [ +  - ][ +  - ]:       6385 :     if(HasCurrentFunction())
     256                 :            :     {
     257 [ +  - ][ +  - ]:       6385 :         sal_uInt16 nSId = GetCurrentFunction()->GetSlotID();
     258                 :            : 
     259 [ +  - ][ +  - ]:       6385 :         rSet.Put( SfxBoolItem( nSId, sal_True ) );
                 [ +  - ]
     260                 :            : 
     261                 :            :         // Bewirkt ein uncheck eines simulierten Slots
     262         [ +  - ]:       6385 :         sal_uInt16 nId = GetIdBySubId( nSId );
     263                 :            : 
     264                 :            :         // Images der Toolboxen mappen
     265         [ +  - ]:       6385 :         UpdateToolboxImages( rSet );
     266                 :            : 
     267 [ +  - ][ +  - ]:       6385 :         if( nId != SID_ZOOM_TOOLBOX &&
         [ +  - ][ +  - ]
     268                 :            :             nSId != SID_DRAWTBX_INSERT &&
     269                 :            :             nSId != SID_POSITION &&
     270                 :            :             nSId != SID_OBJECT_ALIGN )
     271                 :            :         {
     272         [ +  - ]:       6385 :             if( nId != SID_OBJECT_CHOOSE_MODE )
     273 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_OBJECT_CHOOSE_MODE, 0 ) );
                 [ +  - ]
     274         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_TEXT )
     275 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_TEXT, 0 ) );
                 [ +  - ]
     276         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_RECTANGLES )
     277 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_RECTANGLES, 0 ) );
                 [ +  - ]
     278         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_ELLIPSES )
     279 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_ELLIPSES, 0 ) );
                 [ +  - ]
     280         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_LINES )
     281 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_LINES, 0 ) );
                 [ +  - ]
     282         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_ARROWS )
     283 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_ARROWS, 0 ) );
                 [ +  - ]
     284         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_3D_OBJECTS )
     285 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_3D_OBJECTS, 0 ) );
                 [ +  - ]
     286         [ +  - ]:       6385 :             if( nId != SID_DRAWTBX_CONNECTORS )
     287 [ +  - ][ +  - ]:       6385 :                 rSet.Put( TbxImageItem( SID_DRAWTBX_CONNECTORS, 0 ) );
                 [ +  - ]
     288                 :            :         }
     289                 :            :     }
     290                 :            : 
     291                 :       6385 :     SdrPageView* pPageView = mpDrawView->GetSdrPageView();
     292                 :            : 
     293         [ +  - ]:       6385 :     GetMenuStateSel(rSet);
     294                 :            : 
     295 [ +  - ][ +  + ]:       6385 :     if (SFX_ITEM_AVAILABLE == rSet.GetItemState(SID_ASSIGN_LAYOUT))
     296                 :            :     {
     297                 :         29 :         bool bDisable = true;
     298         [ +  - ]:         29 :         if( pPageView )
     299                 :            :         {
     300         [ -  + ]:         29 :             SdPage* pPage = dynamic_cast< SdPage* >( pPageView->GetPage() );
     301                 :            : 
     302 [ +  - ][ +  - ]:         29 :             if( pPage && !pPage->IsMasterPage() )
                 [ +  - ]
     303                 :            :             {
     304 [ +  - ][ +  - ]:         29 :                 rSet.Put( SfxUInt32Item( SID_ASSIGN_LAYOUT, static_cast< sal_uInt32 >(pPage->GetAutoLayout()) ) );
                 [ +  - ]
     305                 :         29 :                 bDisable = false;
     306                 :            :             }
     307                 :            :         }
     308                 :            : 
     309         [ -  + ]:         29 :         if(bDisable)
     310                 :            :         {
     311         [ #  # ]:          0 :             rSet.DisableItem(SID_ASSIGN_LAYOUT);
     312                 :            :         }
     313                 :            :     }
     314                 :            : 
     315 [ +  - ][ +  + ]:       6385 :     if (SFX_ITEM_AVAILABLE == rSet.GetItemState(SID_EXPAND_PAGE))
     316                 :            :     {
     317                 :         29 :         bool bDisable = true;
     318         [ +  - ]:         29 :         if( pPageView )
     319                 :            :         {
     320         [ -  + ]:         29 :             SdPage* pPage = dynamic_cast< SdPage* >( pPageView->GetPage() );
     321                 :            : 
     322 [ +  - ][ +  - ]:         29 :             if( pPage && (pPage->GetPageKind() == PK_STANDARD) && !pPage->IsMasterPage() )
         [ +  - ][ +  - ]
     323                 :            :             {
     324         [ +  - ]:         29 :                 SdrObject* pObj = pPage->GetPresObj(PRESOBJ_OUTLINE);
     325                 :            : 
     326         [ -  + ]:         29 :                 if (pObj!=NULL )
     327                 :            :                 {
     328 [ #  # ][ #  # ]:          0 :                     if( !pObj->IsEmptyPresObj() )
     329                 :            :                     {
     330                 :          0 :                         bDisable = false;
     331                 :            :                     }
     332                 :            :                     else
     333                 :            :                     {
     334                 :            :                         // check if the object is in edit, than its temporarely not empty
     335         [ #  # ]:          0 :                         SdrTextObj* pTextObj = dynamic_cast< SdrTextObj* >( pObj );
     336         [ #  # ]:          0 :                         if( pTextObj )
     337                 :            :                         {
     338         [ #  # ]:          0 :                             OutlinerParaObject* pParaObj = pTextObj->GetEditOutlinerParaObject();
     339         [ #  # ]:          0 :                             if( pParaObj )
     340                 :            :                             {
     341 [ #  # ][ #  # ]:          0 :                                 delete pParaObj;
     342                 :          0 :                                 bDisable = false;
     343                 :            :                             }
     344                 :            :                         }
     345                 :            :                     }
     346                 :            :                 }
     347                 :            :             }
     348                 :            :         }
     349                 :            : 
     350         [ +  - ]:         29 :         if(bDisable)
     351                 :            :         {
     352         [ +  - ]:         29 :             rSet.DisableItem(SID_EXPAND_PAGE);
     353                 :            :         }
     354                 :            :     }
     355                 :            : 
     356 [ +  - ][ -  + ]:       6385 :     if (SFX_ITEM_AVAILABLE == rSet.GetItemState(SID_SUMMARY_PAGE))
     357                 :            :     {
     358                 :          0 :         bool bDisable = true;
     359         [ #  # ]:          0 :         if( pPageView )
     360                 :            :         {
     361         [ #  # ]:          0 :             SdPage* pPage = dynamic_cast< SdPage* >( pPageView->GetPage() );
     362                 :            : 
     363 [ #  # ][ #  # ]:          0 :             if( pPage && (pPage->GetPageKind() == PK_STANDARD) && !pPage->IsMasterPage() )
         [ #  # ][ #  # ]
     364                 :            :             {
     365         [ #  # ]:          0 :                 SdrObject* pObj = pPage->GetPresObj(PRESOBJ_TITLE);
     366                 :            : 
     367 [ #  # ][ #  # ]:          0 :                 if(pObj && !pObj->IsEmptyPresObj())
         [ #  # ][ #  # ]
     368                 :            :                 {
     369                 :          0 :                     bDisable = false;
     370                 :            :                 }
     371                 :            :             }
     372                 :            :         }
     373                 :            : 
     374         [ #  # ]:          0 :         if(bDisable)
     375                 :            :         {
     376         [ #  # ]:          0 :             rSet.DisableItem(SID_SUMMARY_PAGE);
     377                 :            :         }
     378                 :            :     }
     379                 :            : 
     380 [ +  - ][ -  + ]:       6385 :     if (SFX_ITEM_AVAILABLE == rSet.GetItemState(SID_ASSIGN_LAYOUT))
     381                 :            :     {
     382                 :          0 :         bool bDisable = true;
     383         [ #  # ]:          0 :         if( pPageView )
     384                 :            :         {
     385         [ #  # ]:          0 :             SdPage* pPage = dynamic_cast< SdPage* >( pPageView->GetPage() );
     386                 :            : 
     387 [ #  # ][ #  # ]:          0 :             if( pPage && !pPage->IsMasterPage() )
                 [ #  # ]
     388                 :            :             {
     389 [ #  # ][ #  # ]:          0 :                 rSet.Put( SfxUInt32Item(SID_ASSIGN_LAYOUT, pPage->GetAutoLayout()) );
                 [ #  # ]
     390                 :          0 :                 bDisable = false;
     391                 :            :             }
     392                 :            :         }
     393                 :            : 
     394         [ #  # ]:          0 :         if(bDisable)
     395                 :            :         {
     396         [ #  # ]:          0 :             rSet.DisableItem(SID_ASSIGN_LAYOUT);
     397                 :            :         }
     398                 :            :     }
     399                 :            : 
     400                 :            :     // Starten der Praesentation moeglich?
     401 [ +  - ][ +  + ]:      12741 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PRESENTATION ) ||
         [ -  + ][ +  + ]
     402         [ +  - ]:       6356 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_REHEARSE_TIMINGS ) )
     403                 :            :     {
     404                 :         29 :         sal_Bool bDisable = sal_True;
     405 [ +  - ][ +  - ]:         29 :         sal_uInt16 nCount = GetDoc()->GetSdPageCount( PK_STANDARD );
     406                 :            : 
     407 [ +  + ][ +  + ]:         58 :         for( sal_uInt16 i = 0; i < nCount && bDisable; i++ )
                 [ +  + ]
     408                 :            :         {
     409 [ +  - ][ +  - ]:         29 :             SdPage* pPage = GetDoc()->GetSdPage(i, PK_STANDARD);
     410                 :            : 
     411         [ +  - ]:         29 :             if( !pPage->IsExcluded() )
     412                 :         29 :                 bDisable = sal_False;
     413                 :            :         }
     414                 :            : 
     415 [ +  - ][ +  - ]:         29 :         if( bDisable || GetDocSh()->IsPreview())
         [ +  - ][ -  + ]
                 [ -  + ]
     416                 :            :         {
     417         [ #  # ]:          0 :             rSet.DisableItem( SID_PRESENTATION );
     418         [ #  # ]:          0 :             rSet.DisableItem( SID_REHEARSE_TIMINGS );
     419                 :            :         }
     420                 :            :     }
     421                 :            : 
     422                 :            :     // Klebepunkte
     423 [ +  - ][ +  + ]:      86998 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_EDITMODE ) ||
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ -  + ][ +  + ]
     424         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_INSERT_POINT ) ||
     425         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_PERCENT ) ||
     426         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_ESCDIR ) ||
     427         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_ESCDIR_LEFT ) ||
     428         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_ESCDIR_RIGHT ) ||
     429         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_ESCDIR_TOP ) ||
     430         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_ESCDIR_BOTTOM ) ||
     431         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_HORZALIGN_CENTER ) ||
     432         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_HORZALIGN_LEFT ) ||
     433         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_HORZALIGN_RIGHT ) ||
     434         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_VERTALIGN_CENTER ) ||
     435         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_VERTALIGN_TOP ) ||
     436         [ +  - ]:       6201 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GLUE_VERTALIGN_BOTTOM ) )
     437                 :            :     {
     438                 :            :         // Prozent
     439         [ +  - ]:        184 :         TRISTATE eState = mpDrawView->IsMarkedGluePointsPercent();
     440         [ -  + ]:        184 :         if( eState == STATE_DONTKNOW )
     441         [ #  # ]:          0 :             rSet.InvalidateItem( SID_GLUE_PERCENT );
     442                 :            :         else
     443 [ +  - ][ +  - ]:        184 :             rSet.Put( SfxBoolItem( SID_GLUE_PERCENT, eState == STATE_CHECK ) );
                 [ +  - ]
     444                 :            : 
     445                 :            :         // Bei Prozent hat Alignment keinen Effekt
     446         [ +  - ]:        184 :         if( eState == STATE_CHECK )
     447                 :            :         {
     448         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_HORZALIGN_CENTER );
     449         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_HORZALIGN_LEFT );
     450         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_HORZALIGN_RIGHT );
     451         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_VERTALIGN_CENTER );
     452         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_VERTALIGN_TOP );
     453         [ +  - ]:        184 :             rSet.DisableItem( SID_GLUE_VERTALIGN_BOTTOM );
     454                 :            :         }
     455                 :            :         else
     456                 :            :         {
     457                 :            :             // Horizontale Ausrichtung
     458         [ #  # ]:          0 :             sal_uInt16 nHorz = mpDrawView->GetMarkedGluePointsAlign( sal_False );
     459 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_HORZALIGN_CENTER, nHorz == SDRHORZALIGN_CENTER ) );
                 [ #  # ]
     460 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_HORZALIGN_LEFT,   nHorz == SDRHORZALIGN_LEFT ) );
                 [ #  # ]
     461 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_HORZALIGN_RIGHT,  nHorz == SDRHORZALIGN_RIGHT ) );
                 [ #  # ]
     462                 :            :             // Vertikale Ausrichtung
     463         [ #  # ]:          0 :             sal_uInt16 nVert = mpDrawView->GetMarkedGluePointsAlign( sal_True );
     464 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_VERTALIGN_CENTER, nVert == SDRVERTALIGN_CENTER ) );
                 [ #  # ]
     465 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_VERTALIGN_TOP,    nVert == SDRVERTALIGN_TOP ) );
                 [ #  # ]
     466 [ #  # ][ #  # ]:          0 :             rSet.Put( SfxBoolItem( SID_GLUE_VERTALIGN_BOTTOM, nVert == SDRVERTALIGN_BOTTOM ) );
                 [ #  # ]
     467                 :            :         }
     468                 :            : 
     469                 :            :         // Punkt einfuegen
     470 [ +  - ][ +  - ]:        184 :         rSet.Put( SfxBoolItem( SID_GLUE_INSERT_POINT, mpDrawView->IsInsGluePointMode() ) );
                 [ +  - ]
     471                 :            : 
     472                 :            :         // Autrittsrichtung
     473                 :            :         // Links
     474         [ +  - ]:        184 :         eState = mpDrawView->IsMarkedGluePointsEscDir( SDRESC_LEFT );
     475         [ -  + ]:        184 :         if( eState == STATE_DONTKNOW )
     476         [ #  # ]:          0 :             rSet.InvalidateItem( SID_GLUE_ESCDIR_LEFT );
     477                 :            :         else
     478 [ +  - ][ +  - ]:        184 :             rSet.Put( SfxBoolItem( SID_GLUE_ESCDIR_LEFT, eState == STATE_CHECK ) );
                 [ +  - ]
     479                 :            :         // Rechts
     480         [ +  - ]:        184 :         eState = mpDrawView->IsMarkedGluePointsEscDir( SDRESC_RIGHT );
     481         [ -  + ]:        184 :         if( eState == STATE_DONTKNOW )
     482         [ #  # ]:          0 :             rSet.InvalidateItem( SID_GLUE_ESCDIR_RIGHT );
     483                 :            :         else
     484 [ +  - ][ +  - ]:        184 :             rSet.Put( SfxBoolItem( SID_GLUE_ESCDIR_RIGHT, eState == STATE_CHECK ) );
                 [ +  - ]
     485                 :            :         // Oben
     486         [ +  - ]:        184 :         eState = mpDrawView->IsMarkedGluePointsEscDir( SDRESC_TOP );
     487         [ -  + ]:        184 :         if( eState == STATE_DONTKNOW )
     488         [ #  # ]:          0 :             rSet.InvalidateItem( SID_GLUE_ESCDIR_TOP );
     489                 :            :         else
     490 [ +  - ][ +  - ]:        184 :             rSet.Put( SfxBoolItem( SID_GLUE_ESCDIR_TOP, eState == STATE_CHECK ) );
                 [ +  - ]
     491                 :            :         // Unten
     492         [ +  - ]:        184 :         eState = mpDrawView->IsMarkedGluePointsEscDir( SDRESC_BOTTOM );
     493         [ -  + ]:        184 :         if( eState == STATE_DONTKNOW )
     494         [ #  # ]:          0 :             rSet.InvalidateItem( SID_GLUE_ESCDIR_BOTTOM );
     495                 :            :         else
     496 [ +  - ][ +  - ]:        184 :             rSet.Put( SfxBoolItem( SID_GLUE_ESCDIR_BOTTOM, eState == STATE_CHECK ) );
                 [ +  - ]
     497                 :            :     }
     498                 :            : 
     499 [ +  - ][ +  - ]:      12770 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_GRID_FRONT ) ||
         [ -  + ][ -  + ]
     500         [ +  - ]:       6385 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_HELPLINES_FRONT ) )
     501                 :            :     {
     502 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxBoolItem( SID_GRID_FRONT, mpDrawView->IsGridFront() ) );
                 [ #  # ]
     503 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxBoolItem( SID_HELPLINES_FRONT, mpDrawView->IsHlplFront() ) );
                 [ #  # ]
     504                 :            :     }
     505                 :            : 
     506         [ -  + ]:       6385 :     if (!mpDrawView->IsFrameDragSingles())
     507 [ #  # ][ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_BEZIER_EDIT, sal_True));
                 [ #  # ]
     508                 :            :     else
     509 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_BEZIER_EDIT, sal_False));
                 [ +  - ]
     510                 :            : 
     511 [ +  - ][ +  - ]:       6385 :     if(dynamic_cast<FuEditGluePoints*>( GetCurrentFunction().get()))
         [ -  + ][ +  - ]
                 [ +  - ]
           [ -  +  #  # ]
     512 [ #  # ][ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_GLUE_EDITMODE, sal_True));
                 [ #  # ]
     513                 :            :     else
     514 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_GLUE_EDITMODE, sal_False));
                 [ +  - ]
     515                 :            : 
     516 [ +  - ][ +  + ]:       6385 :     if( !mpDrawView->IsMirrorAllowed( sal_True, sal_True ) )
     517                 :            :     {
     518         [ +  - ]:       6382 :         rSet.DisableItem( SID_HORIZONTAL );
     519         [ +  - ]:       6382 :         rSet.DisableItem( SID_VERTICAL );
     520                 :            :     }
     521                 :            : 
     522 [ +  - ][ +  + ]:       6385 :     if( !mpDrawView->IsMirrorAllowed() )
     523                 :            :     {
     524         [ +  - ]:       6382 :         rSet.DisableItem( SID_OBJECT_MIRROR );
     525                 :            : //        rSet.DisableItem( SID_CONVERT_TO_3D_LATHE );
     526                 :            : //        rSet.DisableItem( SID_CONVERT_TO_3D_LATHE_FAST );
     527                 :            :     }
     528                 :            : 
     529                 :            :     // interactive transparence control
     530 [ +  - ][ +  + ]:       6385 :     if(!mpDrawView->IsTransparenceAllowed())
     531                 :            :     {
     532         [ +  - ]:       6382 :         rSet.DisableItem( SID_OBJECT_TRANSPARENCE );
     533                 :            :     }
     534                 :            : 
     535                 :            :     // interactive gradient control
     536 [ +  - ][ +  - ]:       6385 :     if(!mpDrawView->IsGradientAllowed())
     537                 :            :     {
     538         [ +  - ]:       6385 :         rSet.DisableItem( SID_OBJECT_GRADIENT );
     539                 :            :     }
     540                 :            : 
     541                 :            :     // Morphen ggf. disablen
     542 [ +  - ][ +  - ]:       6385 :     if ( !mpDrawView->IsMorphingAllowed() )
     543         [ +  - ]:       6385 :         rSet.DisableItem( SID_POLYGON_MORPHING );
     544                 :            : 
     545                 :            :     // Vectorize ggf. disablen
     546 [ +  - ][ +  - ]:       6385 :     if ( !mpDrawView->IsVectorizeAllowed() )
     547         [ +  - ]:       6385 :         rSet.DisableItem( SID_VECTORIZE );
     548                 :            : 
     549 [ +  - ][ +  - ]:       6385 :     if( !mpDrawView->IsReverseOrderPossible() )
     550                 :            :     {
     551         [ +  - ]:       6385 :         rSet.DisableItem( SID_REVERSE_ORDER );
     552                 :            :     }
     553                 :            : 
     554 [ +  + ][ +  - ]:      12767 :     if ( !bConvertToPathPossible &&
                 [ +  + ]
     555         [ +  - ]:       6382 :          !mpDrawView->IsCrookAllowed( mpDrawView->IsCrookNoContortion() ) )
     556                 :            :     {
     557                 :            :         // Implizite Wandlung in Kurve nicht moeglich
     558         [ +  - ]:       6382 :         rSet.DisableItem(SID_OBJECT_CROOK_ROTATE);
     559         [ +  - ]:       6382 :         rSet.DisableItem(SID_OBJECT_CROOK_SLANT);
     560         [ +  - ]:       6382 :         rSet.DisableItem(SID_OBJECT_CROOK_STRETCH);
     561                 :            :     }
     562                 :            : 
     563 [ +  - ][ +  - ]:       6385 :     if ( !mpDrawView->IsGroupEntered() )
     564                 :            :     {
     565         [ +  - ]:       6385 :         rSet.DisableItem( SID_LEAVE_GROUP );
     566 [ +  - ][ +  - ]:       6385 :         rSet.Put( SfxBoolItem( SID_LEAVE_ALL_GROUPS, sal_False ) );
                 [ +  - ]
     567         [ +  - ]:       6385 :         rSet.ClearItem( SID_LEAVE_ALL_GROUPS );
     568         [ +  - ]:       6385 :         rSet.DisableItem( SID_LEAVE_ALL_GROUPS );
     569                 :            :     }
     570                 :            :     else
     571 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxBoolItem( SID_LEAVE_ALL_GROUPS, sal_True ) );
                 [ #  # ]
     572                 :            : 
     573 [ +  - ][ -  + ]:       6385 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_THESAURUS ) )
     574                 :            :     {
     575 [ #  # ][ #  # ]:          0 :         if ( !mpDrawView->IsTextEdit() )
     576                 :            :         {
     577         [ #  # ]:          0 :             rSet.DisableItem( SID_THESAURUS );
     578                 :            :         }
     579                 :            :         else
     580                 :            :         {
     581 [ #  # ][ #  # ]:          0 :             LanguageType            eLang = GetDoc()->GetLanguage( EE_CHAR_LANGUAGE );
     582         [ #  # ]:          0 :             Reference< XThesaurus > xThesaurus( LinguMgr::GetThesaurus() );
     583                 :          0 :             Locale                  aLocale;
     584                 :            : 
     585         [ #  # ]:          0 :             SvxLanguageToLocale( aLocale, eLang );
     586                 :            : 
     587 [ #  # ][ #  # ]:          0 :             if (!xThesaurus.is() || eLang == LANGUAGE_NONE || !xThesaurus->hasLocale(aLocale) )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     588         [ #  # ]:          0 :                 rSet.DisableItem( SID_THESAURUS );
     589                 :            :         }
     590                 :            :     }
     591                 :            : 
     592 [ +  - ][ +  - ]:       6385 :     if ( !mpDrawView->IsTextEdit() )
     593                 :            :     {
     594         [ +  - ]:       6385 :         rSet.DisableItem( SID_THESAURUS );
     595                 :            :     }
     596                 :            : 
     597 [ +  - ][ +  - ]:      12770 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_SELECTALL ) ||
         [ -  + ][ -  + ]
     598         [ +  - ]:       6385 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_SIZE_ALL ) )
     599                 :            :     {
     600 [ #  # ][ #  # ]:          0 :         if( pPageView && pPageView->GetObjList()->GetObjCount() == 0 )
         [ #  # ][ #  # ]
     601                 :            :         {
     602                 :            :             // Sollte disabled sein, wenn kein Objekt auf der Zeichenflaeche ist:
     603         [ #  # ]:          0 :             rSet.DisableItem( SID_SELECTALL );
     604         [ #  # ]:          0 :             rSet.DisableItem( SID_SIZE_ALL );
     605                 :            :         }
     606                 :            :     }
     607                 :            : 
     608 [ +  - ][ +  + ]:       6385 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONTEXT ) )
     609 [ +  - ][ +  - ]:        248 :         rSet.Put( SfxStringItem( SID_CONTEXT, mpDrawView->GetStatusText() ) );
         [ +  - ][ +  - ]
                 [ +  - ]
     610                 :            : 
     611                 :            :     // clipboard (paste)
     612 [ +  - ][ +  + ]:      18667 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE ) ||
         [ +  - ][ +  + ]
                 [ +  + ]
     613         [ +  - ]:       6141 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_PASTE_SPECIAL ) ||
     614         [ +  - ]:       6141 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
     615                 :            :     {
     616         [ +  + ]:        369 :         if ( !mpClipEvtLstnr )
     617                 :            :         {
     618                 :            :             // avoid clipboard initialization for
     619                 :            :             // read-only presentation views (workaround for NT4.0
     620                 :            :             // clipboard prob...)
     621 [ +  - ][ +  - ]:        125 :             if( !ISA(PresentationViewShell) )
                 [ +  - ]
     622                 :            :             {
     623                 :            :                 // create listener
     624 [ +  - ][ +  - ]:        125 :                 mpClipEvtLstnr = new TransferableClipboardListener( LINK( this, DrawViewShell, ClipboardChanged ) );
     625                 :        125 :                 mpClipEvtLstnr->acquire();
     626 [ +  - ][ +  - ]:        125 :                 mpClipEvtLstnr->AddRemoveListener( GetActiveWindow(), sal_True );
     627                 :            : 
     628                 :            :                 // get initial state
     629 [ +  - ][ +  - ]:        125 :                 TransferableDataHelper aDataHelper( TransferableDataHelper::CreateFromSystemClipboard( GetActiveWindow() ) );
     630 [ +  - ][ +  - ]:        125 :                 mbPastePossible = ( aDataHelper.GetFormatCount() != 0 );
     631                 :            :             }
     632                 :            :             else
     633                 :          0 :                 mbPastePossible = sal_False;
     634                 :            :         }
     635                 :            : 
     636         [ +  - ]:        369 :         if( !mbPastePossible )
     637                 :            :         {
     638         [ +  - ]:        369 :             rSet.DisableItem( SID_PASTE );
     639         [ +  - ]:        369 :             rSet.DisableItem( SID_PASTE_SPECIAL );
     640         [ +  - ]:        369 :             rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
     641                 :            :         }
     642 [ #  # ][ #  # ]:          0 :         else if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CLIPBOARD_FORMAT_ITEMS ) )
     643                 :            :         {
     644         [ #  # ]:          0 :             if (mpCurrentClipboardFormats.get() != NULL)
     645         [ #  # ]:          0 :                 rSet.Put(*mpCurrentClipboardFormats);
     646                 :            :         }
     647                 :            :     }
     648                 :            : 
     649         [ +  + ]:       6385 :     if ( !bConvertToPathPossible )
     650                 :            :     {
     651         [ +  - ]:       6382 :         rSet.DisableItem(SID_CHANGEBEZIER);
     652                 :            :     }
     653                 :            : 
     654         [ +  - ]:       6385 :     if (mpDrawView == NULL)
     655                 :            :     {
     656                 :            :         // The mpDrawView was not NULL but is now.
     657                 :            :         // The reason for this may be that the DrawViewShell has been
     658                 :            :         // destroyed in the mean time.
     659                 :            :         // We can only return immediately and hope that the deleted
     660                 :            :         // DrawViewShell is not called again.
     661                 :            :         DBG_ASSERT(mpDrawView!=NULL, "Please report this assertion to the Impress team.");
     662                 :            :         return;
     663                 :            :     }
     664                 :            : 
     665 [ +  - ][ +  + ]:       6385 :     if( !( mpDrawView->IsConvertToPolyObjPossible(sal_False) || mpDrawView->IsVectorizeAllowed() ) )
         [ +  - ][ +  - ]
                 [ +  + ]
     666         [ +  - ]:       6382 :         rSet.DisableItem(SID_CHANGEPOLYGON);
     667                 :            : 
     668 [ +  - ][ +  + ]:       6385 :     if( !( mpDrawView->IsConvertToPolyObjPossible(sal_False) || mpDrawView->IsConvertToContourPossible() ) )
         [ +  - ][ +  - ]
                 [ +  + ]
     669         [ +  - ]:       6382 :         rSet.DisableItem(SID_CONVERT_TO_CONTOUR);
     670                 :            : 
     671 [ +  - ][ +  + ]:       6385 :     if ( !mpDrawView->IsConvertTo3DObjPossible() )
     672                 :            :     {
     673         [ +  - ]:       6382 :         rSet.DisableItem(SID_CONVERT_TO_3D);
     674         [ +  - ]:       6382 :         rSet.DisableItem(SID_CONVERT_TO_3D_LATHE);
     675         [ +  - ]:       6382 :         rSet.DisableItem(SID_CONVERT_TO_3D_LATHE_FAST);
     676                 :            :     }
     677                 :            : 
     678 [ +  - ][ -  + ]:       6385 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_MANAGE_LINKS ) )
     679                 :            :     {
     680 [ #  # ][ #  # ]:          0 :         if ( GetDoc()->GetLinkCount() == 0 )
                 [ #  # ]
     681                 :            :         {
     682         [ #  # ]:          0 :             rSet.DisableItem(SID_MANAGE_LINKS);
     683                 :            :         }
     684                 :            :     }
     685                 :            : 
     686         [ -  + ]:       6385 :     if (mePageKind == PK_HANDOUT)
     687                 :            :     {
     688         [ #  # ]:          0 :         rSet.DisableItem(SID_PRESENTATION_LAYOUT);
     689         [ #  # ]:          0 :         rSet.DisableItem(SID_SELECT_BACKGROUND);
     690                 :            :     }
     691                 :            : 
     692         [ -  + ]:       6385 :     if (mePageKind == PK_NOTES)
     693                 :            :     {
     694         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTPAGE);
     695         [ #  # ]:          0 :         rSet.DisableItem(SID_RENAMEPAGE);
     696         [ #  # ]:          0 :         rSet.DisableItem(SID_RENAMEPAGE_QUICK);
     697         [ #  # ]:          0 :         rSet.DisableItem(SID_DUPLICATE_PAGE);
     698         [ #  # ]:          0 :         rSet.ClearItem(SID_ANIMATION_OBJECTS);
     699         [ #  # ]:          0 :         rSet.DisableItem(SID_ANIMATION_OBJECTS);
     700         [ #  # ]:          0 :         rSet.DisableItem(SID_ANIMATION_EFFECTS);
     701                 :            : 
     702         [ #  # ]:          0 :         if (meEditMode == EM_MASTERPAGE)
     703         [ #  # ]:          0 :             rSet.DisableItem(SID_MODIFYPAGE);
     704                 :            : 
     705         [ #  # ]:          0 :         rSet.DisableItem(SID_SELECT_BACKGROUND);
     706         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTLAYER);
     707         [ #  # ]:          0 :         rSet.DisableItem(SID_LAYERMODE);
     708         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTFILE);
     709                 :            :     }
     710         [ -  + ]:       6385 :     else if (mePageKind == PK_HANDOUT)
     711                 :            :     {
     712         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTPAGE);
     713         [ #  # ]:          0 :         rSet.DisableItem(SID_DUPLICATE_PAGE);
     714         [ #  # ]:          0 :         rSet.ClearItem(SID_ANIMATION_OBJECTS);
     715         [ #  # ]:          0 :         rSet.DisableItem(SID_ANIMATION_OBJECTS);
     716         [ #  # ]:          0 :         rSet.DisableItem(SID_ANIMATION_EFFECTS);
     717         [ #  # ]:          0 :         rSet.DisableItem(SID_RENAMEPAGE);
     718         [ #  # ]:          0 :         rSet.DisableItem(SID_RENAMEPAGE_QUICK);
     719         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTLAYER);
     720         [ #  # ]:          0 :         rSet.DisableItem(SID_MODIFYLAYER);
     721         [ #  # ]:          0 :         rSet.DisableItem(SID_RENAMELAYER);
     722         [ #  # ]:          0 :         rSet.DisableItem(SID_LAYERMODE);
     723         [ #  # ]:          0 :         rSet.DisableItem(SID_INSERTFILE);
     724         [ #  # ]:          0 :         rSet.DisableItem(SID_PAGEMODE);
     725         [ #  # ]:          0 :         rSet.DisableItem(SID_SELECT_BACKGROUND);
     726                 :            :     }
     727                 :            :     else
     728                 :            :     {
     729         [ -  + ]:       6385 :         if (meEditMode == EM_MASTERPAGE)
     730                 :            :         {
     731         [ #  # ]:          0 :             rSet.DisableItem(SID_INSERTPAGE);
     732         [ #  # ]:          0 :             rSet.DisableItem(SID_DUPLICATE_PAGE);
     733         [ #  # ]:          0 :             rSet.DisableItem(SID_MODIFYPAGE);
     734         [ #  # ]:          0 :             rSet.ClearItem(SID_ANIMATION_OBJECTS);
     735         [ #  # ]:          0 :             rSet.DisableItem(SID_ANIMATION_OBJECTS);
     736                 :            :         }
     737                 :            : 
     738 [ +  - ][ +  - ]:       6385 :         rSet.Put (SfxBoolItem (SID_LAYERMODE, IsLayerModeActive()));
         [ +  - ][ +  - ]
     739                 :            :     }
     740                 :            : 
     741 [ +  - ][ +  + ]:       6385 :     if ( ! IsLayerModeActive())
     742                 :            :     {
     743         [ +  - ]:       1348 :         rSet.DisableItem( SID_INSERTLAYER );
     744         [ +  - ]:       1348 :         rSet.DisableItem( SID_MODIFYLAYER );
     745         [ +  - ]:       1348 :         rSet.DisableItem( SID_DELETE_LAYER );
     746         [ +  - ]:       1348 :         rSet.DisableItem( SID_RENAMELAYER );
     747                 :            :     }
     748                 :            : 
     749         [ +  - ]:       6385 :     if (meEditMode == EM_PAGE)
     750                 :            :     {
     751                 :            :         /**********************************************************************
     752                 :            :         * Seiten-Modus
     753                 :            :         **********************************************************************/
     754 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_PAGEMODE, sal_True));
                 [ +  - ]
     755 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_MASTERPAGE, sal_False));
                 [ +  - ]
     756 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_SLIDE_MASTERPAGE, sal_False));
                 [ +  - ]
     757 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_NOTES_MASTERPAGE, sal_False));
                 [ +  - ]
     758 [ +  - ][ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_HANDOUT_MASTERPAGE, sal_False));
                 [ +  - ]
     759                 :            : 
     760 [ +  - ][ -  + ]:      12770 :         if (mePageKind == PK_STANDARD &&
                 [ -  + ]
     761         [ +  - ]:       6385 :             rSet.GetItemState(SID_TITLE_MASTERPAGE) == SFX_ITEM_AVAILABLE)
     762                 :            :         {
     763                 :            :             // Gibt es eine Seite mit dem AutoLayout "Titel"?
     764                 :          0 :             sal_Bool bDisable = sal_True;
     765                 :          0 :             sal_uInt16 i = 0;
     766 [ #  # ][ #  # ]:          0 :             sal_uInt16 nCount = GetDoc()->GetSdPageCount(PK_STANDARD);
     767                 :            : 
     768 [ #  # ][ #  # ]:          0 :             while (i < nCount && bDisable)
                 [ #  # ]
     769                 :            :             {
     770 [ #  # ][ #  # ]:          0 :                 SdPage* pPage = GetDoc()->GetSdPage(i, PK_STANDARD);
     771                 :            : 
     772         [ #  # ]:          0 :                 if (pPage->GetAutoLayout() == AUTOLAYOUT_TITLE)
     773                 :            :                 {
     774                 :          0 :                     bDisable = sal_False;
     775                 :            :                 }
     776                 :            : 
     777                 :          0 :                 i++;
     778                 :            :             }
     779                 :            : 
     780         [ #  # ]:          0 :             if (bDisable)
     781                 :            :             {
     782         [ #  # ]:          0 :                 rSet.DisableItem(SID_TITLE_MASTERPAGE);
     783                 :            :             }
     784                 :            :             else
     785                 :            :             {
     786 [ #  # ][ #  # ]:          0 :                 rSet.Put(SfxBoolItem(SID_TITLE_MASTERPAGE, sal_False));
                 [ #  # ]
     787                 :            :             }
     788                 :            :         }
     789                 :            :         else
     790                 :            :         {
     791         [ +  - ]:       6385 :             rSet.DisableItem(SID_TITLE_MASTERPAGE);
     792                 :            :         }
     793                 :            : 
     794         [ +  - ]:       6385 :         rSet.DisableItem (SID_INSERT_MASTER_PAGE);
     795         [ +  - ]:       6385 :         rSet.DisableItem (SID_DELETE_MASTER_PAGE);
     796         [ +  - ]:       6385 :         rSet.DisableItem (SID_RENAME_MASTER_PAGE);
     797         [ +  - ]:       6385 :         rSet.DisableItem (SID_CLOSE_MASTER_VIEW);
     798                 :            :     }
     799                 :            :     else
     800                 :            :     {
     801 [ #  # ][ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_PAGEMODE, sal_False));
                 [ #  # ]
     802 [ #  # ][ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_MASTERPAGE, sal_True));
                 [ #  # ]
     803                 :            : 
     804                 :            :         /**********************************************************************
     805                 :            :         * Hintergrundseiten-Modus
     806                 :            :         **********************************************************************/
     807         [ #  # ]:          0 :         if (mePageKind == PK_STANDARD)
     808                 :            :         {
     809 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_SLIDE_MASTERPAGE, sal_True));
                 [ #  # ]
     810 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_NOTES_MASTERPAGE, sal_False));
                 [ #  # ]
     811 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_HANDOUT_MASTERPAGE, sal_False));
                 [ #  # ]
     812                 :            : 
     813 [ #  # ][ #  # ]:          0 :             if (rSet.GetItemState(SID_TITLE_MASTERPAGE) == SFX_ITEM_AVAILABLE)
     814                 :            :             {
     815                 :          0 :                 sal_Bool bCheck = sal_False;
     816                 :          0 :                 sal_Bool bDisable = sal_True;
     817         [ #  # ]:          0 :                 if( pPageView )
     818                 :            :                 {
     819         [ #  # ]:          0 :                     SdPage* pMPage = dynamic_cast< SdPage* >( pPageView->GetPage() );
     820                 :            : 
     821                 :          0 :                     sal_uInt16 i = 0;
     822 [ #  # ][ #  # ]:          0 :                     sal_uInt16 nCount = GetDoc()->GetSdPageCount(PK_STANDARD);
     823                 :            : 
     824                 :            :                     // Referenziert eine Seite mit dem AutoLayout "Titel" die
     825                 :            :                     // aktuelle MasterPage?
     826 [ #  # ][ #  # ]:          0 :                     while (i < nCount && !bCheck && bDisable)
         [ #  # ][ #  # ]
     827                 :            :                     {
     828 [ #  # ][ #  # ]:          0 :                         SdPage* pPage = GetDoc()->GetSdPage(i, PK_STANDARD);
     829                 :            : 
     830                 :            :                         // Seite referenziert aktuelle MasterPage
     831         [ #  # ]:          0 :                         if (pPage->GetAutoLayout() == AUTOLAYOUT_TITLE)
     832                 :            :                         {
     833                 :            :                             // Eine Seite hat das AutoLayout "Titel"
     834                 :          0 :                             bDisable = sal_False;
     835                 :            : 
     836         [ #  # ]:          0 :                             SdPage& rRefMPage = (SdPage&)(pPage->TRG_GetMasterPage());
     837                 :            : 
     838         [ #  # ]:          0 :                             if(&rRefMPage == pMPage)
     839                 :            :                             {
     840                 :            :                                 // Eine Seite mit dem AutoLayout "Titel"
     841                 :            :                                 // referenziert die aktuelle MasterPage
     842                 :          0 :                                 bCheck = sal_True;
     843                 :            :                             }
     844                 :            :                         }
     845                 :            : 
     846                 :          0 :                         i++;
     847                 :            :                     }
     848                 :            :                 }
     849                 :            : 
     850         [ #  # ]:          0 :                 if (bCheck)
     851                 :            :                 {
     852 [ #  # ][ #  # ]:          0 :                     rSet.Put(SfxBoolItem(SID_SLIDE_MASTERPAGE, sal_False));
                 [ #  # ]
     853                 :            :                 }
     854                 :            : 
     855 [ #  # ][ #  # ]:          0 :                 rSet.Put(SfxBoolItem(SID_TITLE_MASTERPAGE, bCheck));
                 [ #  # ]
     856                 :            : 
     857         [ #  # ]:          0 :                 if (bDisable)
     858                 :            :                 {
     859         [ #  # ]:          0 :                     rSet.ClearItem(SID_TITLE_MASTERPAGE);
     860         [ #  # ]:          0 :                     rSet.DisableItem(SID_TITLE_MASTERPAGE);
     861                 :            :                 }
     862                 :            :             }
     863                 :            :         }
     864         [ #  # ]:          0 :         else if (mePageKind == PK_NOTES)
     865                 :            :         {
     866 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_SLIDE_MASTERPAGE, sal_False));
                 [ #  # ]
     867         [ #  # ]:          0 :             rSet.DisableItem(SID_TITLE_MASTERPAGE);
     868 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_NOTES_MASTERPAGE, sal_True));
                 [ #  # ]
     869 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_HANDOUT_MASTERPAGE, sal_False));
                 [ #  # ]
     870                 :            :         }
     871         [ #  # ]:          0 :         else if (mePageKind == PK_HANDOUT)
     872                 :            :         {
     873 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_SLIDE_MASTERPAGE, sal_False));
                 [ #  # ]
     874         [ #  # ]:          0 :             rSet.DisableItem(SID_TITLE_MASTERPAGE);
     875 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_NOTES_MASTERPAGE, sal_False));
                 [ #  # ]
     876 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_HANDOUT_MASTERPAGE, sal_True));
                 [ #  # ]
     877                 :            :         }
     878                 :            :     }
     879                 :            : 
     880                 :            :     // Status der Lineale setzen
     881 [ +  - ][ -  + ]:       6385 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_RULER ) )
     882 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxBoolItem( SID_RULER, HasRuler() ) );
         [ #  # ][ #  # ]
     883                 :            : 
     884                 :            :     // nicht die letzte Seite oder eine Masterpage loeschen
     885 [ +  - ][ +  - ]:      12770 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DELETE_PAGE )
         [ -  + ][ -  + ]
     886         [ +  - ]:       6385 :         || SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DELETE_MASTER_PAGE ) )
     887                 :            :     {
     888 [ #  # ][ #  # ]:          0 :         if (maTabControl.GetPageCount() == 1 ||
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     889                 :            :             meEditMode == EM_MASTERPAGE     ||
     890                 :            :             mePageKind == PK_NOTES          ||
     891                 :            :             mePageKind == PK_HANDOUT        ||
     892 [ #  # ][ #  # ]:          0 :             (GetShellType()!=ST_DRAW&&IsLayerModeActive()))
     893                 :            :         {
     894 [ #  # ][ #  # ]:          0 :             if (rSet.GetItemState(SID_DELETE_PAGE) == SFX_ITEM_AVAILABLE)
     895         [ #  # ]:          0 :                 rSet.DisableItem(SID_DELETE_PAGE);
     896 [ #  # ][ #  # ]:          0 :             if (rSet.GetItemState(SID_DELETE_MASTER_PAGE)==SFX_ITEM_AVAILABLE)
     897         [ #  # ]:          0 :                 rSet.DisableItem(SID_DELETE_MASTER_PAGE);
     898                 :            :         }
     899                 :            :     }
     900                 :            : 
     901                 :            :     // darf der aktuelle Layer geloescht werden?
     902 [ +  - ][ -  + ]:       6385 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DELETE_LAYER ) )
     903                 :            :     {
     904         [ #  # ]:          0 :         sal_uInt16        nCurrentLayer = GetLayerTabControl()->GetCurPageId();
     905 [ #  # ][ #  # ]:          0 :         const String& rName         = GetLayerTabControl()->GetPageText(nCurrentLayer);
     906                 :            : 
     907         [ #  # ]:          0 :         sal_Bool bDisableIt = !IsLayerModeActive();
     908 [ #  # ][ #  # ]:          0 :         bDisableIt |= (rName == String(SdResId(STR_LAYER_LAYOUT)));
         [ #  # ][ #  # ]
     909 [ #  # ][ #  # ]:          0 :         bDisableIt |= (rName == String(SdResId(STR_LAYER_BCKGRND)));
         [ #  # ][ #  # ]
     910 [ #  # ][ #  # ]:          0 :         bDisableIt |= (rName == String(SdResId(STR_LAYER_BCKGRNDOBJ)));
         [ #  # ][ #  # ]
     911 [ #  # ][ #  # ]:          0 :         bDisableIt |= (rName == String(SdResId(STR_LAYER_CONTROLS)));
         [ #  # ][ #  # ]
     912 [ #  # ][ #  # ]:          0 :         bDisableIt |= (rName == String(SdResId(STR_LAYER_MEASURELINES)));
         [ #  # ][ #  # ]
     913                 :            : 
     914         [ #  # ]:          0 :         if (bDisableIt)
     915                 :            :         {
     916         [ #  # ]:          0 :             rSet.DisableItem(SID_DELETE_LAYER);
     917         [ #  # ]:          0 :             rSet.DisableItem(SID_RENAMELAYER);
     918         [ #  # ]:          0 :         }
     919                 :            :     }
     920                 :            : 
     921 [ +  - ][ +  + ]:      19153 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CUT ) ||
         [ +  - ][ -  + ]
                 [ +  + ]
     922         [ +  - ]:       6384 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_COPY ) ||
     923         [ +  - ]:       6384 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OUTLINE_BULLET ))
     924                 :            :     {
     925                 :          1 :         OutlinerView* pOlView = mpDrawView->GetTextEditOutlinerView();
     926                 :            : 
     927                 :            :         // Sonderbehandlung f�r SID_OUTLINE_BULLET wenn Objekte
     928                 :            :         // mit unterschiedlichen arten von NumBullet Items markiert
     929                 :            :         // sind
     930                 :          1 :         sal_Bool bHasOutliner = sal_False;
     931                 :          1 :         sal_Bool bHasOther    = sal_False;
     932         [ +  + ]:          2 :         for(sal_uLong nNum = 0; nNum < nMarkCount; nNum++)
     933                 :            :         {
     934 [ +  - ][ +  - ]:          1 :             SdrObject* pObj = rMarkList.GetMark(nNum)->GetMarkedSdrObj();
     935 [ +  - ][ +  - ]:          1 :             if( pObj->GetObjInventor() == SdrInventor )
     936                 :            :             {
     937 [ +  - ][ -  + ]:          1 :                 if( pObj->GetObjIdentifier() == OBJ_OUTLINETEXT )
     938                 :            :                 {
     939                 :          0 :                     bHasOutliner = sal_True;
     940         [ #  # ]:          0 :                     if(bHasOther)
     941                 :          0 :                         break;
     942                 :            :                 }
     943                 :            :                 else
     944                 :            :                 {
     945                 :          1 :                     bHasOther = sal_True;
     946         [ -  + ]:          1 :                     if(bHasOutliner)
     947                 :          0 :                         break;
     948                 :            :                 }
     949                 :            :             }
     950                 :            :         }
     951                 :            : 
     952 [ +  - ][ -  + ]:          1 :         if( bHasOther && bHasOutliner )
     953         [ #  # ]:          0 :             rSet.DisableItem( SID_OUTLINE_BULLET );
     954                 :            : 
     955         [ -  + ]:          1 :         if (pOlView)
     956                 :            :         {
     957 [ #  # ][ #  # ]:          0 :             if ( pOlView->GetSelected().Len() == 0 )
                 [ #  # ]
     958                 :            :             {
     959         [ #  # ]:          0 :                 rSet.DisableItem( SID_CUT );
     960         [ #  # ]:          0 :                 rSet.DisableItem( SID_COPY );
     961                 :            :             }
     962                 :            :         }
     963                 :            : 
     964                 :            :     }
     965                 :            : 
     966 [ +  - ][ +  - ]:       6385 :     FuBullet::GetSlotState( rSet, this, GetViewFrame() );
     967                 :            : 
     968 [ +  - ][ +  - ]:       6385 :     if ( GetDocSh()->IsUIActive() )
                 [ -  + ]
     969                 :            :     {
     970         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_OBJECT );
     971         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_PLUGIN );
     972         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_SOUND );
     973         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_VIDEO );
     974         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLOATINGFRAME );
     975         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_MATH );
     976         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_DIAGRAM );
     977         [ #  # ]:          0 :         rSet.DisableItem( SID_ATTR_TABLE );
     978         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_REAL );
     979         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_OPTIMAL );
     980         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_ALL );
     981         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_PAGE_WIDTH );
     982         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_PAGE );
     983         [ #  # ]:          0 :         rSet.DisableItem( SID_DUPLICATE_PAGE );
     984         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_TOOLBOX );
     985                 :            :     }
     986                 :            : 
     987                 :            :     // Zoom-Stati
     988 [ +  - ][ +  - ]:      19155 :     if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ZOOM_IN ) ||
         [ +  - ][ -  + ]
                 [ -  + ]
     989         [ +  - ]:       6385 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ZOOM_OUT )||
     990         [ +  - ]:       6385 :         SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ZOOM_PANNING ) )
     991                 :            :     {
     992 [ #  # ][ #  # ]:          0 :         if( GetActiveWindow()->GetZoom() <= GetActiveWindow()->GetMinZoom() || GetDocSh()->IsUIActive() )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     993                 :            :         {
     994         [ #  # ]:          0 :             rSet.DisableItem( SID_ZOOM_IN );
     995         [ #  # ]:          0 :             rSet.DisableItem( SID_ZOOM_PANNING );
     996                 :            :         }
     997 [ #  # ][ #  # ]:          0 :         if( GetActiveWindow()->GetZoom() >= GetActiveWindow()->GetMaxZoom() || GetDocSh()->IsUIActive() )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     998         [ #  # ]:          0 :             rSet.DisableItem( SID_ZOOM_OUT );
     999                 :            :     }
    1000                 :            : 
    1001 [ +  - ][ +  - ]:       6385 :     if (!mpZoomList->IsNextPossible())
    1002                 :            :     {
    1003         [ +  - ]:       6385 :        rSet.DisableItem(SID_ZOOM_NEXT);
    1004                 :            :     }
    1005 [ +  - ][ +  + ]:       6385 :     if (!mpZoomList->IsPreviousPossible())
    1006                 :            :     {
    1007         [ +  - ]:        138 :        rSet.DisableItem(SID_ZOOM_PREV);
    1008                 :            :     }
    1009                 :            : 
    1010                 :            :     // EditText aktiv
    1011 [ +  - ][ +  - ]:       6385 :     if (GetViewShellBase().GetViewShellManager()->GetShell(RID_DRAW_TEXT_TOOLBOX) != NULL)
         [ +  - ][ +  - ]
                 [ -  + ]
    1012                 :            :     {
    1013                 :          0 :         sal_uInt16 nCurrentSId = SID_ATTR_CHAR;
    1014                 :            : 
    1015 [ #  # ][ #  # ]:          0 :         if(HasCurrentFunction())
    1016                 :            :         {
    1017 [ #  # ][ #  # ]:          0 :             nCurrentSId = GetCurrentFunction()->GetSlotID();
    1018                 :            :         }
    1019 [ #  # ][ #  # ]:          0 :         if( nCurrentSId != SID_TEXT_FITTOSIZE &&
                 [ #  # ]
    1020                 :            :             nCurrentSId != SID_TEXT_FITTOSIZE_VERTICAL &&
    1021                 :            :             nCurrentSId != SID_ATTR_CHAR_VERTICAL )
    1022                 :          0 :             nCurrentSId = SID_ATTR_CHAR;
    1023                 :            : 
    1024 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxBoolItem( nCurrentSId, sal_True ) );
                 [ #  # ]
    1025                 :            : 
    1026                 :            :         // Kurzform von UpdateToolboxImages()
    1027 [ #  # ][ #  # ]:          0 :         rSet.Put( TbxImageItem( SID_DRAWTBX_TEXT, nCurrentSId ) );
                 [ #  # ]
    1028                 :            :     }
    1029                 :            : 
    1030 [ +  - ][ +  - ]:       6385 :     if ( GetDocSh()->IsReadOnly() )
                 [ -  + ]
    1031                 :            :     {
    1032         [ #  # ]:          0 :         rSet.DisableItem( SID_AUTOSPELL_CHECK );
    1033                 :            :     }
    1034                 :            :     else
    1035                 :            :     {
    1036 [ +  - ][ +  - ]:       6385 :         if (GetDoc()->GetOnlineSpell())
    1037                 :            :         {
    1038 [ +  - ][ +  - ]:       6385 :             rSet.Put(SfxBoolItem(SID_AUTOSPELL_CHECK, sal_True));
                 [ +  - ]
    1039                 :            :         }
    1040                 :            :         else
    1041                 :            :         {
    1042 [ #  # ][ #  # ]:          0 :             rSet.Put(SfxBoolItem(SID_AUTOSPELL_CHECK, sal_False));
                 [ #  # ]
    1043                 :            :         }
    1044                 :            :     }
    1045                 :            : 
    1046                 :       6385 :     SdrPageView* pPV = mpDrawView->GetSdrPageView();
    1047         [ +  - ]:       6385 :     String aActiveLayer = mpDrawView->GetActiveLayer();
    1048                 :            : 
    1049 [ +  - ][ +  - ]:      19155 :     if ( ( aActiveLayer.Len() != 0 && pPV && ( pPV->IsLayerLocked(aActiveLayer) ||
         [ +  - ][ +  - ]
           [ +  -  -  + ]
                 [ -  + ]
    1050         [ +  - ]:       6385 :           !pPV->IsLayerVisible(aActiveLayer) ) ) ||
    1051         [ +  - ]:       6385 :           SD_MOD()->GetWaterCan() )
    1052                 :            :     {
    1053         [ #  # ]:          0 :         rSet.DisableItem( SID_PASTE );
    1054         [ #  # ]:          0 :         rSet.DisableItem( SID_PASTE_SPECIAL );
    1055         [ #  # ]:          0 :         rSet.DisableItem( SID_CLIPBOARD_FORMAT_ITEMS );
    1056                 :            : 
    1057         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_DATE_FIX );
    1058         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_DATE_VAR );
    1059         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_TIME_FIX );
    1060         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_TIME_VAR );
    1061         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_AUTHOR );
    1062         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_PAGE );
    1063         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_PAGES );
    1064         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLD_FILE );
    1065                 :            : 
    1066         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_GRAPHIC );
    1067         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_AVMEDIA );
    1068         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_DIAGRAM );
    1069         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_OBJECT );
    1070         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_PLUGIN );
    1071         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_SOUND );
    1072         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_VIDEO );
    1073         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FLOATINGFRAME );
    1074                 :            : 
    1075         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_MATH );
    1076         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_FRAME );
    1077         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERTFILE );
    1078         [ #  # ]:          0 :         rSet.DisableItem( SID_ATTR_TABLE );
    1079         [ #  # ]:          0 :         rSet.DisableItem( SID_COPYOBJECTS );
    1080                 :            : 
    1081         [ #  # ]:          0 :         rSet.DisableItem( SID_SCAN );
    1082         [ #  # ]:          0 :         rSet.DisableItem( SID_TWAIN_SELECT );
    1083         [ #  # ]:          0 :         rSet.DisableItem( SID_TWAIN_TRANSFER );
    1084                 :            : 
    1085                 :            : //        rSet.DisableItem( SID_BEZIER_EDIT );
    1086         [ #  # ]:          0 :         rSet.DisableItem( SID_GLUE_EDITMODE );
    1087         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_ROTATE );
    1088         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_SHEAR );
    1089         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_MIRROR );
    1090         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_CROP );
    1091         [ #  # ]:          0 :         rSet.DisableItem( SID_ATTR_GRAF_CROP );
    1092         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_TRANSPARENCE );
    1093         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_GRADIENT );
    1094         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_CROOK_ROTATE );
    1095         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_CROOK_SLANT );
    1096         [ #  # ]:          0 :         rSet.DisableItem( SID_OBJECT_CROOK_STRETCH );
    1097                 :            : 
    1098                 :            :         // Alle objekterzeugenden Werkzeuge disablen
    1099         [ #  # ]:          0 :         rSet.ClearItem( SID_ATTR_CHAR );
    1100         [ #  # ]:          0 :         rSet.DisableItem( SID_ATTR_CHAR );
    1101         [ #  # ]:          0 :         rSet.ClearItem( SID_ATTR_CHAR_VERTICAL );
    1102         [ #  # ]:          0 :         rSet.DisableItem( SID_ATTR_CHAR_VERTICAL );
    1103         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_LINE);
    1104         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_LINE);
    1105         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_MEASURELINE);
    1106         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_MEASURELINE);
    1107         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_XLINE);
    1108         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_XLINE);
    1109         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_ARROW_START );
    1110         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_ARROW_START );
    1111         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_ARROW_END );
    1112         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_ARROW_END );
    1113         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_ARROWS );
    1114         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_ARROWS );
    1115         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_ARROW_CIRCLE );
    1116         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_ARROW_CIRCLE );
    1117         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_CIRCLE_ARROW );
    1118         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_CIRCLE_ARROW );
    1119         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_ARROW_SQUARE );
    1120         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_ARROW_SQUARE );
    1121         [ #  # ]:          0 :         rSet.ClearItem( SID_LINE_SQUARE_ARROW );
    1122         [ #  # ]:          0 :         rSet.DisableItem( SID_LINE_SQUARE_ARROW );
    1123                 :            : 
    1124         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_RECT);
    1125         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_RECT);
    1126         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_RECT_NOFILL);
    1127         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_RECT_NOFILL);
    1128         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_RECT_ROUND);
    1129         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_RECT_ROUND);
    1130         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_RECT_ROUND_NOFILL);
    1131         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_RECT_ROUND_NOFILL);
    1132         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_SQUARE);
    1133         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_SQUARE);
    1134         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_SQUARE_NOFILL);
    1135         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_SQUARE_NOFILL);
    1136         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_SQUARE_ROUND);
    1137         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_SQUARE_ROUND);
    1138         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_SQUARE_ROUND_NOFILL);
    1139         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_SQUARE_ROUND_NOFILL);
    1140         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_ELLIPSE);
    1141         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_ELLIPSE);
    1142         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_ELLIPSE_NOFILL);
    1143         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_ELLIPSE_NOFILL);
    1144         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLE);
    1145         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLE);
    1146         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLE_NOFILL);
    1147         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLE_NOFILL);
    1148         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CAPTION);
    1149         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CAPTION);
    1150         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_FONTWORK);
    1151         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_FONTWORK);
    1152         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_FONTWORK_VERTICAL);
    1153         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_FONTWORK_VERTICAL);
    1154         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CAPTION_VERTICAL);
    1155         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CAPTION_VERTICAL);
    1156         [ #  # ]:          0 :         rSet.ClearItem(SID_TEXT_FITTOSIZE);
    1157         [ #  # ]:          0 :         rSet.DisableItem(SID_TEXT_FITTOSIZE);
    1158         [ #  # ]:          0 :         rSet.ClearItem(SID_TEXT_FITTOSIZE_VERTICAL);
    1159         [ #  # ]:          0 :         rSet.DisableItem(SID_TEXT_FITTOSIZE_VERTICAL);
    1160         [ #  # ]:          0 :         rSet.ClearItem(SID_TOOL_CONNECTOR);
    1161         [ #  # ]:          0 :         rSet.DisableItem(SID_TOOL_CONNECTOR);
    1162         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_ARROW_START);
    1163         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_ARROW_START);
    1164         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_ARROW_END);
    1165         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_ARROW_END);
    1166         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_ARROWS);
    1167         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_ARROWS);
    1168         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CIRCLE_START);
    1169         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CIRCLE_START);
    1170         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CIRCLE_END);
    1171         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CIRCLE_END);
    1172         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CIRCLES);
    1173         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CIRCLES);
    1174         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE);
    1175         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE);
    1176         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_ARROW_START);
    1177         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_ARROW_START);
    1178         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_ARROW_END);
    1179         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_ARROW_END);
    1180         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_ARROWS);
    1181         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_ARROWS);
    1182         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_CIRCLE_START);
    1183         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_CIRCLE_START);
    1184         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_CIRCLE_END);
    1185         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_CIRCLE_END);
    1186         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINE_CIRCLES);
    1187         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINE_CIRCLES);
    1188         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE);
    1189         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE);
    1190         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_ARROW_START);
    1191         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_ARROW_START);
    1192         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_ARROW_END);
    1193         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_ARROW_END);
    1194         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_ARROWS);
    1195         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_ARROWS);
    1196         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_CIRCLE_START);
    1197         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_CIRCLE_START);
    1198         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_CIRCLE_END);
    1199         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_CIRCLE_END);
    1200         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_CURVE_CIRCLES);
    1201         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_CURVE_CIRCLES);
    1202         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES);
    1203         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES);
    1204         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_ARROW_START);
    1205         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_ARROW_START);
    1206         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_ARROW_END);
    1207         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_ARROW_END);
    1208         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_ARROWS);
    1209         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_ARROWS);
    1210         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_CIRCLE_START);
    1211         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_CIRCLE_START);
    1212         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_CIRCLE_END);
    1213         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_CIRCLE_END);
    1214         [ #  # ]:          0 :         rSet.ClearItem(SID_CONNECTOR_LINES_CIRCLES);
    1215         [ #  # ]:          0 :         rSet.DisableItem(SID_CONNECTOR_LINES_CIRCLES);
    1216         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_ARC);
    1217         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_ARC);
    1218         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLEARC);
    1219         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLEARC);
    1220         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_PIE);
    1221         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_PIE);
    1222         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_PIE_NOFILL);
    1223         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_PIE_NOFILL);
    1224         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLEPIE);
    1225         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLEPIE);
    1226         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLEPIE_NOFILL);
    1227         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLEPIE_NOFILL);
    1228         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_ELLIPSECUT);
    1229         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_ELLIPSECUT);
    1230         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_ELLIPSECUT_NOFILL);
    1231         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_ELLIPSECUT_NOFILL);
    1232         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLECUT);
    1233         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLECUT);
    1234         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_CIRCLECUT_NOFILL);
    1235         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_CIRCLECUT_NOFILL);
    1236         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_POLYGON);
    1237         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_POLYGON);
    1238         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_POLYGON_NOFILL);
    1239         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_POLYGON_NOFILL);
    1240         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_FREELINE);
    1241         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_FREELINE);
    1242         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_FREELINE_NOFILL);
    1243         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_FREELINE_NOFILL);
    1244         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_XPOLYGON);
    1245         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_XPOLYGON);
    1246         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_XPOLYGON_NOFILL);
    1247         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_XPOLYGON_NOFILL);
    1248         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_BEZIER_FILL);
    1249         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_BEZIER_FILL);
    1250         [ #  # ]:          0 :         rSet.ClearItem(SID_DRAW_BEZIER_NOFILL);
    1251         [ #  # ]:          0 :         rSet.DisableItem(SID_DRAW_BEZIER_NOFILL);
    1252         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_CUBE);
    1253         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_CUBE);
    1254         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_SHELL);
    1255         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_SHELL);
    1256         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_SPHERE);
    1257         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_SPHERE);
    1258         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_HALF_SPHERE);
    1259         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_HALF_SPHERE);
    1260         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_CYLINDER);
    1261         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_CYLINDER);
    1262         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_CONE);
    1263         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_CONE);
    1264         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_TORUS);
    1265         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_TORUS);
    1266         [ #  # ]:          0 :         rSet.ClearItem(SID_3D_PYRAMID);
    1267         [ #  # ]:          0 :         rSet.DisableItem(SID_3D_PYRAMID);
    1268                 :            :     }
    1269                 :            : 
    1270                 :            :     // Sind die Module verfuegbar?
    1271                 :            : 
    1272 [ +  - ][ +  - ]:       6385 :     if (!SvtModuleOptions().IsCalc())
         [ +  - ][ -  + ]
    1273                 :            :     {
    1274                 :            :         // remove menu entry if module is not available
    1275 [ #  # ][ #  # ]:          0 :         rSet.Put( SfxVisibilityItem( SID_ATTR_TABLE, sal_False ) );
                 [ #  # ]
    1276                 :            :     }
    1277 [ +  - ][ +  - ]:       6385 :     if (!SvtModuleOptions().IsChart())
         [ +  - ][ -  + ]
    1278                 :            :     {
    1279         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_DIAGRAM );
    1280                 :            :     }
    1281 [ +  - ][ +  - ]:       6385 :     if (!SvtModuleOptions().IsMath())
         [ +  - ][ -  + ]
    1282                 :            :     {
    1283         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERT_MATH );
    1284                 :            :     }
    1285                 :            : 
    1286 [ +  - ][ +  - ]:       6385 :     rtl::Reference< sd::SlideShow > xSlideshow( SlideShow::GetSlideShow( GetViewShellBase() ) );
    1287 [ +  - ][ +  - ]:       6385 :     if( (xSlideshow.is() && xSlideshow->isRunning() && (xSlideshow->getAnimationMode() != ANIMATIONMODE_PREVIEW) ) || GetDocSh()->IsPreview() )
         [ -  + ][ #  # ]
         [ #  # ][ +  - ]
         [ +  - ][ -  + ]
                 [ -  + ]
    1288                 :            :     {
    1289                 :            :         // Eigene Slots
    1290         [ #  # ]:          0 :         rSet.DisableItem( SID_PRESENTATION );
    1291         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_IN );
    1292         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_OUT );
    1293         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_PANNING );
    1294         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_NEXT );
    1295         [ #  # ]:          0 :         rSet.DisableItem( SID_ZOOM_PREV );
    1296         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_REAL );
    1297         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_OPTIMAL );
    1298         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_ALL );
    1299         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_PAGE_WIDTH );
    1300         [ #  # ]:          0 :         rSet.DisableItem( SID_SIZE_PAGE );
    1301         [ #  # ]:          0 :         rSet.DisableItem( SID_INSERTPAGE );
    1302         [ #  # ]:          0 :         rSet.DisableItem( SID_DUPLICATE_PAGE );
    1303         [ #  # ]:          0 :         rSet.DisableItem( SID_MODIFYPAGE );
    1304         [ #  # ]:          0 :         rSet.DisableItem( SID_RENAMEPAGE );
    1305         [ #  # ]:          0 :         rSet.DisableItem( SID_RENAMEPAGE_QUICK );
    1306         [ #  # ]:          0 :         rSet.DisableItem( SID_DELETE_PAGE );
    1307         [ #  # ]:          0 :         rSet.DisableItem( SID_PAGESETUP );
    1308                 :            : 
    1309 [ #  # ][ #  # ]:          0 :         if( xSlideshow.is() && xSlideshow->isRunning() )
         [ #  # ][ #  # ]
    1310                 :            :         {
    1311         [ #  # ]:          0 :             rSet.ClearItem(SID_OBJECT_ALIGN);
    1312         [ #  # ]:          0 :             rSet.ClearItem(SID_ZOOM_TOOLBOX);
    1313         [ #  # ]:          0 :             rSet.ClearItem(SID_OBJECT_CHOOSE_MODE);
    1314         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_TEXT);
    1315         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_RECTANGLES);
    1316         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_ELLIPSES);
    1317         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_LINES);
    1318         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_ARROWS);
    1319         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_3D_OBJECTS);
    1320         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_CONNECTORS);
    1321         [ #  # ]:          0 :             rSet.ClearItem(SID_OBJECT_CHOOSE_MODE );
    1322         [ #  # ]:          0 :             rSet.ClearItem(SID_DRAWTBX_INSERT);
    1323         [ #  # ]:          0 :             rSet.ClearItem(SID_INSERTFILE);
    1324         [ #  # ]:          0 :             rSet.ClearItem(SID_OBJECT_ROTATE);
    1325         [ #  # ]:          0 :             rSet.ClearItem(SID_OBJECT_ALIGN);
    1326         [ #  # ]:          0 :             rSet.ClearItem(SID_POSITION);
    1327         [ #  # ]:          0 :             rSet.ClearItem(SID_FM_CONFIG);
    1328         [ #  # ]:          0 :             rSet.ClearItem(SID_ANIMATION_EFFECTS);
    1329         [ #  # ]:          0 :             rSet.ClearItem(SID_ANIMATION_OBJECTS);
    1330         [ #  # ]:          0 :             rSet.ClearItem(SID_3D_WIN);
    1331                 :            : 
    1332         [ #  # ]:          0 :             rSet.DisableItem(SID_OBJECT_ALIGN);
    1333         [ #  # ]:          0 :             rSet.DisableItem(SID_ZOOM_TOOLBOX);
    1334         [ #  # ]:          0 :             rSet.DisableItem(SID_OBJECT_CHOOSE_MODE);
    1335         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_TEXT);
    1336         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_RECTANGLES);
    1337         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_ELLIPSES);
    1338         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_LINES);
    1339         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_ARROWS);
    1340         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_3D_OBJECTS);
    1341         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_CONNECTORS);
    1342         [ #  # ]:          0 :             rSet.DisableItem(SID_OBJECT_CHOOSE_MODE );
    1343         [ #  # ]:          0 :             rSet.DisableItem(SID_DRAWTBX_INSERT);
    1344         [ #  # ]:          0 :             rSet.DisableItem(SID_INSERTFILE);
    1345         [ #  # ]:          0 :             rSet.DisableItem(SID_OBJECT_ROTATE);
    1346         [ #  # ]:          0 :             rSet.DisableItem(SID_OBJECT_ALIGN);
    1347         [ #  # ]:          0 :             rSet.DisableItem(SID_POSITION);
    1348         [ #  # ]:          0 :             rSet.DisableItem(SID_FM_CONFIG);
    1349         [ #  # ]:          0 :             rSet.DisableItem(SID_ANIMATION_EFFECTS);
    1350         [ #  # ]:          0 :             rSet.DisableItem(SID_ANIMATION_OBJECTS);
    1351         [ #  # ]:          0 :             rSet.DisableItem(SID_3D_WIN);
    1352                 :            :         }
    1353                 :            :     }
    1354                 :            : 
    1355                 :            :     ///////////////////////////////////////////////////////////////////////
    1356                 :            :     // Menuoption: Change->Convert->To Bitmap, Change->Convert->To Metafile
    1357                 :            :     //             disable, if there only Bitmap or Metafiles marked
    1358                 :            :     // Menuoption: Format->Area, Format->Line
    1359                 :            :     //             disabled, if the marked objects not able to handle
    1360                 :            :     //             these attributes
    1361                 :            :     //
    1362                 :            : 
    1363                 :       6385 :     bool bSingleGraphicSelected = false;
    1364                 :            : 
    1365         [ +  + ]:       6385 :     if (!mpDrawView->AreObjectsMarked())
    1366                 :            :     {
    1367         [ +  - ]:       6382 :         rSet.DisableItem (SID_CONVERT_TO_METAFILE);
    1368         [ +  - ]:       6382 :         rSet.DisableItem (SID_CONVERT_TO_BITMAP);
    1369                 :            :     }
    1370                 :            :     else
    1371                 :            :     {
    1372                 :            :         // get marklist
    1373         [ +  - ]:          3 :         SdrMarkList aMarkList = mpDrawView->GetMarkedObjectList();
    1374                 :            : 
    1375                 :          3 :         sal_Bool bFoundBitmap         = sal_False;
    1376                 :          3 :         sal_Bool bFoundMetafile       = sal_False;
    1377                 :          3 :         sal_Bool bFoundObjNoLine      = sal_False;
    1378                 :          3 :         sal_Bool bFoundObjNoArea      = sal_False;
    1379                 :          3 :         sal_Bool bFoundNoGraphicObj = sal_False;
    1380                 :          3 :         sal_Bool bFoundAny            = sal_False;
    1381                 :          3 :         bool bFoundTable = false;
    1382                 :            : 
    1383                 :            : //      const int nMarkCount = (int) aMarkList.GetMarkCount();
    1384 [ +  + ][ +  - ]:          6 :         for (sal_uLong i=0; i < nMarkCount && !bFoundAny; i++)
                 [ +  + ]
    1385                 :            :         {
    1386 [ +  - ][ +  - ]:          3 :             SdrObject* pObj=  aMarkList.GetMark(i)->GetMarkedSdrObj();
    1387         [ +  - ]:          3 :             sal_uInt16 nId = pObj->GetObjIdentifier();
    1388         [ +  - ]:          3 :             sal_uInt32 nInv = pObj->GetObjInventor();
    1389                 :            : 
    1390         [ +  - ]:          3 :             if(nInv == SdrInventor)
    1391                 :            :             {
    1392                 :            :                 // 2D objects
    1393   [ -  -  -  -  :          3 :                 switch( nId )
                      + ]
    1394                 :            :                 {
    1395                 :            :                     case OBJ_PATHLINE :
    1396                 :            :                     case OBJ_PLIN :
    1397                 :            :                     case OBJ_LINE:
    1398                 :            :                     case OBJ_FREELINE :
    1399                 :            :                     case OBJ_EDGE:
    1400                 :            :                     case OBJ_CARC :
    1401                 :          0 :                         bFoundObjNoArea      = sal_True;
    1402                 :          0 :                         bFoundNoGraphicObj = sal_True;
    1403                 :          0 :                         break;
    1404                 :            :                     case OBJ_OLE2 :
    1405                 :          0 :                         bFoundObjNoLine      = sal_True;
    1406                 :          0 :                         bFoundObjNoArea      = sal_True;
    1407                 :          0 :                         bFoundNoGraphicObj = sal_True;
    1408                 :          0 :                         break;
    1409                 :            :                     case OBJ_GRAF :
    1410                 :          0 :                         bSingleGraphicSelected = nMarkCount == 1;
    1411         [ #  # ]:          0 :                         switch ( ((SdrGrafObj*)pObj)->GetGraphicType() )
              [ #  #  # ]
    1412                 :            :                         {
    1413                 :            :                             case GRAPHIC_BITMAP :
    1414                 :          0 :                                 bFoundBitmap = sal_True;
    1415                 :          0 :                                 break;
    1416                 :            :                             case GRAPHIC_GDIMETAFILE :
    1417                 :          0 :                                 bFoundMetafile = sal_True;
    1418                 :          0 :                                 break;
    1419                 :            :                             default:
    1420                 :          0 :                                 break;
    1421                 :            :                         }
    1422                 :          0 :                         break;
    1423                 :            :                     case OBJ_TABLE:
    1424                 :          0 :                         bFoundTable = true;
    1425                 :          0 :                         break;
    1426                 :            :                     default :
    1427                 :          3 :                         bFoundAny = sal_True;
    1428                 :            :                 }
    1429                 :            :             }
    1430         [ #  # ]:          0 :             else if(nInv == E3dInventor)
    1431                 :            :             {
    1432                 :            :                 // 3D objects
    1433                 :          0 :                 bFoundAny = sal_True;
    1434                 :            :             }
    1435                 :            :         }
    1436                 :            : 
    1437         [ -  + ]:          3 :         if( bFoundTable )
    1438         [ #  # ]:          0 :             rSet.DisableItem( SID_ATTRIBUTES_LINE );
    1439                 :            : 
    1440         [ -  + ]:          3 :         if (!bFoundAny)
    1441                 :            :         {
    1442                 :            :             // Disable menuitem for area-dialog
    1443         [ #  # ]:          0 :             if( bFoundObjNoArea ) // #i25616#
    1444         [ #  # ]:          0 :                 rSet.DisableItem( SID_ATTRIBUTES_AREA );
    1445                 :            : 
    1446                 :            :             // Disable menuitem for line-dialog
    1447         [ #  # ]:          0 :             if( bFoundObjNoLine )
    1448         [ #  # ]:          0 :                 rSet.DisableItem( SID_ATTRIBUTES_LINE );
    1449                 :            : 
    1450 [ #  # ][ #  # ]:          0 :             if( bFoundBitmap && !bFoundMetafile && !bFoundNoGraphicObj )    // only Bitmaps marked
                 [ #  # ]
    1451         [ #  # ]:          0 :                 rSet.DisableItem( SID_CONVERT_TO_BITMAP );
    1452 [ #  # ][ #  # ]:          0 :             else if( !bFoundBitmap && bFoundMetafile && !bFoundNoGraphicObj )   // only Metafiles marked
                 [ #  # ]
    1453         [ #  # ]:          0 :                 rSet.DisableItem( SID_CONVERT_TO_METAFILE );
    1454 [ #  # ][ #  # ]:          0 :             else if( !bFoundBitmap && !bFoundMetafile && !bFoundNoGraphicObj )  // nothing to do
                 [ #  # ]
    1455                 :            :             {
    1456         [ #  # ]:          0 :                 rSet.DisableItem( SID_CONVERT_TO_BITMAP );
    1457         [ #  # ]:          0 :                 rSet.DisableItem( SID_CONVERT_TO_METAFILE );
    1458                 :            :             }
    1459         [ +  - ]:          3 :         }
    1460                 :            :     }
    1461                 :            : 
    1462         [ +  - ]:       6385 :     if( !bSingleGraphicSelected )
    1463                 :            :     {
    1464         [ +  - ]:       6385 :         rSet.DisableItem (SID_OBJECT_CROP);
    1465         [ +  - ]:       6385 :         rSet.DisableItem (SID_ATTR_GRAF_CROP);
    1466                 :            :     }
    1467                 :            : 
    1468                 :            :     ///////////////////////////////////////////////////////////////////////
    1469                 :            :     // Menuoption: Edit->Hyperlink
    1470                 :            :     // Disable, if there is no hyperlink
    1471                 :            :     //
    1472                 :       6385 :     sal_Bool bDisableEditHyperlink = sal_True;
    1473 [ +  + ][ +  - ]:       6385 :     if( mpDrawView->AreObjectsMarked() && ( mpDrawView->GetMarkedObjectList().GetMarkCount() == 1 ) )
                 [ +  + ]
    1474                 :            :     {
    1475 [ +  - ][ -  + ]:          3 :         if( mpDrawView->IsTextEdit() )
    1476                 :            :         {
    1477                 :          0 :             OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
    1478         [ #  # ]:          0 :             if (pOLV)
    1479                 :            :             {
    1480         [ #  # ]:          0 :                 const SvxFieldItem* pFieldItem = pOLV->GetFieldAtSelection();
    1481         [ #  # ]:          0 :                 if (pFieldItem)
    1482                 :            :                 {
    1483         [ #  # ]:          0 :                     ESelection aSel = pOLV->GetSelection();
    1484         [ #  # ]:          0 :                     if ( abs( aSel.nEndPos - aSel.nStartPos ) == 1 )
    1485                 :            :                     {
    1486                 :          0 :                         const SvxFieldData* pField = pFieldItem->GetField();
    1487 [ #  # ][ #  # ]:          0 :                         if ( pField->ISA(SvxURLField) )
                 [ #  # ]
    1488                 :          0 :                             bDisableEditHyperlink = sal_False;
    1489                 :            :                     }
    1490                 :            :                 }
    1491                 :            :             }
    1492                 :            :         }
    1493                 :            :         else
    1494                 :            :         {
    1495 [ +  - ][ +  - ]:          3 :             SdrUnoObj* pUnoCtrl = PTR_CAST(SdrUnoObj, mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj());
         [ +  - ][ +  - ]
         [ +  - ][ +  - ]
         [ +  - ][ -  + ]
         [ #  # ][ #  # ]
    1496                 :            : 
    1497 [ -  + ][ #  # ]:          3 :             if ( pUnoCtrl && FmFormInventor == pUnoCtrl->GetObjInventor() )
         [ #  # ][ -  + ]
    1498                 :            :             {
    1499         [ #  # ]:          0 :                 uno::Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel() );
    1500         [ #  # ]:          0 :                 if( xControlModel.is() )
    1501                 :            :                 {
    1502         [ #  # ]:          0 :                     uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
    1503         [ #  # ]:          0 :                     if( xPropSet.is() )
    1504                 :            :                     {
    1505 [ #  # ][ #  # ]:          0 :                         uno::Reference< beans::XPropertySetInfo > xPropInfo( xPropSet->getPropertySetInfo() );
    1506 [ #  # ][ #  # ]:          0 :                         if( xPropInfo.is() && xPropInfo->hasPropertyByName( "TargetURL") )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
           [ #  #  #  #  
                   #  # ]
    1507                 :            :                         {
    1508                 :          0 :                             bDisableEditHyperlink = sal_False;
    1509                 :          0 :                         }
    1510                 :          0 :                     }
    1511                 :          0 :                 }
    1512                 :            :             }
    1513                 :            :         }
    1514                 :            :     }
    1515                 :            : 
    1516                 :            :     //highlight selected custom shape
    1517                 :            :     {
    1518                 :       6385 :         sal_uInt16 nCurrentSId = 0;
    1519 [ +  - ][ +  - ]:       6385 :         if(HasCurrentFunction())
    1520 [ +  - ][ +  - ]:       6385 :             nCurrentSId = GetCurrentFunction()->GetSlotID();
    1521                 :            : 
    1522 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_BASIC ) )
    1523 [ +  - ][ +  - ]:        596 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_BASIC, SID_DRAWTBX_CS_BASIC == nCurrentSId ));
                 [ +  - ]
    1524 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_SYMBOL ) )
    1525 [ +  - ][ +  - ]:        184 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_SYMBOL, SID_DRAWTBX_CS_SYMBOL == nCurrentSId ));
                 [ +  - ]
    1526 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_ARROW ) )
    1527 [ +  - ][ +  - ]:        184 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_ARROW, SID_DRAWTBX_CS_ARROW == nCurrentSId ));
                 [ +  - ]
    1528 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_FLOWCHART ) )
    1529 [ +  - ][ +  - ]:        184 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_FLOWCHART, SID_DRAWTBX_CS_FLOWCHART == nCurrentSId ));
                 [ +  - ]
    1530 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_CALLOUT ) )
    1531 [ +  - ][ +  - ]:        184 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_CALLOUT,SID_DRAWTBX_CS_CALLOUT == nCurrentSId ));
                 [ +  - ]
    1532 [ +  - ][ +  + ]:       6385 :         if ( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DRAWTBX_CS_STAR ) )
    1533 [ +  - ][ +  - ]:        184 :             rSet.Put(SfxBoolItem(SID_DRAWTBX_CS_STAR, SID_DRAWTBX_CS_STAR == nCurrentSId ));
                 [ +  - ]
    1534                 :            :     }
    1535                 :            : 
    1536 [ -  + ][ #  # ]:       6385 :     if ( bDisableEditHyperlink || GetDocSh()->IsReadOnly() )
         [ #  # ][ #  # ]
                 [ +  - ]
    1537         [ +  - ]:       6385 :         rSet.DisableItem( SID_EDIT_HYPERLINK );
    1538                 :            : 
    1539         [ +  - ]:       6385 :     if ( bDisableEditHyperlink )
    1540         [ +  - ]:       6385 :         rSet.DisableItem( SID_OPEN_HYPERLINK );
    1541                 :            : 
    1542                 :            : #if defined WNT || defined UNX
    1543         [ -  + ]:       6385 :     if( !mxScannerManager.is() )
    1544                 :            :     {
    1545         [ #  # ]:          0 :         rSet.DisableItem( SID_TWAIN_SELECT );
    1546         [ #  # ]:          0 :         rSet.DisableItem( SID_TWAIN_TRANSFER );
    1547                 :            :     }
    1548                 :            : #endif
    1549                 :            : 
    1550                 :            :     // Set the state of two entries in the 'Slide' context sub-menu
    1551                 :            :     // concerning the visibility of master page background and master page
    1552                 :            :     // shapes.
    1553 [ +  - ][ +  - ]:      12770 :     if (rSet.GetItemState(SID_DISPLAY_MASTER_BACKGROUND) == SFX_ITEM_AVAILABLE
         [ -  + ][ -  + ]
    1554         [ +  - ]:       6385 :         || rSet.GetItemState(SID_DISPLAY_MASTER_OBJECTS) == SFX_ITEM_AVAILABLE)
    1555                 :            :     {
    1556         [ #  # ]:          0 :         SdPage* pPage = GetActualPage();
    1557 [ #  # ][ #  # ]:          0 :         if (pPage != NULL
                 [ #  # ]
    1558         [ #  # ]:          0 :             && GetDoc() != NULL)
    1559                 :            :         {
    1560         [ #  # ]:          0 :             SetOfByte aVisibleLayers = pPage->TRG_GetMasterPageVisibleLayers();
    1561         [ #  # ]:          0 :             SdrLayerAdmin& rLayerAdmin = GetDoc()->GetLayerAdmin();
    1562 [ #  # ][ #  # ]:          0 :             sal_uInt8 aBackgroundId = rLayerAdmin.GetLayerID(String(SdResId(STR_LAYER_BCKGRND)), sal_False);
         [ #  # ][ #  # ]
    1563 [ #  # ][ #  # ]:          0 :             sal_uInt8 aObjectId = rLayerAdmin.GetLayerID(String(SdResId(STR_LAYER_BCKGRNDOBJ)), sal_False);
         [ #  # ][ #  # ]
    1564                 :            :             rSet.Put(SfxBoolItem(SID_DISPLAY_MASTER_BACKGROUND,
    1565 [ #  # ][ #  # ]:          0 :                     aVisibleLayers.IsSet(aBackgroundId)));
                 [ #  # ]
    1566                 :            :             rSet.Put(SfxBoolItem(SID_DISPLAY_MASTER_OBJECTS,
    1567 [ #  # ][ #  # ]:          0 :                     aVisibleLayers.IsSet(aObjectId)));
                 [ #  # ]
    1568                 :            :         }
    1569                 :            :     }
    1570                 :            : 
    1571 [ +  - ][ +  - ]:       6385 :     GetModeSwitchingMenuState (rSet);
    1572                 :            : }
    1573                 :            : 
    1574                 :       6385 : void DrawViewShell::GetModeSwitchingMenuState (SfxItemSet &rSet)
    1575                 :            : {
    1576                 :            :     //draview
    1577         [ +  - ]:       6385 :     rSet.Put(SfxBoolItem(SID_DIAMODE, sal_False));
    1578         [ +  - ]:       6385 :     rSet.Put(SfxBoolItem(SID_OUTLINEMODE, sal_False));
    1579         [ -  + ]:       6385 :     if (mePageKind == PK_NOTES)
    1580                 :            :     {
    1581         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_DRAWINGMODE, sal_False));
    1582         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_NOTESMODE, sal_True));
    1583         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_HANDOUTMODE, sal_False));
    1584                 :            :     }
    1585         [ -  + ]:       6385 :     else if (mePageKind == PK_HANDOUT)
    1586                 :            :     {
    1587         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_DRAWINGMODE, sal_False));
    1588         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_NOTESMODE, sal_False));
    1589         [ #  # ]:          0 :         rSet.Put(SfxBoolItem(SID_HANDOUTMODE, sal_True));
    1590                 :            :     }
    1591                 :            :     else
    1592                 :            :     {
    1593         [ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_DRAWINGMODE, sal_True));
    1594         [ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_NOTESMODE, sal_False));
    1595         [ +  - ]:       6385 :         rSet.Put(SfxBoolItem(SID_HANDOUTMODE, sal_False));
    1596                 :            :     }
    1597                 :            : 
    1598                 :            :     // Removed [GetDocSh()->GetCurrentFunction() ||] from the following
    1599                 :            :     // clause because the current function of the docshell can only be
    1600                 :            :     // search and replace or spell checking and in that case switching the
    1601                 :            :     // view mode is allowed.
    1602                 :       6385 :     const bool bIsRunning = SlideShow::IsRunning(GetViewShellBase());
    1603                 :            : 
    1604 [ -  + ][ -  + ]:       6385 :     if (GetViewFrame()->GetFrame().IsInPlace() || bIsRunning)
                 [ +  - ]
    1605                 :            :     {
    1606         [ #  # ]:          0 :         if ( !GetViewFrame()->GetFrame().IsInPlace() )
    1607                 :            :         {
    1608                 :          0 :             rSet.ClearItem( SID_DRAWINGMODE );
    1609                 :          0 :             rSet.DisableItem( SID_DRAWINGMODE );
    1610                 :            :         }
    1611                 :            : 
    1612                 :          0 :         rSet.ClearItem( SID_NOTESMODE );
    1613                 :          0 :         rSet.DisableItem( SID_NOTESMODE );
    1614                 :            : 
    1615                 :          0 :         rSet.ClearItem( SID_HANDOUTMODE );
    1616                 :          0 :         rSet.DisableItem( SID_HANDOUTMODE );
    1617                 :            : 
    1618                 :          0 :         rSet.ClearItem( SID_OUTLINEMODE );
    1619                 :          0 :         rSet.DisableItem( SID_OUTLINEMODE );
    1620                 :            : 
    1621                 :          0 :         rSet.ClearItem( SID_DIAMODE );
    1622                 :          0 :         rSet.DisableItem( SID_DIAMODE );
    1623                 :            :     }
    1624                 :            : 
    1625         [ -  + ]:       6385 :     if (GetDocSh()->GetCreateMode() == SFX_CREATE_MODE_EMBEDDED)
    1626                 :            :     {
    1627                 :            :         // Outplace-Edit: Kein Umschalten erlauben
    1628                 :          0 :         rSet.ClearItem( SID_OUTLINEMODE );
    1629                 :          0 :         rSet.DisableItem( SID_OUTLINEMODE );
    1630                 :            : 
    1631                 :          0 :         rSet.ClearItem( SID_DIAMODE );
    1632                 :          0 :         rSet.DisableItem( SID_DIAMODE );
    1633                 :            : 
    1634                 :          0 :         rSet.ClearItem( SID_NOTESMODE );
    1635                 :          0 :         rSet.DisableItem( SID_NOTESMODE );
    1636                 :            : 
    1637                 :          0 :         rSet.ClearItem( SID_HANDOUTMODE );
    1638                 :          0 :         rSet.DisableItem( SID_HANDOUTMODE );
    1639                 :            :     }
    1640                 :            : 
    1641                 :       6385 :     svx::ExtrusionBar::getState( mpDrawView, rSet );
    1642                 :       6385 :     svx::FontworkBar::getState( mpDrawView, rSet );
    1643                 :       6385 : }
    1644                 :            : 
    1645                 :            : 
    1646                 :            : 
    1647                 :          0 : void DrawViewShell::GetState (SfxItemSet& rSet)
    1648                 :            : {
    1649                 :            :     // Iterate over all requested items in the set.
    1650         [ #  # ]:          0 :     SfxWhichIter aIter( rSet );
    1651         [ #  # ]:          0 :     sal_uInt16 nWhich = aIter.FirstWhich();
    1652         [ #  # ]:          0 :     while (nWhich)
    1653                 :            :     {
    1654         [ #  # ]:          0 :         switch (nWhich)
    1655                 :            :         {
    1656                 :            :             case SID_SEARCH_ITEM:
    1657                 :            :             case SID_SEARCH_OPTIONS:
    1658                 :            :                 // Forward this request to the the common (old) code of the
    1659                 :            :                 // document shell.
    1660 [ #  # ][ #  # ]:          0 :                 GetDocSh()->GetState (rSet);
    1661                 :          0 :                 break;
    1662                 :            :             default:
    1663                 :            :                 OSL_TRACE ("DrawViewShell::GetState(): can not handle which id %d", nWhich);
    1664                 :          0 :                 break;
    1665                 :            :         }
    1666         [ #  # ]:          0 :         nWhich = aIter.NextWhich();
    1667         [ #  # ]:          0 :     }
    1668                 :          0 : }
    1669                 :            : 
    1670                 :            : 
    1671                 :            : 
    1672                 :            : 
    1673                 :          0 : void DrawViewShell::Execute (SfxRequest& rReq)
    1674                 :            : {
    1675         [ #  # ]:          0 :     if(SlideShow::IsRunning(GetViewShellBase()))
    1676                 :            :     {
    1677                 :            :         // Do not execute anything during a native slide show.
    1678                 :          0 :         return;
    1679                 :            :     }
    1680                 :            : 
    1681      [ #  #  # ]:          0 :     switch (rReq.GetSlot())
    1682                 :            :     {
    1683                 :            :         case SID_SEARCH_ITEM:
    1684                 :            :             // Forward this request to the the common (old) code of the
    1685                 :            :             // document shell.
    1686                 :          0 :             GetDocSh()->Execute (rReq);
    1687                 :          0 :         break;
    1688                 :            : 
    1689                 :            :         case SID_SPELL_DIALOG:
    1690                 :            :         {
    1691                 :          0 :             SfxViewFrame* pViewFrame = GetViewFrame();
    1692         [ #  # ]:          0 :             if (rReq.GetArgs() != NULL)
    1693                 :            :                 pViewFrame->SetChildWindow (SID_SPELL_DIALOG,
    1694                 :          0 :                     ((const SfxBoolItem&) (rReq.GetArgs()->
    1695                 :          0 :                         Get(SID_SPELL_DIALOG))).GetValue());
    1696                 :            :             else
    1697                 :          0 :                 pViewFrame->ToggleChildWindow(SID_SPELL_DIALOG);
    1698                 :            : 
    1699                 :          0 :             pViewFrame->GetBindings().Invalidate(SID_SPELL_DIALOG);
    1700                 :          0 :             rReq.Ignore ();
    1701                 :            :         }
    1702                 :          0 :         break;
    1703                 :            : 
    1704                 :            :         default:
    1705                 :            :             OSL_TRACE ("DrawViewShell::Execute(): can not handle slot %d", rReq.GetSlot());
    1706                 :          0 :             break;
    1707                 :            :     }
    1708                 :            : }
    1709                 :            : 
    1710                 :            : } // end of namespace sd
    1711                 :            : 
    1712                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10