20 #ifndef INCLUDED_SVX_SVDEDTV_HXX
21 #define INCLUDED_SVX_SVDEDTV_HXX
80 bool m_bPossibilitiesDirty : 1;
82 bool m_bGroupPossible : 1;
83 bool m_bUnGroupPossible : 1;
84 bool m_bGrpEnterPossible : 1;
85 bool m_bToTopPossible : 1;
86 bool m_bToBtmPossible : 1;
87 bool m_bReverseOrderPossible : 1;
88 bool m_bImportMtfPossible : 1;
89 bool m_bCombinePossible : 1;
90 bool m_bDismantlePossible : 1;
91 bool m_bCombineNoPolyPolyPossible : 1;
92 bool m_bDismantleMakeLinesPossible : 1;
93 bool m_bOrthoDesiredOnMarked : 1;
94 bool m_bOneOrMoreMovable : 1;
95 bool m_bMoreThanOneNoMovRot : 1;
96 bool m_bContortionPossible : 1;
97 bool m_bMoveAllowed : 1;
98 bool m_bResizeFreeAllowed : 1;
99 bool m_bResizePropAllowed : 1;
100 bool m_bRotateFreeAllowed : 1;
101 bool m_bRotate90Allowed : 1;
102 bool m_bMirrorFreeAllowed : 1;
103 bool m_bMirror45Allowed : 1;
104 bool m_bMirror90Allowed : 1;
105 bool m_bShearAllowed : 1;
106 bool m_bEdgeRadiusAllowed : 1;
107 bool m_bTransparenceAllowed : 1;
108 bool m_bCropAllowed : 1;
109 bool m_bGradientAllowed : 1;
110 bool m_bCanConvToPath : 1;
111 bool m_bCanConvToPoly : 1;
112 bool m_bCanConvToContour : 1;
113 bool m_bMoveProtect : 1;
114 bool m_bResizeProtect : 1;
120 void ImpBroadcastEdgesOfMarkedNodes();
123 void ImpConvertTo(
bool bPath,
bool bLineToArea);
132 void ImpCheckToTopBtmPossible();
138 static bool ImpCanConvertForCombine1(
const SdrObject* pObj);
139 static bool ImpCanConvertForCombine(
const SdrObject* pObj);
146 static bool ImpCanDismantle(
const SdrObject* pObj,
bool bMakeLines);
157 std::vector<SdrObject *> DeleteMarkedList(
SdrMarkList const& rMark);
160 virtual void CheckPossibilities();
179 void BegUndo(
const OUString& rComment) { mpModel->BegUndo(rComment); }
182 void AddUndo(std::unique_ptr<SdrUndoAction> pUndo) { mpModel->AddUndo(std::move(pUndo)); }
184 void SetUndoComment(
const OUString& rComment,
const OUString& rObjDescr) { mpModel->SetUndoComment(rComment,rObjDescr); }
185 bool IsUndoEnabled()
const;
190 void EndTextEditAllViews()
const;
192 std::vector< std::unique_ptr<SdrUndoAction> > CreateConnectorUndo(
SdrObject& rO );
193 void AddUndoActions( std::vector< std::unique_ptr<SdrUndoAction> > );
196 void InsertNewLayer(
const OUString& rName, sal_uInt16 nPos);
198 void DeleteLayer(
const OUString& rName);
202 void ForceMarkedObjToAnotherPage();
206 void DeleteMarkedObj();
212 void MoveMarkedObj(
const Size& rSiz,
bool bCopy=
false);
213 void ResizeMarkedObj(
const Point& rRef,
const Fraction& xFact,
const Fraction& yFact,
bool bCopy=
false);
214 void ResizeMultMarkedObj(
const Point& rRef,
const Fraction& xFact,
const Fraction& yFact,
const bool bWdh,
const bool bHgt);
216 void RotateMarkedObj(
const Point& rRef,
Degree100 nAngle,
bool bCopy=
false);
217 void MirrorMarkedObj(
const Point& rRef1,
const Point& rRef2,
bool bCopy=
false);
218 void MirrorMarkedObjHorizontal();
219 void MirrorMarkedObjVertical();
221 void ShearMarkedObj(
const Point& rRef,
Degree100 nAngle,
bool bVShear=
false,
bool bCopy=
false);
222 void CrookMarkedObj(
const Point& rRef,
const Point& rRad,
SdrCrookMode eMode,
bool bVertical,
bool bNoContortion,
bool bCopy=
false);
223 void DistortMarkedObj(
const tools::Rectangle& rRef,
const XPolygon& rDistortedRect,
bool bNoContortion,
bool bCopy=
false);
226 void CopyMarkedObj();
234 bool IsMoveAllowed()
const { ForcePossibilities();
return m_bMoveAllowed && !m_bMoveProtect; }
235 bool IsResizeAllowed(
bool bProp=
false)
const;
236 bool IsRotateAllowed(
bool b90Deg=
false)
const;
237 bool IsMirrorAllowed(
bool b45Deg=
false,
bool b90Deg=
false)
const;
238 bool IsTransparenceAllowed()
const;
239 bool IsGradientAllowed()
const;
240 bool IsShearAllowed()
const;
241 bool IsEdgeRadiusAllowed()
const;
242 bool IsCrookAllowed(
bool bNoContortion=
false)
const;
243 bool IsCropAllowed()
const;
244 bool IsDistortAllowed(
bool bNoContortion=
false)
const;
248 void CombineMarkedTextObjects();
259 void CombineMarkedObjects(
bool bNoPolyPoly =
true);
266 void DistributeMarkedObjects(sal_uInt16 SlotID);
271 void EqualizeMarkedObjects(
bool bWidth);
276 void DismantleMarkedObjects(
bool bMakeLines=
false);
277 bool IsCombinePossible(
bool bNoPolyPoly=
false)
const;
278 bool IsDismantlePossible(
bool bMakeLines=
false)
const;
298 void SetNotPersistAttrToMarked(
const SfxItemSet& rAttr);
299 void MergeNotPersistAttrFromMarked(
SfxItemSet& rAttr)
const;
300 void MergeAttrFromMarked(
SfxItemSet& rAttr,
bool bOnlyHardAttr)
const;
301 SfxItemSet GetAttrFromMarked(
bool bOnlyHardAttr)
const;
302 void SetAttrToMarked(
const SfxItemSet& rAttr,
bool bReplaceAll);
311 void SetGeoAttrToMarked(
const SfxItemSet& rAttr,
bool addPageMargin =
false);
320 void SetStyleSheetToMarked(
SfxStyleSheet* pStyleSheet,
bool bDontRemoveHardAttr);
339 void UnGroupMarked();
352 void ConvertMarkedToPathObj(
bool bLineToArea);
353 void ConvertMarkedToPolyObj();
357 bool IsAlignPossible()
const;
360 void MovMarkedToTop();
363 void MovMarkedToBtm();
366 void PutMarkedToTop();
369 void PutMarkedToBtm();
373 void PutMarkedInFrontOfObj(
const SdrObject* pRefObj);
377 void PutMarkedBehindObj(
const SdrObject* pRefObj);
380 void ReverseOrderOfMarked();
401 virtual void ObjOrderChanged(
SdrObject* pObj,
size_t nOldPos,
size_t nNewPos);
415 #endif // INCLUDED_SVX_SVDEDTV_HXX
void SetStyleSheet(SfxStyleSheet *pStyleSheet, bool bDontRemoveHardAttr)
void MirrorAllMarkedHorizontal()
void ForcePossibilities() const
Abstract base class (ABC) for all UndoActions of DrawingEngine.
bool IsReverseOrderPossible() const
bool IsMoveAllowed() const
virtual void MarkListHasChanged()
void SetAllMarkedRect(const tools::Rectangle &rRect)
void SetUndoComment(const OUString &rComment, const OUString &rObjDescr)
bool IsConvertToPolyObjPossible() const
void BegUndo(const OUString &rComment)
bool IsToBtmPossible() const
SfxStyleSheet * GetStyleSheet() const
void GetAttributes(SfxItemSet &rTargetSet, bool bOnlyHardAttr) const
void AddUndo(std::unique_ptr< SdrUndoAction > pUndo)
void MirrorAllMarkedVertical()
bool IsGroupEnterPossible() const
bool IsToTopPossible() const
void SetAttributes(const SfxItemSet &rSet, bool bReplaceAll)
Helper class for the communication between the dialog In order to break open Metafiles (sd/source/ui/...
void RotateAllMarked(const Point &rRef, Degree100 nAngle)
Aggregation of arbitrarily many UndoActions to a single UndoAction.
void BegUndo(const OUString &rComment, const OUString &rObjDescr, SdrRepeatFunc eFunc=SdrRepeatFunc::NONE)
void ResizeAllMarked(const Point &rRef, const Fraction &xFact, const Fraction &yFact)
bool IsGroupPossible() const
#define SVXCORE_DLLPUBLIC
bool IsUnGroupPossible() const
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
virtual void ModelHasChanged() override
bool IsConvertToPathObjPossible() const
bool IsImportMtfPossible() const
bool IsConvertToContourPossible() const
void MoveAllMarked(const Size &rSiz, bool bCopy=false)
void ForceMarkedToAnotherPage()