4#include "GUIPropertyItemBase.h"
16 class CGUITreeCtrlBase;
124 virtual void SetSize(int32_t i32W, int32_t i32H);
160 template<
typename TPropertyItem>
161 TPropertyItem*
AddItem(
const wchar_t* pWcsName,
const wchar_t* pWcsPath =
nullptr,
const wchar_t* pWcsValue =
nullptr,
const wchar_t* pWcsDefaultValue =
nullptr);
184 template<
typename TPropertyItem>
185 TPropertyItem*
AddItem(
ESliderTemplateType eTemplateType,
const wchar_t* pWcsName,
const wchar_t* pWcsPath =
nullptr,
const wchar_t* pWcsValue =
nullptr,
const wchar_t* pWcsDefaultValue =
nullptr);
364 virtual std::vector<CGUIPropertyItemBase*>&
GetItems()
const;
493 virtual std::vector<FLImaging::GUI::CGUIPropertyItemCategory*>&
GetTreeItems()
const;
517 DeclareGetClassType();
519 virtual bool AdjustLayoutButton(int32_t i32BtnW, int32_t i32BtnH, int32_t i32BtnMargin, int32_t i32BtnSpace, int32_t i32BtnTop);
520 virtual bool AdjustLayoutProperty(int32_t i32L, int32_t i32T, int32_t& i32PropertyW, int32_t& i32PropertyH);
523 virtual bool CreateTree();
524 virtual bool CreateProperty();
527 int32_t m_i32PropertyGridLeftColumnWidth;
528 uint32_t m_u32IdWndPropList;
530 std::unordered_map<int32_t, Base::CFLString<wchar_t>>& m_mapChangedItems;
531 std::vector<CMFCPropertyGridProperty*>& m_vctProperties;
532 std::set<int32_t> m_setResetItemIdx;
536 CGUITreeCtrlBase* m_pTree;
538 int32_t m_i32TreeWidth;
539 std::vector<CGUIPropertyItemCategory*>& m_vctCatInTree;
542 DECLARE_MESSAGE_MAP()
543 afx_msg LRESULT OnPropertyChanged(WPARAM wparam, LPARAM lparam);
544 afx_msg
void OnDestroy();
545 afx_msg
void OnSize(UINT nType,
int cx,
int cy);
546 afx_msg
void OnNMClick(NMHDR* pNMHDR, LRESULT* pResult);
547 virtual BOOL PreTranslateMessage(MSG* pMsg);
브로드캐스트 메시지 클래스
Definition BroadcastMessage.h:27
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1676
CGUIDialog(CWnd *pParent=nullptr)
기본 생성자
virtual void OnOK() override
OK 버튼 클릭 시 호출되는 이벤트 핸들러입니다.
virtual ~CGUIDialogProperty()
CGUIDialogProperty의 소멸자입니다.
virtual const CResult MoveItem(CGUIPropertyItemBase *pItem, const Base::CFLString< wchar_t > &strParentItemFullPath, EAppendPosition eAppendPosition=EAppendPosition_Back, bool bAdjustLayout=true)
부모의 전체 경로를 사용하여 프로퍼티 아이템을 이동합니다.
virtual CGUIPropertyItemBase * FindItemByHash(const uint32_t &u32Hash) const
해시 값을 사용하여 프로퍼티 아이템을 찾습니다.
virtual const CResult MoveItem(CGUIPropertyItemBase *pItem, EInsertPosition eInsertPosition, const CGUIPropertyItemBase *pItemInsertPosition, bool bAdjustLayout=true)
프로퍼티 아이템을 기준 아이템을 기준으로 이동합니다.
CGUIPropertyGridCtrl * GetPropertyGridCtrl()
프로퍼티 그리드 컨트롤을 반환합니다.
virtual const CResult ClearTreeItems()
트리 내비게이션의 모든 아이템을 클리어합니다.
bool IsTreeEnabled() const
트리 내비게이션 기능이 활성화되어 있는지 확인합니다.
CGUIDialogProperty(CWnd *pParent=nullptr)
CGUIDialogProperty의 기본 생성자입니다.
virtual BOOL OnInitDialog() override
다이얼로그와 컨트롤들을 초기화합니다.
virtual std::vector< CGUIPropertyItemBase * > & GetItems() const
모든 프로퍼티 아이템 목록을 가져옵니다.
CGUIDialogProperty(const CGUIDialogProperty &rhs)
CGUIDialogProperty의 복사 생성자입니다.
virtual std::vector< FLImaging::GUI::CGUIPropertyItemCategory * > & GetTreeItems() const
트리에 추가된 카테고리 아이템 목록을 가져옵니다.
int32_t GetTreeWidth() const
트리 내비게이션 창의 너비를 가져옵니다.
bool IsModified(const CGUIPropertyItemBase *pItem) const
프로퍼티 아이템의 값이 변경되었는지 확인합니다.
void SetTreeRootItemText(const Base::CFLString< wchar_t > &strRoot)
트리의 루트 아이템 텍스트 설정. 기본값은 다이얼로그 타이틀입니다.
virtual void SetSize(int32_t i32W, int32_t i32H)
다이얼로그의 크기를 설정합니다.
virtual const CResult InsertItem(CGUIPropertyItemBase *pItem, const CGUIPropertyItemBase *pItemBefore, bool bAdjustLayout=true)
특정 아이템 이전에 프로퍼티 아이템을 삽입합니다.
const CResult AddCategoryToTree(CGUIPropertyItemCategory *pCategory)
트리 내비게이션에 표시할 프로퍼티 카테고리 아이템을 추가합니다.
TPropertyItem * AddItem(const wchar_t *pWcsName, const wchar_t *pWcsPath=nullptr, const wchar_t *pWcsValue=nullptr, const wchar_t *pWcsDefaultValue=nullptr)
특정 타입의 프로퍼티 아이템을 추가하는 함수입니다.
virtual void UpdateFont()
다이얼로그와 하위 컨트롤들의 폰트를 업데이트합니다.
virtual const CResult AddItem(CGUIPropertyItemBase *pItem, bool bAdjustLayout=false)
프로퍼티 아이템을 추가합니다.
virtual void SetPropertyGridLeftColumnWidth(int32_t i32LeftColumnWidth)
프로퍼티 그리드의 왼쪽 컬럼(이름 영역) 너비를 설정합니다.
virtual const CResult RemoveItem(CGUIPropertyItemBase *pItem, bool bAdjustLayout=true)
프로퍼티 아이템을 제거합니다.
virtual void OnReceiveBroadcast(const Base::CBroadcastMessage *pMessage) override
브로드캐스트 메시지를 수신하고 처리합니다.
virtual const CResult RemoveTreeItem(CGUIPropertyItemCategory *pCategory)
트리 내비게이션에서 카테고리 아이템을 제거합니다.
virtual std::unordered_map< uint32_t, CGUIPropertyItemBase * > & GetItemsHashMap() const
프로퍼티 아이템들의 해시 맵을 가져옵니다.
virtual CGUIPropertyItemText * AddItem(const Base::CFLString< wchar_t > &flstrName, const Base::CFLString< wchar_t > &flstrPath, const Base::CFLString< wchar_t > &flstrValue, CGUIEditBase::EInputType eInputType, bool bReadOnly=false)
텍스트 형태의 프로퍼티 아이템을 추가하는 함수입니다.
Base::CFLString< wchar_t > GetTreeRootItemText()
트리의 루트 아이템 텍스트 리턴
static CGUIDialogProperty * CreateModelessDialog(CWnd *pParent=nullptr)
모달리스 다이얼로그 인스턴스를 생성합니다.
void SetTreeWidth(int32_t i32Width=200)
트리 내비게이션 창의 너비를 설정합니다.
virtual const CResult MoveItem(CGUIPropertyItemBase *pItem, EInsertPosition eInsertPosition, const Base::CFLString< wchar_t > &strInsertPositionItemFullPath, bool bAdjustLayout=true)
기준 아이템의 전체 경로를 사용하여 프로퍼티 아이템을 이동합니다.
virtual const CResult MoveItem(CGUIPropertyItemBase *pItem, const CGUIPropertyItemBase *pItemNewParent, EAppendPosition eAppendPosition=EAppendPosition_Back, bool bAdjustLayout=true)
프로퍼티 아이템을 새로운 부모 아이템 하위로 이동합니다.
void EnableTree(bool bEnable=false)
트리 내비게이션 기능의 활성화 여부를 설정합니다.
TPropertyItem * AddItem(ESliderTemplateType eTemplateType, const wchar_t *pWcsName, const wchar_t *pWcsPath=nullptr, const wchar_t *pWcsValue=nullptr, const wchar_t *pWcsDefaultValue=nullptr)
슬라이더 형태의 프로퍼티 아이템을 추가하는 함수입니다.
bool IsModifiedDouble(const CGUIPropertyItemBase *pItem) const
프로퍼티 아이템의 값이 변경되었는지 확인합니다(double 타입 정밀도 비교용).
EInputType
입력 값의 형식
Definition GUIEditBase.h:40
CGUIPropertyItemBase 객체들을 관리하고 CGUIPropertyGridCtrl 과의 동기화를 수행하는 매니저 클래스입니다.
Definition GUIManagerPropertyItem.h:46
속성 그리드 컨트롤 클래스
Definition GUIPropertyGridCtrl.h:52
프로퍼티 아이템 베이스 클래스
Definition GUIPropertyItemBase.h:318
하위 아이템을 포함할 수 있으며, 선택적으로 값 목록(Value List)처럼 동작하는 카테고리 프로퍼티 아이템입니다.
Definition GUIPropertyItemCategory.h:26
단일 행 텍스트 입력(검증/툴팁/실시간 콜백 지원)을 위한 프로퍼티 그리드 아이템입니다.
Definition GUIPropertyItemText.h:40
Definition D2DObject.h:12
EInsertPosition
Definition DefinitionsGUI.h:11493
ESliderTemplateType
슬라이더 자료형
Definition DefinitionsGUI.h:10625
EAppendPosition
Definition DefinitionsGUI.h:11513
@ EAppendPosition_Back
Definition DefinitionsGUI.h:11518