4#include "DefinitionsGUI.h" 
    5#include "GUITreeCtrlBase.h" 
   11        class CGUIMenuItemBase;
 
   12        class CGUIDialogAddSNAPNodeDisplay;
 
   13        class CGUIPaneExampleSNAP;
 
   17        typedef struct sMatchResult
 
   20            sMatchResult(int32_t _i32Start, int32_t _i32End, int32_t _i32AliasIndex)
 
   21                : i32Start(_i32Start), i32End(_i32End), i32AliasIndex(_i32AliasIndex){}
 
   25            int32_t i32AliasIndex;
 
   28        class FL_EXPORT CGUITreeCtrl : 
public CGUITreeCtrlBase
 
   31            CGUITreeCtrl() noexcept;
 
   32            CGUITreeCtrl(const CGUITreeCtrl& rh);
 
   33            virtual ~CGUITreeCtrl();
 
   44            virtual 
bool RecursiveExpand(HTREEITEM hItem, UINT nCode, 
bool bSaveToConfig = true) override;
 
   53            virtual 
void GetVerticalRange(HTREEITEM hItemRangeStart, HTREEITEM hItemRangeEnd, std::set<HTREEITEM>& setOut);
 
   59            virtual 
void ClearMultiselectItems();
 
   68            virtual HTREEITEM FindHandle(
void* pData, HTREEITEM hParent = 0);
 
   77            virtual HTREEITEM FindHandle(const Base::CFLString<
wchar_t>& strPath, HTREEITEM hParent = 0);
 
   85            virtual HTREEITEM FindHandleByFullPath(const Base::CFLString<
wchar_t>& strFullPath);
 
   96            virtual const CResult SortTreeItem(HTREEITEM hItem = NULL, ESortOrder eSortOrder = ESortOrder_Ascending);
 
  106            virtual const CResult SetRootItemName(const Base::CFLString<
wchar_t>& strRootItemName);
 
  114            virtual const Base::CFLString<
wchar_t>& GetRootItemName();
 
  123            virtual const CResult EnableDragAndDropItem(
bool bEnable);
 
  130            virtual 
bool IsDragAndDropItemEnabled();
 
  138            virtual const CResult SetDefaultImageList();
 
  140            virtual 
bool SearchNext();
 
  141            virtual 
bool SearchPrev();
 
  142            virtual 
bool SearchFirst();
 
  143            virtual 
bool SearchLast();
 
  145            virtual 
void SetParentPane(CGUIPaneBase* pParentPane);
 
  146            virtual CGUIPaneBase* GetParentPane() const;
 
  148            virtual 
void SetParentPaneType(EPaneType eParentPaneType);
 
  149            virtual EPaneType GetParentPaneType() const;
 
  151            virtual 
void EnableAutoSaveExpandStatus(
bool bEnable);
 
  152            virtual 
bool IsAutoSaveExpandStatusEnabled() const;
 
  154            virtual 
void SetFoundIndex(int32_t i32Idx);
 
  155            virtual int32_t GetFoundIndex();
 
  156            virtual int32_t GetFoundIndex(HTREEITEM hItem);
 
  157            virtual int32_t GetFoundCount();
 
  158            virtual HTREEITEM GetFoundItem(int32_t i32Index);
 
  160            virtual 
void EnableItem(CGUIMenuItemBase* pMenuItem, 
bool bEnable);
 
  162            virtual HTREEITEM MoveTreeItem(HTREEITEM hItem, HTREEITEM hItemTo, HTREEITEM hItemPos = TVI_LAST);
 
  165            DECLARE_MESSAGE_MAP()
 
  166            virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
 
  167            afx_msg 
void OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult);
 
  168            afx_msg 
void OnNMClick(NMHDR* pNMHDR, LRESULT* pResult);
 
  169            afx_msg 
void OnLButtonDblClk(UINT nFlags, CPoint point);
 
  170            afx_msg 
void OnLButtonDown(UINT nFlags, CPoint point);
 
  171            afx_msg 
void OnLButtonUp(UINT nFlags, CPoint point);
 
  172            afx_msg 
void OnMouseMove(UINT nFlags, CPoint point);
 
  173            afx_msg HBRUSH CtlColor(CDC* , UINT );
 
  174            afx_msg BOOL OnEraseBkgnd(CDC* pDC);
 
  175            afx_msg 
void OnTvnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult);
 
  176            afx_msg 
void OnTvnSelchanging(NMHDR* pNMHDR, LRESULT* pResult);
 
  177            afx_msg 
void OnTvnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);
 
  178            afx_msg 
void OnTvnItemChanged(NMHDR* pNMHDR, LRESULT* pResult);
 
  179            afx_msg 
void OnTvnItemChanging(NMHDR* pNMHDR, LRESULT* pResult);
 
  180            afx_msg 
void OnTvnBegindrag(NMHDR* pNMHDR, LRESULT* pResult);
 
  181            afx_msg 
void OnTvnBeginrdrag(NMHDR* pNMHDR, LRESULT* pResult);
 
  182            afx_msg 
void OnTvnDeleteitem(NMHDR* pNMHDR, LRESULT* pResult);
 
  183            afx_msg BOOL OnMouseWheel(UINT nFlags, 
short zDelta, CPoint pt);
 
  185            afx_msg LRESULT OnCancelAddNode(WPARAM wParam, LPARAM lParam);
 
  186            afx_msg LRESULT OnUnselectItem(WPARAM wParam, LPARAM lParam);
 
  188            virtual BOOL PreTranslateMessage(MSG* pMsg);
 
  191            virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
 
  194            CGUIMenuItemBase* GetSNAPNodePropertyMenu(HTREEITEM hItem);
 
  195            virtual 
void InternalSortTreeItem(HTREEITEM hItem, ESortOrder eSortOrder, 
bool bAllowRoot = false);
 
  196            static 
int CALLBACK CompareDesendingProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
 
  197            static 
int CALLBACK CompareAscendingProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
 
  200            Base::CFLString<
wchar_t> m_strRootItemName;
 
  201            int32_t m_i32FoundIdx;
 
  202            std::vector<std::pair<HTREEITEM, std::vector<SMatchResult>>>& m_vctFound;
 
  203            std::set<CGUIMenuItemBase*>& m_setMenuItemOnFavorite;
 
  204            std::set<CGUIMenuItemBase*>& m_setMenuItemHided;
 
  205            std::unordered_map<
void*, HTREEITEM>& m_mapDataAndHTreeItem;
 
  206            std::unordered_map<uint32_t, HTREEITEM>& m_mapFullPathHashAndHTreeItem;
 
  207            HTREEITEM m_hItemVertStart;
 
  208            std::set<HTREEITEM>& m_setMultiSelect;
 
  209            CImageList m_imgListDefault;
 
  212            bool m_bUnselectItem;
 
  213            bool m_bEnableDragAndDropItem;
 
  214            bool m_bEnableAutoSaveTreeItemExpandStatus;
 
  216            HTREEITEM m_hItemUnselect;
 
  217            HTREEITEM m_hItemLButtonDown;
 
  218            EPaneType m_eParentPaneType;
 
  221            CGUIDialogAddSNAPNodeDisplay* m_pDlgAddNode;
 
  222            CGUIPaneBase* m_pParentPane;
 
  224            friend class CGUIManager;
 
  225            friend class CGUIPaneMenu;
 
  226            friend class CGUIPaneExampleSNAP;
 
  227            friend class CGUITreeCtrlSearchUtils;
 
Definition D2DObject.h:12