fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / sd / source / ui / view / drviewsj.cxx
blob61e33f900463791c9136564808b5caabb4302462
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include "DrawViewShell.hxx"
21 #include <com/sun/star/embed/EmbedMisc.hpp>
22 #include <svl/aeitem.hxx>
23 #include <svx/svxids.hrc>
24 #include <svx/globl3d.hxx>
25 #include <editeng/eeitem.hxx>
26 #include <editeng/flditem.hxx>
27 #include <svx/svdogrp.hxx>
28 #include <svx/svdograf.hxx>
29 #include <svx/svdoole2.hxx>
30 #include <svx/sxelditm.hxx>
31 #include <sfx2/dispatch.hxx>
32 #include <sfx2/request.hxx>
33 #include <svx/svdopath.hxx>
34 #include <svx/polysc3d.hxx>
35 #include <svx/obj3d.hxx>
36 #include <sfx2/event.hxx>
37 #include <sfx2/docfile.hxx>
38 #include <rtl/ustrbuf.hxx>
41 #include "app.hrc"
43 #include "Outliner.hxx"
44 #include "sdpage.hxx"
45 #include "fupoor.hxx"
46 #include "fusel.hxx"
47 #include "drawdoc.hxx"
48 #include "DrawDocShell.hxx"
49 #include "drawview.hxx"
50 #include "optsitem.hxx"
52 using namespace com::sun::star;
54 namespace sd {
56 /**
57 * Set state (Enabled/Disabled) of Menu-SfxSlots
59 void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
61 // Status of menu entries (Buttons,...)
63 // Single selection
64 const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
65 sal_uLong nMarkCount = rMarkList.GetMarkCount();
67 if ( nMarkCount == 1 )
69 if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_BEZIER_EDIT ) ||
70 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_UNGROUP ) ||
71 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ENTER_GROUP ) ||
72 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_NAME_GROUP ) ||
74 // #i68101#
75 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_TITLE_DESCRIPTION ) ||
77 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ATTR_FILL_STYLE ) ||
78 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ATTR_FILL_TRANSPARENCE ) ||
79 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ATTR_FILL_FLOATTRANSPARENCE ) ||
80 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CHANGEBEZIER ) ||
81 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CHANGEPOLYGON ) ||
82 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_LINEEND_POLYGON ) ||
83 SFX_ITEM_AVAILABLE == rSet.GetItemState( OBJ_TITLETEXT ) ||
84 SFX_ITEM_AVAILABLE == rSet.GetItemState( OBJ_OUTLINETEXT ) ||
85 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_MEASURE_DLG ) ||
86 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONNECTION_DLG ) ||
87 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONNECTION_NEW_ROUTING ) ||
88 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_SHEAR ) ||
89 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_1BIT_THRESHOLD ) ||
90 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_1BIT_MATRIX ) ||
91 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_4BIT_GRAYS ) ||
92 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_4BIT_COLORS ) ||
93 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_8BIT_GRAYS ) ||
94 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_8BIT_COLORS ) ||
95 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_CONVERT_TO_24BIT ) ||
96 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_LEFT ) ||
97 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_CENTER ) ||
98 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_RIGHT ) ||
99 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_UP ) ||
100 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_MIDDLE ) ||
101 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OBJECT_ALIGN_DOWN ) ||
102 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_FRAME_TO_TOP ) ||
103 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_MOREFRONT ) ||
104 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_MOREBACK ) ||
105 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_FRAME_TO_BOTTOM ) ||
106 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_BEFORE_OBJ ) ||
107 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_BEHIND_OBJ ) ||
108 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_REVERSE_ORDER ) ||
109 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_ORIGINAL_SIZE ) ||
110 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_SAVE_GRAPHIC ) ||
111 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_COMPRESS_GRAPHIC ) ||
112 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_TEXTATTR_DLG ) )
114 const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
115 const SdrGrafObj* pSdrGrafObj = dynamic_cast< const SdrGrafObj* >(pObj);
116 const SdrOle2Obj* pSdrOle2Obj = dynamic_cast< const SdrOle2Obj* >(pObj);
117 sal_uInt32 nInv = pObj->GetObjInventor();
118 sal_uInt16 nId = pObj->GetObjIdentifier();
119 SdrObjTransformInfoRec aInfoRec;
120 pObj->TakeObjInfo( aInfoRec );
122 // don't show original size entry if not possible
123 if(pSdrOle2Obj)
125 if (pSdrOle2Obj->GetObjRef().is() &&
126 ((pSdrOle2Obj->GetObjRef()->getStatus( pSdrOle2Obj->GetAspect() ) & embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE) ) )
127 rSet.DisableItem(SID_ORIGINAL_SIZE);
130 if(!pSdrGrafObj)
132 rSet.DisableItem(SID_SAVE_GRAPHIC);
133 rSet.DisableItem(SID_COMPRESS_GRAPHIC);
136 /* If it is not a group object or 3D object, we disable "enter
137 group". */
138 if( !( ( pObj->ISA( SdrObjGroup ) && nInv == SdrInventor ) ||
139 (pObj->ISA (E3dPolyScene) || pObj->ISA (E3dScene) /*|| pObj->ISA (E3dCompoundObject) */) ) )
141 rSet.DisableItem( SID_ENTER_GROUP );
144 // If it is not a group object, we disable "ungroup"
145 if (!(pObj->ISA(SdrObjGroup) && nInv == SdrInventor))
147 rSet.DisableItem(SID_UNGROUP);
149 if(!pSdrGrafObj ||
150 pSdrGrafObj->GetGraphicType() != GRAPHIC_BITMAP ||
151 pSdrGrafObj->IsLinkedGraphic() ||
152 pSdrGrafObj->isEmbeddedSvg())
154 rSet.DisableItem(SID_CONVERT_TO_1BIT_THRESHOLD);
155 rSet.DisableItem(SID_CONVERT_TO_1BIT_MATRIX);
156 rSet.DisableItem(SID_CONVERT_TO_4BIT_GRAYS);
157 rSet.DisableItem(SID_CONVERT_TO_4BIT_COLORS);
158 rSet.DisableItem(SID_CONVERT_TO_8BIT_GRAYS);
159 rSet.DisableItem(SID_CONVERT_TO_8BIT_COLORS);
160 rSet.DisableItem(SID_CONVERT_TO_24BIT);
163 if( nInv == SdrInventor &&
164 (nId == OBJ_LINE ||
165 nId == OBJ_PLIN ||
166 nId == OBJ_PATHLINE ||
167 nId == OBJ_FREELINE ))
169 //rSet.DisableItem( SID_ATTRIBUTES_AREA ); // remove again!
170 rSet.DisableItem( SID_ATTR_FILL_STYLE );
171 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
172 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
174 if( (!pObj->ISA( SdrPathObj ) && !aInfoRec.bCanConvToPath) || pObj->ISA( SdrObjGroup ) ) // As long as JOE handles it incorrectly!
175 { // JOE: a group object may can be converted into a PathObj
176 rSet.DisableItem( SID_LINEEND_POLYGON );
178 if(nInv == SdrInventor &&
179 (nId == OBJ_PATHFILL || nId == OBJ_PATHLINE || !aInfoRec.bCanConvToPath))
180 rSet.DisableItem( SID_CHANGEBEZIER );
182 if( nInv == SdrInventor &&
183 ( nId == OBJ_POLY || nId == OBJ_PLIN || !aInfoRec.bCanConvToPoly ) &&
184 !GetView()->IsVectorizeAllowed() )
186 rSet.DisableItem( SID_CHANGEPOLYGON );
189 if(nInv == SdrInventor && nId == OBJ_TABLE )
191 rSet.DisableItem( SID_TEXTATTR_DLG );
194 if( nInv != SdrInventor || nId != OBJ_MEASURE )
195 rSet.DisableItem( SID_MEASURE_DLG );
197 if( nInv != SdrInventor || nId != OBJ_EDGE )
198 rSet.DisableItem( SID_CONNECTION_DLG );
199 else
201 sal_Bool bDisable = sal_True;
202 SfxItemSet aAttrSet( GetDoc()->GetPool() );
203 GetView()->GetAttributes( aAttrSet );
205 if( aAttrSet.GetItemState( SDRATTR_EDGELINE1DELTA ) >= SFX_ITEM_AVAILABLE &&
206 aAttrSet.GetItemState( SDRATTR_EDGELINE2DELTA ) >= SFX_ITEM_AVAILABLE &&
207 aAttrSet.GetItemState( SDRATTR_EDGELINE3DELTA ) >= SFX_ITEM_AVAILABLE )
209 long nVal1 = ( ( const SdrEdgeLine1DeltaItem& ) aAttrSet.Get( SDRATTR_EDGELINE1DELTA ) ).GetValue();
210 long nVal2 = ( ( const SdrEdgeLine2DeltaItem& ) aAttrSet.Get( SDRATTR_EDGELINE2DELTA ) ).GetValue();
211 long nVal3 = ( ( const SdrEdgeLine3DeltaItem& ) aAttrSet.Get( SDRATTR_EDGELINE3DELTA ) ).GetValue();
213 if( nVal1 != 0 || nVal2 != 0 || nVal3 != 0 )
214 bDisable = sal_False;
217 if( bDisable )
218 rSet.DisableItem( SID_CONNECTION_NEW_ROUTING );
221 if ( nInv == E3dInventor ||
222 (!mpDrawView->IsConvertToPathObjPossible(sal_False) &&
223 !mpDrawView->IsShearAllowed() &&
224 !mpDrawView->IsDistortAllowed()) )
226 rSet.DisableItem( SID_OBJECT_SHEAR );
229 if(pObj->ISA(E3dCompoundObject))
231 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
232 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
233 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
234 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
235 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
236 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
237 rSet.DisableItem( SID_FRAME_TO_TOP );
238 rSet.DisableItem( SID_MOREFRONT );
239 rSet.DisableItem( SID_MOREBACK );
240 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
241 rSet.DisableItem( SID_BEFORE_OBJ );
242 rSet.DisableItem( SID_BEHIND_OBJ );
243 rSet.DisableItem( SID_REVERSE_ORDER );
247 if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_DISMANTLE ) ||
248 SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_BREAK ) )
250 if ( !mpDrawView->IsDismantlePossible(sal_False) )
252 rSet.DisableItem( SID_DISMANTLE );
255 if ( !mpDrawView->IsDismantlePossible(sal_True) &&
256 !mpDrawView->IsImportMtfPossible() &&
257 !mpDrawView->IsBreak3DObjPossible() )
259 rSet.DisableItem( SID_BREAK );
262 if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_MODIFY_FIELD ) )
264 OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
266 if( pOLV )
268 const SvxFieldItem* pFldItem = pOLV->GetFieldAtSelection();
270 if( !( pFldItem && (pFldItem->GetField()->ISA( SvxDateField ) ||
271 pFldItem->GetField()->ISA( SvxAuthorField ) ||
272 pFldItem->GetField()->ISA( SvxExtFileField ) ||
273 pFldItem->GetField()->ISA( SvxExtTimeField ) ) ) )
275 rSet.DisableItem( SID_MODIFY_FIELD );
278 else
279 rSet.DisableItem( SID_MODIFY_FIELD );
281 if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OUTLINE_TEXT_AUTOFIT ) )
283 const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
284 const bool bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
285 rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet));
288 rSet.DisableItem( SID_GROUP );
289 rSet.DisableItem( SID_COMBINE );
290 rSet.DisableItem(SID_DISTRIBUTE_DLG);
291 rSet.DisableItem(SID_POLY_MERGE);
292 rSet.DisableItem(SID_POLY_SUBSTRACT);
293 rSet.DisableItem(SID_POLY_INTERSECT);
294 rSet.DisableItem( SID_CONNECT );
296 // multi-selection
297 else if( nMarkCount > 1 )
299 // distribure dialog for 3+n objects
300 if(nMarkCount <= 2)
301 rSet.DisableItem(SID_DISTRIBUTE_DLG);
303 rSet.DisableItem( SID_LINEEND_POLYGON );
304 rSet.DisableItem( SID_ENTER_GROUP );
305 // Now names for objects have to be unique
306 rSet.DisableItem( SID_NAME_GROUP );
307 // #i68101#
308 rSet.DisableItem( SID_OBJECT_TITLE_DESCRIPTION );
309 rSet.DisableItem( SID_MODIFY_FIELD );
312 sal_Bool bText = sal_False;
313 sal_Bool bLine = sal_False;
314 sal_Bool bGroup = sal_False;
315 sal_Bool bGraf = sal_False;
316 sal_Bool bDrawObj = sal_False;
317 sal_Bool b3dObj = sal_False;
318 bool bTable = false;
319 sal_Bool bMeasureObj = sal_False;
320 sal_Bool bEdgeObj = sal_False; // Connector
321 sal_Bool bE3dCompoundObject = sal_False;
323 for( sal_uLong i = 0;
324 i < nMarkCount && !bText && i < 50;
325 i++ )
327 SdrObject* pObj = rMarkList.GetMark(i)->GetMarkedSdrObj();
328 sal_uInt32 nInv = pObj->GetObjInventor();
329 sal_uInt16 nId = pObj->GetObjIdentifier();
331 if (nInv == SdrInventor)
333 switch (nId)
335 case OBJ_TEXT: bText = sal_True; break;
337 case OBJ_LINE: bLine = sal_True; break;
339 case OBJ_EDGE: bEdgeObj = sal_True; break;
341 case OBJ_MEASURE: bMeasureObj = sal_True; break;
343 case OBJ_RECT:
344 case OBJ_CIRC:
345 case OBJ_FREELINE:
346 case OBJ_FREEFILL:
347 case OBJ_PATHFILL:
348 case OBJ_PATHLINE:
349 case OBJ_SECT:
350 case OBJ_CARC:
351 case OBJ_CCUT: bDrawObj = sal_True; break;
353 case OBJ_GRUP: bGroup = sal_True; break;
355 case OBJ_GRAF: bGraf = sal_True; break;
357 case OBJ_TABLE: bTable = true; break;
360 else if (nInv == E3dInventor)
362 if(pObj->ISA(E3dScene))
363 b3dObj = sal_True;
364 else if(pObj->ISA(E3dCompoundObject))
365 bE3dCompoundObject = sal_True;
368 if( bLine && !bText && !bDrawObj &&!b3dObj)
370 rSet.DisableItem( SID_ATTR_FILL_STYLE );
371 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
372 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
374 if( !bEdgeObj )
375 rSet.DisableItem( SID_CONNECTION_DLG );
377 if (b3dObj)
379 rSet.DisableItem( SID_COMBINE );
380 rSet.DisableItem(SID_POLY_MERGE);
381 rSet.DisableItem(SID_POLY_SUBSTRACT);
382 rSet.DisableItem(SID_POLY_INTERSECT);
385 if (b3dObj ||
386 (!mpDrawView->IsConvertToPathObjPossible(sal_False) &&
387 !mpDrawView->IsShearAllowed() &&
388 !mpDrawView->IsDistortAllowed()) )
390 rSet.DisableItem( SID_OBJECT_SHEAR );
393 if( !bGroup )
395 rSet.DisableItem( SID_UNGROUP );
397 if( bTable )
398 rSet.DisableItem( SID_TEXTATTR_DLG );
400 if( !bMeasureObj )
401 rSet.DisableItem( SID_MEASURE_DLG );
403 if (!bGraf)
405 rSet.DisableItem(SID_CONVERT_TO_1BIT_THRESHOLD);
406 rSet.DisableItem(SID_CONVERT_TO_1BIT_MATRIX);
407 rSet.DisableItem(SID_CONVERT_TO_4BIT_GRAYS);
408 rSet.DisableItem(SID_CONVERT_TO_4BIT_COLORS);
409 rSet.DisableItem(SID_CONVERT_TO_8BIT_GRAYS);
410 rSet.DisableItem(SID_CONVERT_TO_8BIT_COLORS);
411 rSet.DisableItem(SID_CONVERT_TO_24BIT);
414 if(bE3dCompoundObject)
416 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
417 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
418 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
419 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
420 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
421 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
422 rSet.DisableItem( SID_FRAME_TO_TOP );
423 rSet.DisableItem( SID_MOREFRONT );
424 rSet.DisableItem( SID_MOREBACK );
425 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
426 rSet.DisableItem( SID_BEFORE_OBJ );
427 rSet.DisableItem( SID_BEHIND_OBJ );
428 rSet.DisableItem( SID_REVERSE_ORDER );
432 if ( !mpDrawView->IsDismantlePossible(sal_False) )
434 rSet.DisableItem( SID_DISMANTLE );
436 if ( !mpDrawView->IsDismantlePossible(sal_True) &&
437 !mpDrawView->IsImportMtfPossible() &&
438 !mpDrawView->IsBreak3DObjPossible() )
440 rSet.DisableItem( SID_BREAK );
442 if ( !mpDrawView->IsCombinePossible(sal_False) )
444 rSet.DisableItem( SID_COMBINE );
445 rSet.DisableItem(SID_POLY_MERGE);
446 rSet.DisableItem(SID_POLY_SUBSTRACT);
447 rSet.DisableItem(SID_POLY_INTERSECT);
449 if ( !mpDrawView->IsCombinePossible(sal_True) )
451 rSet.DisableItem( SID_CONNECT );
453 if ( !mpDrawView->IsGroupPossible() )
455 rSet.DisableItem( SID_GROUP );
457 if ( !mpDrawView->IsUnGroupPossible() )
459 rSet.DisableItem( SID_UNGROUP );
462 // select no object
463 else
465 rSet.DisableItem( SID_ENTER_GROUP );
466 rSet.DisableItem( SID_CUT );
467 rSet.DisableItem( SID_COPY );
468 rSet.DisableItem( SID_DELETE );
469 rSet.DisableItem( SID_ATTR_TRANSFORM );
471 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
472 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
473 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
474 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
475 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
476 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
478 rSet.DisableItem( SID_FRAME_TO_TOP );
479 rSet.DisableItem( SID_MOREFRONT );
480 rSet.DisableItem( SID_MOREBACK );
481 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
482 rSet.DisableItem( SID_BEFORE_OBJ );
483 rSet.DisableItem( SID_BEHIND_OBJ );
484 rSet.DisableItem( SID_CONVERT );
486 rSet.DisableItem( SID_SIZE_OPTIMAL );
487 rSet.DisableItem( SID_LINEEND_POLYGON );
488 rSet.DisableItem( SID_COPYOBJECTS );
489 rSet.DisableItem( SID_HORIZONTAL );
490 rSet.DisableItem( SID_VERTICAL );
491 rSet.DisableItem( SID_FLIP_HORIZONTAL );
492 rSet.DisableItem( SID_FLIP_VERTICAL );
493 rSet.DisableItem( SID_GROUP );
494 rSet.DisableItem( SID_UNGROUP );
495 rSet.DisableItem( SID_NAME_GROUP );
497 // #i68101#
498 rSet.DisableItem( SID_OBJECT_TITLE_DESCRIPTION );
500 rSet.DisableItem( SID_DISMANTLE );
501 rSet.DisableItem( SID_BREAK );
502 rSet.DisableItem( SID_COMBINE );
503 rSet.DisableItem(SID_DISTRIBUTE_DLG);
504 rSet.DisableItem(SID_POLY_MERGE);
505 rSet.DisableItem(SID_POLY_SUBSTRACT);
506 rSet.DisableItem(SID_POLY_INTERSECT);
507 rSet.DisableItem( SID_CONNECT );
508 rSet.DisableItem( SID_ANIMATION_EFFECTS );
509 rSet.DisableItem( SID_MODIFY_FIELD );
510 rSet.DisableItem (SID_OBJECT_SHEAR);
516 } // end of namespace sd
518 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */