3#include "GUITreeCtrl.h" 
    5#include "GUIPaneBase.h" 
    6#include "GUIEditBase.h" 
    7#include "GUIStaticText.h" 
   13        class CGUIPaneProperties;
 
   15        class CGUIMenuItemFixedViewPreset;
 
   16        class CGUIMenuItemFavorite;
 
   17        class CGUIMenuItemViewBase;
 
   20        class FL_EXPORT CGUIPaneMenu : 
public CGUIPaneBase
 
   23            CGUIPaneMenu() noexcept;
 
   24            virtual ~CGUIPaneMenu();
 
   26            virtual 
bool AddItem(const 
wchar_t* pWcsName, const 
wchar_t* pWcsParent, 
void* pData, ETreeItemIcon eIcon);
 
   27            virtual 
bool InsertItem(const 
wchar_t* pWcsName, const 
wchar_t* pWcsInsertPositionFullPath, EInsertPosition eInsertAt, 
void* pData, ETreeItemIcon eIcon);
 
   28            virtual 
bool MakePath(Base::CFLString<
wchar_t> strPath, HTREEITEM hParent = 0);
 
   29            virtual 
bool RemoveItem(HTREEITEM hItem);
 
   30            virtual 
bool RemoveItem(
void* pData);
 
   31            virtual 
bool RenameItem(
void* pData, const 
wchar_t* pRename);
 
   32            virtual 
bool SetMenuIcon(
void* pData, ETreeItemIcon eIcon);
 
   33            virtual 
bool SetMenuIcon(
void* pData, ETreeItemIcon eIcon, ETreeItemIcon eIconSelected);
 
   35            virtual HTREEITEM FindHandle(
void* pData, HTREEITEM hParent = 0, CGUITreeCtrl* pTree = 
nullptr);
 
   36            virtual HTREEITEM FindHandle(Base::CFLString<
wchar_t> strPath, HTREEITEM hParent = 0, CGUITreeCtrl* pTree = 
nullptr);
 
   37            virtual HTREEITEM FindHandleByFullPath(Base::CFLString<
wchar_t> strFullPath, CGUITreeCtrl* pTree = 
nullptr);
 
   47            virtual 
void GetChildItemsAllowDelete(HTREEITEM hItem, std::set<CGUIMenuItemFixedViewPlacementSet*>& setOut, CTreeCtrl* pTree = 
nullptr);
 
   57            virtual 
void GetMenuItemMultiInstanceParent(HTREEITEM hItem, std::set<CGUIMenuItemBase*>& setOut, CTreeCtrl* pTree = 
nullptr);
 
   69            virtual 
void GetMenuItemChildInstance(HTREEITEM hItem, std::set<CGUIMenuItemBase*>& setOut, CTreeCtrl* pTree = 
nullptr, 
bool* pBOpenedItemExist = 
nullptr, 
bool* pBClosedItemExist = 
nullptr);
 
   79            virtual 
void GetChildMenuItemView(HTREEITEM hItem, std::set<CGUIMenuItemViewBase*>& setOut, CTreeCtrl* pTree = 
nullptr);
 
   89            virtual 
void GetChildMenuItemViewClosable(HTREEITEM hItem, std::set<CGUIMenuItemViewBase*>& setOut, CTreeCtrl* pTree = 
nullptr);
 
   91            virtual 
void AdjustLayout();
 
   92            virtual 
void UpdateTheme();
 
   93            virtual 
void UpdateFont();
 
   95            CGUITreeCtrl* GetTreeCtrl()const;
 
   96            CGUITreeCtrl* GetTreeCtrlOfSearchResult()const;
 
   97            CGUITreeCtrl* GetActiveTree()const;
 
   99            bool TreeItemExpandCheck(Base::CFLString<
wchar_t> strFullPath);
 
  102            const CResult SetTreeItemIcon(Base::CFLString<
wchar_t> strPath, Base::CFLString<
wchar_t> strName, ETreeItemIcon eTreeItemIcon);
 
  112            virtual 
bool SortTreeItem(HTREEITEM hItem = NULL, ESortOrder eSortOrder = ESortOrder_Ascending);
 
  120            virtual 
bool CancelSortTreeItem(HTREEITEM hItem = NULL);
 
  122            virtual 
void SetDefaultPopupMenu(CMenu& popupMenu, CGUIMenuItemBase* pMenuItem);
 
  123            virtual 
void SetDefaultPopupMenuMultiSelect(CMenu& popupMenu);
 
  124            virtual 
void SetFavoritePopupMenu(CMenu& popupMenu, CGUIMenuItemBase* pMenuItem);
 
  125            virtual 
void SetFavoritePopupMenuMultiSelect(CMenu& popupMenu);
 
  127            virtual 
void SelectPopupMenuItem(EMenuItemPaneMenuTree eMenu, CGUIMenuItemBase* pMenuItem);
 
  128            virtual 
void SelectMultiSelectPopupMenuItem(EMenuItemPaneMenuTree eMenu);
 
  130            virtual const Base::CFLString<
wchar_t>& GetRootPathOfTree();
 
  132            virtual 
void BuildTreeMenu();
 
  133            virtual 
void BuildTreeMenuItemView();
 
  134            virtual 
void RestoreTreeMenu();
 
  135            virtual 
void CopyTree(const CGUITreeCtrl& treeSrc, CGUITreeCtrl& treeDst);
 
  138            virtual const CResult SetRootPathOfTree(const Base::CFLString<
wchar_t>& strRootPath);
 
  139            virtual 
void Search(const Base::CFLString<
wchar_t>& flstrKeyword, const CGUITreeCtrl& treeSrc, CGUITreeCtrl& treeDst);
 
  140            virtual Base::CFLString<
wchar_t> GetSearchResultString()const;
 
  142            virtual 
void InternalCancelSortTreeItem(HTREEITEM hItem);
 
  143            virtual 
void InternalSetSortOrder(HTREEITEM hItem, ESortOrder eSortOrder);
 
  145            virtual 
bool SortTreeFavoriteItemToTop(CTreeCtrl* pTree);
 
  146            virtual 
bool SortTreeSNAPObjectsItemToBottom(CTreeCtrl* pTree);
 
  147            virtual 
bool SortTreeSNAPObjectsItemToTop(CTreeCtrl* pTree);
 
  148            static 
int CALLBACK FavoriteItemToTop(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
 
  149            static 
int CALLBACK SNAPObjectsItemToBottom(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
 
  150            static 
int CALLBACK SNAPObjectsItemToTop(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
 
  151            virtual 
bool AddItemOnSearchResultTree(const 
wchar_t* pName, const 
wchar_t* pParent, 
void* pData, ETreeItemIcon eIcon);
 
  152            virtual 
bool InsertItemOnSearchResultTree(const 
wchar_t* pWcsName, const 
wchar_t* pWcsInsertPositionFullPath, EInsertPosition eInsertAt, 
void* pData, ETreeItemIcon eIcon);
 
  153            virtual 
bool RemoveItemOnSearchResultTree(
void* pData);
 
  154            virtual 
bool RenameItemOnSearchResultTree(
void* pData, const 
wchar_t* pRename);
 
  155            virtual 
bool SetMenuIconOnSearchResultTree(
void* pData, ETreeItemIcon eIcon, ETreeItemIcon eIconSelected);
 
  157            virtual BOOL OnBeforeFloat(CRect& rectFloat, AFX_DOCK_METHOD dockMethod) override;
 
  158            virtual 
bool ShowOnlySelectedFixedViews();
 
  159            virtual 
bool UpdateIndexMenuItemFixedViewPlacementSet();
 
  160            virtual 
bool IsNowUpdatingFont() const;
 
  162            virtual HTREEITEM GetItem(Base::CFLString<
wchar_t> strPath, Base::CFLString<
wchar_t> strName);
 
  163            virtual HTREEITEM GetItemOnSearchResultTree(Base::CFLString<
wchar_t> strPath, Base::CFLString<
wchar_t> strName);
 
  166            afx_msg 
int OnCreate(LPCREATESTRUCT lpCreateStruct);
 
  167            afx_msg 
void OnSize(UINT nType, 
int cx, 
int cy);
 
  168            afx_msg 
void OnSetFocus(CWnd* pOldWnd);
 
  169            LRESULT OnDeleteMenuItemProperty(WPARAM wParam, LPARAM lParam);
 
  170            LRESULT OnDeleteMenuItem(WPARAM wParam, LPARAM lParam);
 
  172            DECLARE_MESSAGE_MAP()
 
  173            virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
 
  175            afx_msg 
void OnDestroy();
 
  176            afx_msg 
void OnClose();
 
  177            afx_msg 
void OnShowWindow(BOOL bShow, UINT nStatus);
 
  178            afx_msg 
void OnTimer(UINT_PTR nIDEvent);
 
  180            afx_msg 
void OnNMRClick(NMHDR* pNMHDR, LRESULT* pResult);
 
  182            afx_msg 
void OnSearchButtonClick();
 
  183            afx_msg 
void OnSearchPrevButtonClick();
 
  184            afx_msg 
void OnSearchNextButtonClick();
 
  185            virtual BOOL PreTranslateMessage(MSG* pMsg);
 
  187            virtual 
bool SetMenuItemPtr(HTREEITEM hItem, HTREEITEM hItemParent);
 
  190            virtual 
void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
 
  192            CGUIEditBase m_editSearch;
 
  193            CGUIStaticText m_staticSearch;
 
  194            CGUIStaticText m_staticResult;
 
  196            mutable CGUITreeCtrl m_treeCtrl;
 
  197            mutable CGUITreeCtrl m_treeCtrlOfSearchResult;
 
  198            CImageList m_GUIPaneMenuImages;
 
  199            CImageList m_GUIPaneMenuImages32x32;
 
  200            Base::CFLString<
wchar_t> m_strSearchWordPrev;
 
  201            CGUIMenuItemFixedViewPreset* m_pMenuItemFixedViewPreset;
 
  202            CGUIMenuItemFavorite* m_pMenuItemFavorite;
 
  203            std::vector<CGUIMenuItemBase*>& m_vctUnderRoot;
 
  205            bool m_bShowSearchingBtn;
 
  206            bool m_bAddItemOnSearchTree;
 
  207            bool m_bNowUpdatingFont;
 
  208            bool m_bCopyItemOnSearchTree;
 
  211            int32_t m_i32InputKeyTime;
 
  213            friend class CGUITreeCtrl;
 
  214            friend class CGUIMainFrame;
 
  215            friend class CGUIManager;
 
  216            friend class CGUIManagerView;
 
  217            friend class CGUIMenuItemFavorite;
 
Definition D2DObject.h:12