bump product version to 5.0.4.1
[LibreOffice.git] / sd / source / ui / view / drviewsj.cxx
blob857601ffa853d734fdb56f85bf55c2c0979d49bb
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>
40 #include "app.hrc"
42 #include "Outliner.hxx"
43 #include "sdpage.hxx"
44 #include "fupoor.hxx"
45 #include "fusel.hxx"
46 #include "drawdoc.hxx"
47 #include "DrawDocShell.hxx"
48 #include "drawview.hxx"
49 #include "optsitem.hxx"
51 using namespace com::sun::star;
53 namespace sd {
55 /**
56 * Set state (Enabled/Disabled) of Menu-SfxSlots
58 void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
60 // Status of menu entries (Buttons,...)
62 // Single selection
63 const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
64 const size_t nMarkCount = rMarkList.GetMarkCount();
66 if ( nMarkCount == 1 )
68 if( SfxItemState::DEFAULT == rSet.GetItemState( SID_BEZIER_EDIT ) ||
69 SfxItemState::DEFAULT == rSet.GetItemState( SID_UNGROUP ) ||
70 SfxItemState::DEFAULT == rSet.GetItemState( SID_ENTER_GROUP ) ||
71 SfxItemState::DEFAULT == rSet.GetItemState( SID_NAME_GROUP ) ||
73 // #i68101#
74 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_TITLE_DESCRIPTION ) ||
76 SfxItemState::DEFAULT == rSet.GetItemState( SID_ATTR_FILL_STYLE ) ||
77 SfxItemState::DEFAULT == rSet.GetItemState( SID_ATTR_FILL_TRANSPARENCE ) ||
78 SfxItemState::DEFAULT == rSet.GetItemState( SID_ATTR_FILL_FLOATTRANSPARENCE ) ||
79 SfxItemState::DEFAULT == rSet.GetItemState( SID_CHANGEBEZIER ) ||
80 SfxItemState::DEFAULT == rSet.GetItemState( SID_CHANGEPOLYGON ) ||
81 SfxItemState::DEFAULT == rSet.GetItemState( SID_LINEEND_POLYGON ) ||
82 SfxItemState::DEFAULT == rSet.GetItemState( OBJ_TITLETEXT ) ||
83 SfxItemState::DEFAULT == rSet.GetItemState( OBJ_OUTLINETEXT ) ||
84 SfxItemState::DEFAULT == rSet.GetItemState( SID_MEASURE_DLG ) ||
85 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONNECTION_DLG ) ||
86 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONNECTION_NEW_ROUTING ) ||
87 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_SHEAR ) ||
88 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_1BIT_THRESHOLD ) ||
89 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_1BIT_MATRIX ) ||
90 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_4BIT_GRAYS ) ||
91 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_4BIT_COLORS ) ||
92 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_8BIT_GRAYS ) ||
93 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_8BIT_COLORS ) ||
94 SfxItemState::DEFAULT == rSet.GetItemState( SID_CONVERT_TO_24BIT ) ||
95 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_LEFT ) ||
96 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_CENTER ) ||
97 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_RIGHT ) ||
98 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_UP ) ||
99 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_MIDDLE ) ||
100 SfxItemState::DEFAULT == rSet.GetItemState( SID_OBJECT_ALIGN_DOWN ) ||
101 SfxItemState::DEFAULT == rSet.GetItemState( SID_FRAME_TO_TOP ) ||
102 SfxItemState::DEFAULT == rSet.GetItemState( SID_MOREFRONT ) ||
103 SfxItemState::DEFAULT == rSet.GetItemState( SID_MOREBACK ) ||
104 SfxItemState::DEFAULT == rSet.GetItemState( SID_FRAME_TO_BOTTOM ) ||
105 SfxItemState::DEFAULT == rSet.GetItemState( SID_BEFORE_OBJ ) ||
106 SfxItemState::DEFAULT == rSet.GetItemState( SID_BEHIND_OBJ ) ||
107 SfxItemState::DEFAULT == rSet.GetItemState( SID_REVERSE_ORDER ) ||
108 SfxItemState::DEFAULT == rSet.GetItemState( SID_ORIGINAL_SIZE ) ||
109 SfxItemState::DEFAULT == rSet.GetItemState( SID_SAVE_GRAPHIC ) ||
110 SfxItemState::DEFAULT == rSet.GetItemState( SID_COMPRESS_GRAPHIC ) ||
111 SfxItemState::DEFAULT == rSet.GetItemState( SID_TEXTATTR_DLG ) )
113 const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
114 const SdrGrafObj* pSdrGrafObj = dynamic_cast< const SdrGrafObj* >(pObj);
115 const SdrOle2Obj* pSdrOle2Obj = dynamic_cast< const SdrOle2Obj* >(pObj);
116 sal_uInt32 nInv = pObj->GetObjInventor();
117 sal_uInt16 nId = pObj->GetObjIdentifier();
118 SdrObjTransformInfoRec aInfoRec;
119 pObj->TakeObjInfo( aInfoRec );
121 // don't show original size entry if not possible
122 if(pSdrOle2Obj)
124 if (pSdrOle2Obj->GetObjRef().is() &&
125 ((pSdrOle2Obj->GetObjRef()->getStatus( pSdrOle2Obj->GetAspect() ) & embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE) ) )
126 rSet.DisableItem(SID_ORIGINAL_SIZE);
129 if(!pSdrGrafObj)
131 rSet.DisableItem(SID_SAVE_GRAPHIC);
132 rSet.DisableItem(SID_COMPRESS_GRAPHIC);
135 /* If it is not a group object or 3D object, we disable "enter
136 group". */
137 if( !( ( pObj->ISA( SdrObjGroup ) && nInv == SdrInventor ) ||
138 (pObj->ISA (E3dPolyScene) || pObj->ISA (E3dScene) /*|| pObj->ISA (E3dCompoundObject) */) ) )
140 rSet.DisableItem( SID_ENTER_GROUP );
143 // If it is not a group object, we disable "ungroup"
144 if (!(pObj->ISA(SdrObjGroup) && nInv == SdrInventor))
146 rSet.DisableItem(SID_UNGROUP);
148 if(!pSdrGrafObj ||
149 pSdrGrafObj->GetGraphicType() != GRAPHIC_BITMAP ||
150 pSdrGrafObj->IsLinkedGraphic() ||
151 pSdrGrafObj->isEmbeddedSvg())
153 rSet.DisableItem(SID_CONVERT_TO_1BIT_THRESHOLD);
154 rSet.DisableItem(SID_CONVERT_TO_1BIT_MATRIX);
155 rSet.DisableItem(SID_CONVERT_TO_4BIT_GRAYS);
156 rSet.DisableItem(SID_CONVERT_TO_4BIT_COLORS);
157 rSet.DisableItem(SID_CONVERT_TO_8BIT_GRAYS);
158 rSet.DisableItem(SID_CONVERT_TO_8BIT_COLORS);
159 rSet.DisableItem(SID_CONVERT_TO_24BIT);
162 if( nInv == SdrInventor &&
163 (nId == OBJ_LINE ||
164 nId == OBJ_PLIN ||
165 nId == OBJ_PATHLINE ||
166 nId == OBJ_FREELINE ))
168 //rSet.DisableItem( SID_ATTRIBUTES_AREA ); // remove again!
169 rSet.DisableItem( SID_ATTR_FILL_STYLE );
170 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
171 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
173 if( (!pObj->ISA( SdrPathObj ) && !aInfoRec.bCanConvToPath) || pObj->ISA( SdrObjGroup ) ) // As long as JOE handles it incorrectly!
174 { // JOE: a group object may can be converted into a PathObj
175 rSet.DisableItem( SID_LINEEND_POLYGON );
177 if(nInv == SdrInventor &&
178 (nId == OBJ_PATHFILL || nId == OBJ_PATHLINE || !aInfoRec.bCanConvToPath))
179 rSet.DisableItem( SID_CHANGEBEZIER );
181 if( nInv == SdrInventor &&
182 ( nId == OBJ_POLY || nId == OBJ_PLIN || !aInfoRec.bCanConvToPoly ) &&
183 !GetView()->IsVectorizeAllowed() )
185 rSet.DisableItem( SID_CHANGEPOLYGON );
188 if(nInv == SdrInventor && nId == OBJ_TABLE )
190 rSet.DisableItem( SID_TEXTATTR_DLG );
193 if( nInv != SdrInventor || nId != OBJ_MEASURE )
194 rSet.DisableItem( SID_MEASURE_DLG );
196 if( nInv != SdrInventor || nId != OBJ_EDGE )
197 rSet.DisableItem( SID_CONNECTION_DLG );
198 else
200 bool bDisable = true;
201 SfxItemSet aAttrSet( GetDoc()->GetPool() );
202 GetView()->GetAttributes( aAttrSet );
204 if( aAttrSet.GetItemState( SDRATTR_EDGELINE1DELTA ) >= SfxItemState::DEFAULT &&
205 aAttrSet.GetItemState( SDRATTR_EDGELINE2DELTA ) >= SfxItemState::DEFAULT &&
206 aAttrSet.GetItemState( SDRATTR_EDGELINE3DELTA ) >= SfxItemState::DEFAULT )
208 long nVal1 = static_cast<const SdrMetricItem&>( aAttrSet.Get( SDRATTR_EDGELINE1DELTA ) ).GetValue();
209 long nVal2 = static_cast<const SdrMetricItem&>( aAttrSet.Get( SDRATTR_EDGELINE2DELTA ) ).GetValue();
210 long nVal3 = static_cast<const SdrMetricItem&>( aAttrSet.Get( SDRATTR_EDGELINE3DELTA ) ).GetValue();
212 if( nVal1 != 0 || nVal2 != 0 || nVal3 != 0 )
213 bDisable = false;
216 if( bDisable )
217 rSet.DisableItem( SID_CONNECTION_NEW_ROUTING );
220 if ( nInv == E3dInventor ||
221 (!mpDrawView->IsConvertToPathObjPossible(false) &&
222 !mpDrawView->IsShearAllowed() &&
223 !mpDrawView->IsDistortAllowed()) )
225 rSet.DisableItem( SID_OBJECT_SHEAR );
228 if(pObj->ISA(E3dCompoundObject))
230 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
231 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
232 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
233 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
234 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
235 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
236 rSet.DisableItem( SID_FRAME_TO_TOP );
237 rSet.DisableItem( SID_MOREFRONT );
238 rSet.DisableItem( SID_MOREBACK );
239 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
240 rSet.DisableItem( SID_BEFORE_OBJ );
241 rSet.DisableItem( SID_BEHIND_OBJ );
242 rSet.DisableItem( SID_REVERSE_ORDER );
246 if( SfxItemState::DEFAULT == rSet.GetItemState( SID_DISMANTLE ) ||
247 SfxItemState::DEFAULT == rSet.GetItemState( SID_BREAK ) )
249 if ( !mpDrawView->IsDismantlePossible(false) )
251 rSet.DisableItem( SID_DISMANTLE );
254 if ( !mpDrawView->IsDismantlePossible(true) &&
255 !mpDrawView->IsImportMtfPossible() &&
256 !mpDrawView->IsBreak3DObjPossible() )
258 rSet.DisableItem( SID_BREAK );
261 if( SfxItemState::DEFAULT == rSet.GetItemState( SID_MODIFY_FIELD ) )
263 OutlinerView* pOLV = mpDrawView->GetTextEditOutlinerView();
265 if( pOLV )
267 const SvxFieldItem* pFldItem = pOLV->GetFieldAtSelection();
269 if( !( pFldItem && (pFldItem->GetField()->ISA( SvxDateField ) ||
270 pFldItem->GetField()->ISA( SvxAuthorField ) ||
271 pFldItem->GetField()->ISA( SvxExtFileField ) ||
272 pFldItem->GetField()->ISA( SvxExtTimeField ) ) ) )
274 rSet.DisableItem( SID_MODIFY_FIELD );
277 else
278 rSet.DisableItem( SID_MODIFY_FIELD );
280 if( SfxItemState::DEFAULT == rSet.GetItemState( SID_OUTLINE_TEXT_AUTOFIT ) )
282 const SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
283 const bool bSet = static_cast<const SdrTextFitToSizeTypeItem*>(pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
284 rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet));
287 rSet.DisableItem( SID_GROUP );
288 rSet.DisableItem( SID_COMBINE );
289 rSet.DisableItem(SID_DISTRIBUTE_DLG);
290 rSet.DisableItem(SID_POLY_MERGE);
291 rSet.DisableItem(SID_POLY_SUBSTRACT);
292 rSet.DisableItem(SID_POLY_INTERSECT);
293 rSet.DisableItem( SID_CONNECT );
295 // multi-selection
296 else if( nMarkCount > 1 )
298 // distribure dialog for 3+n objects
299 if(nMarkCount <= 2)
300 rSet.DisableItem(SID_DISTRIBUTE_DLG);
302 rSet.DisableItem( SID_LINEEND_POLYGON );
303 rSet.DisableItem( SID_ENTER_GROUP );
304 // Now names for objects have to be unique
305 rSet.DisableItem( SID_NAME_GROUP );
306 // #i68101#
307 rSet.DisableItem( SID_OBJECT_TITLE_DESCRIPTION );
308 rSet.DisableItem( SID_MODIFY_FIELD );
311 bool bText = false;
312 bool bLine = false;
313 bool bGroup = false;
314 bool bGraf = false;
315 bool bDrawObj = false;
316 bool b3dObj = false;
317 bool bTable = false;
318 bool bMeasureObj = false;
319 bool bEdgeObj = false; // Connector
320 bool bE3dCompoundObject = false;
322 for( size_t i = 0; i < nMarkCount && !bText && i < 50; ++i )
324 SdrObject* pObj = rMarkList.GetMark(i)->GetMarkedSdrObj();
325 sal_uInt32 nInv = pObj->GetObjInventor();
326 sal_uInt16 nId = pObj->GetObjIdentifier();
328 if (nInv == SdrInventor)
330 switch (nId)
332 case OBJ_TEXT: bText = true; break;
334 case OBJ_LINE: bLine = true; break;
336 case OBJ_EDGE: bEdgeObj = true; break;
338 case OBJ_MEASURE: bMeasureObj = true; break;
340 case OBJ_RECT:
341 case OBJ_CIRC:
342 case OBJ_FREELINE:
343 case OBJ_FREEFILL:
344 case OBJ_PATHFILL:
345 case OBJ_PATHLINE:
346 case OBJ_SECT:
347 case OBJ_CARC:
348 case OBJ_CCUT: bDrawObj = true; break;
350 case OBJ_GRUP: bGroup = true; break;
352 case OBJ_GRAF: bGraf = true; break;
354 case OBJ_TABLE: bTable = true; break;
357 else if (nInv == E3dInventor)
359 if(pObj->ISA(E3dScene))
360 b3dObj = true;
361 else if(pObj->ISA(E3dCompoundObject))
362 bE3dCompoundObject = true;
365 if( bLine && !bText && !bDrawObj &&!b3dObj)
367 rSet.DisableItem( SID_ATTR_FILL_STYLE );
368 rSet.DisableItem( SID_ATTR_FILL_TRANSPARENCE );
369 rSet.DisableItem( SID_ATTR_FILL_FLOATTRANSPARENCE );
371 if( !bEdgeObj )
372 rSet.DisableItem( SID_CONNECTION_DLG );
374 if (b3dObj)
376 rSet.DisableItem( SID_COMBINE );
377 rSet.DisableItem(SID_POLY_MERGE);
378 rSet.DisableItem(SID_POLY_SUBSTRACT);
379 rSet.DisableItem(SID_POLY_INTERSECT);
382 if (b3dObj ||
383 (!mpDrawView->IsConvertToPathObjPossible(false) &&
384 !mpDrawView->IsShearAllowed() &&
385 !mpDrawView->IsDistortAllowed()) )
387 rSet.DisableItem( SID_OBJECT_SHEAR );
390 if( !bGroup )
392 rSet.DisableItem( SID_UNGROUP );
394 if( bTable )
395 rSet.DisableItem( SID_TEXTATTR_DLG );
397 if( !bMeasureObj )
398 rSet.DisableItem( SID_MEASURE_DLG );
400 if (!bGraf)
402 rSet.DisableItem(SID_CONVERT_TO_1BIT_THRESHOLD);
403 rSet.DisableItem(SID_CONVERT_TO_1BIT_MATRIX);
404 rSet.DisableItem(SID_CONVERT_TO_4BIT_GRAYS);
405 rSet.DisableItem(SID_CONVERT_TO_4BIT_COLORS);
406 rSet.DisableItem(SID_CONVERT_TO_8BIT_GRAYS);
407 rSet.DisableItem(SID_CONVERT_TO_8BIT_COLORS);
408 rSet.DisableItem(SID_CONVERT_TO_24BIT);
411 if(bE3dCompoundObject)
413 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
414 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
415 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
416 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
417 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
418 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
419 rSet.DisableItem( SID_FRAME_TO_TOP );
420 rSet.DisableItem( SID_MOREFRONT );
421 rSet.DisableItem( SID_MOREBACK );
422 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
423 rSet.DisableItem( SID_BEFORE_OBJ );
424 rSet.DisableItem( SID_BEHIND_OBJ );
425 rSet.DisableItem( SID_REVERSE_ORDER );
429 if ( !mpDrawView->IsDismantlePossible(false) )
431 rSet.DisableItem( SID_DISMANTLE );
433 if ( !mpDrawView->IsDismantlePossible(true) &&
434 !mpDrawView->IsImportMtfPossible() &&
435 !mpDrawView->IsBreak3DObjPossible() )
437 rSet.DisableItem( SID_BREAK );
439 if ( !mpDrawView->IsCombinePossible(false) )
441 rSet.DisableItem( SID_COMBINE );
442 rSet.DisableItem(SID_POLY_MERGE);
443 rSet.DisableItem(SID_POLY_SUBSTRACT);
444 rSet.DisableItem(SID_POLY_INTERSECT);
446 if ( !mpDrawView->IsCombinePossible(true) )
448 rSet.DisableItem( SID_CONNECT );
450 if ( !mpDrawView->IsGroupPossible() )
452 rSet.DisableItem( SID_GROUP );
454 if ( !mpDrawView->IsUnGroupPossible() )
456 rSet.DisableItem( SID_UNGROUP );
459 // select no object
460 else
462 rSet.DisableItem( SID_ENTER_GROUP );
463 rSet.DisableItem( SID_CUT );
464 rSet.DisableItem( SID_COPY );
465 rSet.DisableItem( SID_DELETE );
466 rSet.DisableItem( SID_ATTR_TRANSFORM );
468 rSet.DisableItem( SID_OBJECT_ALIGN_LEFT );
469 rSet.DisableItem( SID_OBJECT_ALIGN_CENTER );
470 rSet.DisableItem( SID_OBJECT_ALIGN_RIGHT );
471 rSet.DisableItem( SID_OBJECT_ALIGN_UP );
472 rSet.DisableItem( SID_OBJECT_ALIGN_MIDDLE );
473 rSet.DisableItem( SID_OBJECT_ALIGN_DOWN );
475 rSet.DisableItem( SID_FRAME_TO_TOP );
476 rSet.DisableItem( SID_MOREFRONT );
477 rSet.DisableItem( SID_MOREBACK );
478 rSet.DisableItem( SID_FRAME_TO_BOTTOM );
479 rSet.DisableItem( SID_BEFORE_OBJ );
480 rSet.DisableItem( SID_BEHIND_OBJ );
481 rSet.DisableItem( SID_CONVERT );
483 rSet.DisableItem( SID_SIZE_OPTIMAL );
484 rSet.DisableItem( SID_LINEEND_POLYGON );
485 rSet.DisableItem( SID_COPYOBJECTS );
486 rSet.DisableItem( SID_HORIZONTAL );
487 rSet.DisableItem( SID_VERTICAL );
488 rSet.DisableItem( SID_FLIP_HORIZONTAL );
489 rSet.DisableItem( SID_FLIP_VERTICAL );
490 rSet.DisableItem( SID_GROUP );
491 rSet.DisableItem( SID_UNGROUP );
492 rSet.DisableItem( SID_NAME_GROUP );
494 // #i68101#
495 rSet.DisableItem( SID_OBJECT_TITLE_DESCRIPTION );
497 rSet.DisableItem( SID_DISMANTLE );
498 rSet.DisableItem( SID_BREAK );
499 rSet.DisableItem( SID_COMBINE );
500 rSet.DisableItem(SID_DISTRIBUTE_DLG);
501 rSet.DisableItem(SID_POLY_MERGE);
502 rSet.DisableItem(SID_POLY_SUBSTRACT);
503 rSet.DisableItem(SID_POLY_INTERSECT);
504 rSet.DisableItem( SID_CONNECT );
505 rSet.DisableItem( SID_ANIMATION_EFFECTS );
506 rSet.DisableItem( SID_MODIFY_FIELD );
507 rSet.DisableItem (SID_OBJECT_SHEAR);
512 } // end of namespace sd
514 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */