11#include <unordered_map>
12#include "DefinitionsGUI.h"
14#define AFX_STRETCH_DELTA 2
23 class CGUIPaneProperties;
26 class CGUIPropertyGridPropertyDropdownList;
27 class CGUIPropertyGridPropertyViewGraphList;
28 class CGUIPropertyGridPropertyViewImageList;
29 class CGUIPropertyGridPropertyView3DList;
30 class CGUIPropertyGridPropertyBase;
31 class CGUIPropertyGridToolTipCtrl;
32 class CGUIPropertyGridPropertyCategory;
33 class CGUIPropertyGridPropertyRadioButtonGroup;
34 class CGUIPropertyGridPropertyRadioButton;
35 class CGUIPropertyGridPropertySliderDualHandle;
36 class CGUIScrollBarOwnerDrawn;
52 friend class CGUIPropertyGridPropertySliderDualHandle;
53 friend class CGUIPropertyGridPropertySlider;
54 friend class CGUIPropertyGridPropertyDraggableSpin;
55 friend class CGUIDialogPropertyImageFigureDrawingAttribute;
206 DeclareGetClassType();
209 virtual CMFCPropertyGridProperty* HitTest(CPoint pt, CMFCPropertyGridProperty::ClickArea* pnArea = NULL, BOOL bPropsOnly = FALSE)
const;
210 virtual BOOL DeleteProperty(CMFCPropertyGridProperty*& pProp, BOOL bRedraw = TRUE, BOOL bAdjustLayout = TRUE);
211 void EnsureVisible(CMFCPropertyGridProperty* pProp, BOOL bExpandParents = FALSE);
212 virtual void SetAlphabeticMode(BOOL bSet = TRUE);
214 virtual void SetParentMainFrame(CGUIMainFrame* pMainFrame);
215 virtual CGUIMainFrame* GetParentMainFrame()
const;
218 virtual int GetTotalItemsWithExtraRows(BOOL bIncludeHidden = TRUE)
const;
220 void SetFontBold(HFONT hfont);
221 void SetFont(HFONT hfont);
222 virtual CFont* GetFontBold();
225 virtual void AddPendingUpdateValue(
const CMFCPropertyGridProperty* pPGP,
const COleVariant& var);
226 virtual void AddPendingUpdateValueMin(
const CGUIPropertyGridPropertySliderDualHandle* pPGP,
const COleVariant& var);
227 virtual void AddPendingUpdateValueMax(
const CGUIPropertyGridPropertySliderDualHandle* pPGP,
const COleVariant& var);
228 virtual const CResult GetPendingUpdateValue(
const CMFCPropertyGridProperty* pPGP, COleVariant& varRes)
const;
229 virtual const CResult GetPendingUpdateValueMin(
const CGUIPropertyGridPropertySliderDualHandle* pPGP, COleVariant& varRes)
const;
230 virtual const CResult GetPendingUpdateValueMax(
const CGUIPropertyGridPropertySliderDualHandle* pPGP, COleVariant& varRes)
const;
231 virtual void AddPendingUpdateVisibility(
const CMFCPropertyGridProperty* pPGP,
bool bVisibility);
232 virtual const CResult GetPendingUpdateVisibility(
const CMFCPropertyGridProperty* pPGP,
bool& bVisibility)
const;
234 virtual int OnDrawProperty(CDC* pDC, CMFCPropertyGridProperty* pProp)
const override;
235 virtual int OnDrawProperty(CDC* pDC, CGUIPropertyGridPropertyCategory* pPropCat)
const;
236 virtual int OnDrawProperty(CDC* pDC, CGUIPropertyGridPropertyRadioButtonGroup* pPropRBG)
const;
237 virtual int OnDrawProperty(CDC* pDC, CGUIPropertyGridPropertyRadioButton* pPropRB)
const;
238 static void OnDrawComboDropButton(CDC* pDC, CRect rect, BOOL bDisabled, BOOL bDropped, BOOL bHighlighted, CMFCToolBarComboBoxButton* pButton);
239 static void OnDrawButtonBorder(CDC* pDC, CMFCToolBarButton* pButton, CRect rect, CMFCVisualManager::AFX_BUTTON_STATE state);
241 virtual CList<CMFCPropertyGridProperty*, CMFCPropertyGridProperty*>* GetTopLevelProperties();
243 virtual void SetScrollSizes();
244 virtual void ReposProperties();
247 void RecursivelySetPropertySliderWidth(CMFCPropertyGridProperty* pParent =
nullptr);
250 CMFCPropertyGridProperty* m_pPropLButtonDown;
252 CGUIPaneProperties* m_pParentPane;
253 CGUIMainFrame* m_pParentMainFrame;
254 CGUIPropertyGridPropertyBase* m_pPropertyPrevHit;
255 CGUIPropertyGridToolTipCtrl* m_pIPToolTip;
256 CGUIScrollBarOwnerDrawn* m_pOwnerDrawScrollBarVert;
257 CGUIScrollBarOwnerDrawn* m_pOwnerDrawScrollBarHorz;
258 std::unordered_map<CMFCPropertyGridProperty*, COleVariant>& m_mapPendingValue;
259 std::unordered_map<CGUIPropertyGridPropertySliderDualHandle*, COleVariant>& m_mapPendingValueMin;
260 std::unordered_map<CGUIPropertyGridPropertySliderDualHandle*, COleVariant>& m_mapPendingValueMax;
261 std::unordered_map<CMFCPropertyGridProperty*, bool>& m_mapPendingVisibility;
263 bool m_bPropertySliderDeprecatedExists;
266 friend class CGUIManagerPane;
267 friend class CGUIPaneProperties;
268 friend class CGUIMenuItemProperty;
269 friend class CGUIPropertyGridPropertyDropdownList;
270 friend class CGUIPropertyGridPropertyViewListBase;
271 friend class CGUIPropertyGridPropertyBase;
272 friend class CGUIPropertyGridPropertyColor;
273 friend class CGUIPropertyItemRadioButton;
274 friend class CGUIPropertyItemSliderDualHandle;
275 friend class CGUIPropertyItemCheckBox;
276 friend class CGUIPropertyItemCategory;
277 friend class CGUIPropertyItemText;
278 friend class CGUIPropertyItemFont;
279 friend class CGUIPropertyItemBase;
280 friend class CGUIDialogProperty;
281 friend class CGUIDialogLicenseFeatures;
284 DECLARE_MESSAGE_MAP()
285 afx_msg
void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
286 afx_msg BOOL OnMouseWheel(UINT nFlags,
short zDelta, CPoint pt);
287 afx_msg
void OnMouseHWheel(UINT nFlags,
short zDelta, CPoint pt);
288 afx_msg
void OnMouseMove(UINT nFlags, CPoint point);
289 afx_msg
void OnLButtonUp(UINT nFlags, CPoint point);
290 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
291 afx_msg
void OnSetFocus(CWnd* pOldWnd);
292 afx_msg
void OnKillFocus(CWnd* pNewWnd);
293 afx_msg
int OnCreate(LPCREATESTRUCT lpCreateStruct);
294 afx_msg
void OnRButtonDblClk(UINT nFlags, CPoint point);
295 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
296 virtual
void PreSubclassWindow();
297 virtual BOOL PreTranslateMessage(MSG* pMsg);
298 afx_msg
void OnEnable(BOOL bEnable);
299 afx_msg
void OnCancelMode();
300 afx_msg
void OnDestroy();
301 LRESULT OnScrollBarPosChanged(WPARAM wParam, LPARAM lParam);
302 LRESULT OnSliderOwnerDrawnPosChanged(WPARAM wParam, LPARAM lParam);
303 LRESULT OnSliderOwnerDrawnRedraw(WPARAM wParam, LPARAM lParam);
304 afx_msg BOOL OnNeedTipText(UINT
id, NMHDR* pNMH, LRESULT* pResult);
305 afx_msg
void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
306 afx_msg
void OnLButtonDown(UINT nFlags, CPoint point);
307 afx_msg
void OnRButtonDown(UINT nFlags, CPoint point);
308 afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
309 afx_msg
void OnHeaderItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
310 afx_msg
void OnLButtonDblClk(UINT nFlags, CPoint point);
312 void TrackToolTip(CPoint pt);
313 virtual
void Init() override;
314 virtual
void OnDraw(CDC* pDC) override;
315 virtual
void OnClickButton(CPoint point) override;
브로드캐스트 메시지 클래스
Definition BroadcastMessage.h:27
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
점을 표현하는 간략화된 클래스
Definition TPoint.h:37
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1605
virtual void SetCustomColorGroupBackground(COLORREF color)
그룹 배경의 사용자 정의 색상을 설정합니다.
virtual CGUIPaneProperties * GetParentPane() const
부모 패널을 가져옵니다.
virtual COLORREF GetCustomColorGroupText() const
그룹 텍스트의 사용자 정의 색상을 가져옵니다.
virtual void SetParentPane(CGUIPaneProperties *pParentPane)
부모 패널을 설정합니다.
virtual void OnReceiveBroadcast(const Base::CBroadcastMessage *pMessage) override
Callback 함수. BroadcastMessage를 수신받는 함수
virtual bool AdjustLayoutForVisibility()
CGUIPropertyItemBase::SetVisible() 호출 이후, 컨트롤의 레이아웃을 조정하기 위해 사용하는 함수입니다. 프로퍼티 아이템을 새로 추가하거나 삭제하는 경우에는...
virtual void AdjustLayout() override
컨트롤의 레이아웃을 조정합니다. 프로퍼티 아이템을 새로 추가하거나 삭제, Show/Hide 하는 등 레이아웃 변경이 있을 때에만 호출합니다.
virtual COLORREF GetCustomColorGroupBackground() const
그룹 배경의 사용자 정의 색상을 가져옵니다.
virtual ~CGUIPropertyGridCtrl()
속성 그리드 컨트롤의 소멸자.
CGUIPropertyGridCtrl()
속성 그리드 컨트롤의 기본 생성자.
void GetPropertyByVisibleOrder(std::vector< CMFCPropertyGridProperty * > &vctProps, CMFCPropertyGridProperty *pParent=nullptr) const
화면 표시 순서에 따라 속성을 가져옵니다.
virtual void SetLeftColumnWidth(int32_t i32LeftColumnWidth)
왼쪽 열 너비(이름 영역)를 설정합니다.
virtual void SetCustomColorGroupText(COLORREF color)
그룹 텍스트의 사용자 정의 색상을 설정합니다.
프로퍼티 아이템 베이스 클래스
Definition GUIPropertyItemBase.h:38
Definition D2DObject.h:12
EOrientation
방향
Definition DefinitionsGUI.h:5798
@ EOrientation_Vertical
수직 방향
Definition DefinitionsGUI.h:5805