3#include "GUIViewDrawingDefinitions.h"
4#include "GUIDefinitions.h"
11 class CGUIViewImageLayer;
12 class CGUIViewImageLayerForDrawing;
13 class CGUIViewImageObjectFigure;
14 class CGUIViewImageLayerObjectBase;
15 class CGUIViewDrawing;
16 class CGUIViewImageObjectFigureDrawingAttribute;
18 class FL_EXPORT CGUIManagerViewDrawingObject :
public Base::CFLBase
21 CGUIManagerViewDrawingObject();
22 CGUIManagerViewDrawingObject(CGUIViewDrawing* pParent);
23 CGUIManagerViewDrawingObject(
const CGUIManagerViewDrawingObject& rhs);
24 CGUIManagerViewDrawingObject(
const CGUIManagerViewDrawingObject* pRhs);
25 virtual ~CGUIManagerViewDrawingObject();
26 virtual const CResult
Assign(
const CGUIManagerViewDrawingObject& rhs);
27 virtual const CResult
Assign(
const CGUIManagerViewDrawingObject* pRhs);
28 CGUIManagerViewDrawingObject& operator=(
const CGUIManagerViewDrawingObject& rhs);
31 virtual void SetParentView(CGUIViewDrawing* pParent);
32 virtual CGUIViewDrawing* GetParentView()
const;
34 virtual const CResult InternalAssign(
const CGUIManagerViewDrawingObject* pRhs);
45 virtual const CResult ClearSelection();
47 virtual const CResult GetSelectedFigures(std::vector<Foundation::CFLFigure*>& vctFigures);
48 virtual const CResult UpdateSelectedFiguresToLayerObject();
53 virtual const CResult DrawFigureHover();
56 virtual const CResult DrawFigureSelection();
59 virtual const CResult ClearFigureDrawing();
62 virtual const CResult ClearFigureHoverDrawing();
65 virtual const CResult ClearFigureSelectionDrawing();
71 virtual const CResult RotateFigureZOrder(Foundation::CFLPoint<double> flpCursor,
bool bReverseOrder);
74 virtual const CResult BringSelectedFigureToFront();
77 virtual const CResult BringSelectedFigureForward();
80 virtual const CResult SendSelectedFigureToBack();
83 virtual const CResult SendSelectedFigureBackward();
88 virtual int32_t GetMaxIndex(
const Foundation::CFLPoint<double>& flp, CGUIViewImageLayer* pLayer,
double f64Tolerance,
const Base::CFLArray<uint32_t>& flaResultIndices)
const;
90 virtual void Intersects(CGUIViewImageLayer* pLayer,
const Base::TRange<float>& tr,
bool bEnclose, Base::CFLArray<uint32_t>& flaResultIndices)
const;
91 virtual bool IsFigureHoverEnabled()
const;
92 virtual bool IsFigureSelectionEnabled()
const;
94 virtual const CResult RecalcMultiSelectRect(Foundation::CFLRect<double>& flrMultiSelectRect);
96 virtual Base::CFLString<wchar_t> GetAttributeOfSelectedObject(
const Base::CFLString<wchar_t>& strAttr)
const;
97 virtual void SetAttributeOfSelectedObject(
const Base::CFLString<wchar_t>& strAttr,
const Base::CFLString<wchar_t>& strAttrVal);
98 virtual void SetAttributeOfAllObject(
const Base::CFLString<wchar_t>& strAttr,
const Base::CFLString<wchar_t>& strAttrVal);
100 virtual void OnReceiveBroadcast(
const Base::CBroadcastMessage* pMessage)
override;
102 virtual const CResult TransformAll(EObjectFigureTransformType eTrsfType, Foundation::EFigureFlipDirection eFlipDirection,
double f64Angle);
104 CGUIViewImageLayerForDrawing* GetFigureHoverLayer()
const;
105 CGUIViewImageLayerForDrawing* GetFigureSelectionLayer()
const;
107 SupportToDuplicateObject(CGUIManagerViewDrawingObject,
this);
108 DeclareGetClassType();
111 virtual void OnLButtonDown(UINT nFlags,
const Foundation::CFLPoint<double>& flpCursorImageCoord);
112 virtual void OnLButtonUp(UINT nFlags,
const Foundation::CFLPoint<double>& flpCursorImageCoord);
113 virtual void OnLButtonDblClk(UINT nFlags,
const Foundation::CFLPoint<double>& flpCursorImageCoord);
114 virtual void OnMouseMove(UINT nFlags,
const Foundation::CFLPoint<double>& flpCursorImageCoord);
115 virtual void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
119 int32_t m_i32HitFigureIdx;
120 int32_t m_i32HitFigureLayerIdx;
121 int32_t m_i32SelectFigureIdx;
122 int32_t m_i32SelectFigureLayerIdx;
125 std::vector<CGUISelectableObjectOnLayer*> m_vctSelectableObject;
128 CGUIViewDrawing* m_pParentView;
131 CGUIViewImageLayerForDrawing* m_pFigureHoverLayer;
132 CGUIViewImageLayerForDrawing* m_pFigureSelectionLayer;
135 bool m_bEnableFigureHover;
136 bool m_bEnableFigureSelection;
137 bool m_bMultiselected;
140 bool m_bMultiSelectMode;
143 friend class CGUIViewDrawing;
EGUIViewDrawingHitArea
The area where the mouse is located on the Drawing view.
Definition GUIViewDrawingDefinitions.h:1301
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.