1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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>
43 #include "Outliner.hxx"
47 #include "drawdoc.hxx"
48 #include "DrawDocShell.hxx"
49 #include "drawview.hxx"
50 #include "optsitem.hxx"
52 using namespace com::sun::star
;
57 * Set state (Enabled/Disabled) of Menu-SfxSlots
59 void DrawViewShell::GetMenuStateSel( SfxItemSet
&rSet
)
61 // Status of menu entries (Buttons,...)
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
) ||
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
125 if (pSdrOle2Obj
->GetObjRef().is() &&
126 ((pSdrOle2Obj
->GetObjRef()->getStatus( pSdrOle2Obj
->GetAspect() ) & embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE
) ) )
127 rSet
.DisableItem(SID_ORIGINAL_SIZE
);
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
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
);
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
&&
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
);
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
;
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();
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
);
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
);
297 else if( nMarkCount
> 1 )
299 // distribure dialog for 3+n objects
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
);
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
;
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;
327 SdrObject
* pObj
= rMarkList
.GetMark(i
)->GetMarkedSdrObj();
328 sal_uInt32 nInv
= pObj
->GetObjInventor();
329 sal_uInt16 nId
= pObj
->GetObjIdentifier();
331 if (nInv
== SdrInventor
)
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;
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
))
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
);
375 rSet
.DisableItem( SID_CONNECTION_DLG
);
379 rSet
.DisableItem( SID_COMBINE
);
380 rSet
.DisableItem(SID_POLY_MERGE
);
381 rSet
.DisableItem(SID_POLY_SUBSTRACT
);
382 rSet
.DisableItem(SID_POLY_INTERSECT
);
386 (!mpDrawView
->IsConvertToPathObjPossible(sal_False
) &&
387 !mpDrawView
->IsShearAllowed() &&
388 !mpDrawView
->IsDistortAllowed()) )
390 rSet
.DisableItem( SID_OBJECT_SHEAR
);
395 rSet
.DisableItem( SID_UNGROUP
);
398 rSet
.DisableItem( SID_TEXTATTR_DLG
);
401 rSet
.DisableItem( SID_MEASURE_DLG
);
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
);
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
);
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: */