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;
191 void EndTextEditCurrentView(
bool bDontDeleteReally =
false);
193 std::vector< std::unique_ptr<SdrUndoAction> > CreateConnectorUndo(
const SdrObject& rO );
194 void AddUndoActions( std::vector< std::unique_ptr<SdrUndoAction> > );
197 void InsertNewLayer(
const OUString& rName, sal_uInt16 nPos);
199 void DeleteLayer(
const OUString& rName);
203 void ForceMarkedObjToAnotherPage();
207 void DeleteMarkedObj();
213 void MoveMarkedObj(
const Size& rSiz,
bool bCopy=
false);
214 void ResizeMarkedObj(
const Point& rRef,
const Fraction& xFact,
const Fraction& yFact,
bool bCopy=
false);
215 void ResizeMultMarkedObj(
const Point& rRef,
const Fraction& xFact,
const Fraction& yFact,
const bool bWdh,
const bool bHgt);
217 void RotateMarkedObj(
const Point& rRef,
Degree100 nAngle,
bool bCopy=
false);
218 void MirrorMarkedObj(
const Point& rRef1,
const Point& rRef2,
bool bCopy=
false);
219 void MirrorMarkedObjHorizontal();
220 void MirrorMarkedObjVertical();
222 void ShearMarkedObj(
const Point& rRef,
Degree100 nAngle,
bool bVShear=
false,
bool bCopy=
false);
223 void CrookMarkedObj(
const Point& rRef,
const Point& rRad,
SdrCrookMode eMode,
bool bVertical,
bool bNoContortion,
bool bCopy=
false);
224 void DistortMarkedObj(
const tools::Rectangle& rRef,
const XPolygon& rDistortedRect,
bool bNoContortion,
bool bCopy=
false);
227 void CopyMarkedObj();
235 bool IsMoveAllowed()
const { ForcePossibilities();
return m_bMoveAllowed && !m_bMoveProtect; }
236 bool IsResizeAllowed(
bool bProp=
false)
const;
237 bool IsRotateAllowed(
bool b90Deg=
false)
const;
238 bool IsMirrorAllowed(
bool b45Deg=
false,
bool b90Deg=
false)
const;
239 bool IsTransparenceAllowed()
const;
240 bool IsGradientAllowed()
const;
241 bool IsShearAllowed()
const;
242 bool IsEdgeRadiusAllowed()
const;
243 bool IsCrookAllowed(
bool bNoContortion=
false)
const;
244 bool IsCropAllowed()
const;
245 bool IsDistortAllowed(
bool bNoContortion=
false)
const;
249 void CombineMarkedTextObjects();
260 void CombineMarkedObjects(
bool bNoPolyPoly =
true);
267 void DistributeMarkedObjects(sal_uInt16 SlotID);
272 void EqualizeMarkedObjects(
bool bWidth);
277 void DismantleMarkedObjects(
bool bMakeLines=
false);
278 bool IsCombinePossible(
bool bNoPolyPoly=
false)
const;
279 bool IsDismantlePossible(
bool bMakeLines=
false)
const;
299 void SetNotPersistAttrToMarked(
const SfxItemSet& rAttr);
300 void MergeNotPersistAttrFromMarked(
SfxItemSet& rAttr)
const;
301 void MergeAttrFromMarked(
SfxItemSet& rAttr,
bool bOnlyHardAttr)
const;
302 SfxItemSet GetAttrFromMarked(
bool bOnlyHardAttr)
const;
303 void SetAttrToMarked(
const SfxItemSet& rAttr,
bool bReplaceAll);
312 void SetGeoAttrToMarked(
const SfxItemSet& rAttr,
bool addPageMargin =
false);
321 void SetStyleSheetToMarked(
SfxStyleSheet* pStyleSheet,
bool bDontRemoveHardAttr);
340 void UnGroupMarked();
353 void ConvertMarkedToPathObj(
bool bLineToArea);
354 void ConvertMarkedToPolyObj();
358 bool IsAlignPossible()
const;
361 void MovMarkedToTop();
364 void MovMarkedToBtm();
367 void PutMarkedToTop();
370 void PutMarkedToBtm();
374 void PutMarkedInFrontOfObj(
const SdrObject* pRefObj);
378 void PutMarkedBehindObj(
const SdrObject* pRefObj);
381 void ReverseOrderOfMarked();
402 virtual void ObjOrderChanged(
SdrObject* pObj,
size_t nOldPos,
size_t nNewPos);
416 #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
virtual void ModelHasChanged() override
bool IsConvertToPathObjPossible() const
bool IsImportMtfPossible() const
bool IsConvertToContourPossible() const
void MoveAllMarked(const Size &rSiz, bool bCopy=false)
void ForceMarkedToAnotherPage()