2#include "GUIDefinitions.h"
11 class CInternalPermissionManager;
12 class CGUIMenuItemAttributeMultiInstanceParent;
13 class CGUIMenuItemAttributeMultiInstanceChild;
14 class CGUIMenuItemAttributePane;
17 class FL_EXPORT CGUIMenuItemBase :
public Base::CFLBase
22 EContextMenuFlag_Enabled = 0x00000000L,
23 EContextMenuFlag_Disabled = 0x00000002L,
24 EContextMenuFlag_Hide = 0x00010000L,
29 CGUIMenuItemBase(
const CGUIMenuItemBase& rhs);
30 CGUIMenuItemBase(
const CGUIMenuItemBase* pRhs);
31 virtual ~CGUIMenuItemBase();
33 virtual const CResult
Assign(
const CGUIMenuItemBase& rhs);
34 virtual const CResult
Assign(
const CGUIMenuItemBase* pRhs);
47 virtual const CResult PreDestroy();
49 virtual bool SetName(
const Base::CFLString<wchar_t>& strName);
50 virtual Base::CFLString<wchar_t> GetName()
const;
52 virtual bool SetPath(
const Base::CFLString<wchar_t>& strPath);
53 virtual Base::CFLString<wchar_t> GetPath()
const;
55 virtual bool AppendAlias(
const Base::CFLString<wchar_t>& strAlias);
56 virtual bool ClearAlias();
57 virtual Base::CFLArray<Base::CFLString<wchar_t>>& GetAlias();
59 virtual Base::CFLString<wchar_t> GetFullPath()
const;
62 virtual bool Save()
const;
64 virtual bool SetIcon(ETreeItemIcon eIcon, BOOL bRedraw = FALSE);
65 virtual ETreeItemIcon GetIcon()
const;
66 virtual ETreeItemIcon GetIconSelected()
const;
68 virtual bool SetMenu(CGUIPaneMenu* pMenu);
70 virtual bool OnLButtonClick();
71 virtual bool OnLButtonDoubleClick();
72 virtual bool OnRButtonClick();
74 virtual void UseDefaultModelOnly(
bool bUseDefault);
76 virtual uint32_t GetHash()
const;
77 virtual uint32_t GetParentHash()
const;
92 virtual CGUIMenuItemBase* FindParentItem()
const;
103 virtual bool IsMultiInstanceParent()
const;
116 virtual CGUIMenuItemBase* GetMultiInstanceParent()
const;
131 virtual CGUIMenuItemBase* GetChildInstance(int32_t i32InstanceIdx)
const;
142 virtual int32_t GetChildInstanceCount()
const;
159 virtual CGUIMenuItemBase* CreateChildInstance(int32_t i32InstanceIdx = -1);
176 virtual const CResult DeleteChildInstance(int32_t i32InstanceIndex);
187 virtual int32_t GetInstanceIndex()
const;
203 virtual CGUIPaneBase* GetPane()
const;
216 virtual CGUIMenuItemAttributeMultiInstanceParent* GetAttributeMultiInstanceParent()
const;
229 virtual CGUIMenuItemAttributeMultiInstanceChild* GetAttributeMultiInstanceChild()
const;
242 virtual CGUIMenuItemAttributePane* GetAttributePane()
const;
253 virtual void Enable(
bool bEnable);
265 virtual bool GetEnablement()
const;
279 virtual bool IsEnabled();
302 virtual void EnableInheritanceOfEnablement(
bool bEnable =
true);
313 virtual bool IsInheritanceOfEnablementEnabled()
const;
316 virtual const CResult SetMinimalAuthorityLevel(Base::EAuthorityLevel eAuthorityLevel, GUI::EPermission ePermission);
317 virtual Base::EAuthorityLevel GetMinimalAuthorityLevel(GUI::EPermission ePermission)
const;
320 virtual void EnableInheritanceOfEnablementOnContextMenu(
bool bEnable =
true);
321 virtual bool IsInheritanceOfEnablementOnContextMenuEnabled()
const;
323 virtual bool IsContextMenuEnabled(
const Base::EAuthorityLevel eCurrentUserAuthorityLevel,
const GUI::EMenuItemPaneMenuTree eMenuItemPaneMenuTree);
325 virtual void SetMinimalAuthorityLevelOnContextMenu(Base::EAuthorityLevel eAuthorityLevel, GUI::EMenuItemPaneMenuTree eMenuItemPaneMenuTree);
326 virtual Base::EAuthorityLevel GetMinimalAuthorityLevelOnContextMenu(GUI::EMenuItemPaneMenuTree eMenuItemPaneMenuTree)
const;
328 virtual void EnableHighAuthorityLevelContextMenuVisible(
bool bEnable);
329 virtual bool IsHighAuthorityLevelContextMenuVisibleEnabled()
const;
331 EContextMenuFlag GetContextMenuFlag(
const Base::EAuthorityLevel eCurrentUserAuthorityLevel,
const GUI::EMenuItemPaneMenuTree eMenuItemPaneMenuTree, EContextMenuFlag eAssignFlag);
333 virtual const CResult SelectPopupMenuItem(EMenuItemPaneMenuTree eSelectedMenuItem);
335 SupportToDuplicateAbstractObject(CGUIMenuItemBase);
336 DeclareGetClassType();
339 virtual bool InternalSetName(
const Base::CFLString<wchar_t>& strName);
340 virtual bool InternalSetPath(
const Base::CFLString<wchar_t>& strPath);
343 virtual bool AppendMenu(CMenu& popupMenu,
const Base::EAuthorityLevel eCurrentUserAuthorityLevel,
const GUI::EMenuItemPaneMenuTree eMenuItem,
const Base::CFLString<wchar_t>& strMenu, EContextMenuFlag eAssignFlag = EContextMenuFlag_Enabled);
345 virtual void SetSortOrder(ESortOrder eSO);
348 virtual const CResult CreateAttributeMultiInstanceParent();
349 virtual const CResult DeleteAttributeMultiInstanceParent();
351 virtual const CResult CreateAttributeMultiInstanceChild();
352 virtual const CResult CreateAttributeMultiInstanceChild(CGUIMenuItemBase* pMIParent, int32_t i32InstanceIndex);
353 virtual const CResult DeleteAttributeMultiInstanceChild();
355 virtual const CResult CreateAttributePane();
356 virtual const CResult CreateAttributePane(CGUIPaneBase* pPane);
357 virtual const CResult DeleteAttributePane();
360 bool m_bDeleteWindowMsgSent;
363 Base::CFLString<wchar_t> m_strName;
364 Base::CFLString<wchar_t> m_strPath;
365 Base::CFLArray<Base::CFLString<wchar_t>> m_flaStrAlias;
367 bool m_bUseDefaultMode;
369 CGUIPaneMenu* m_pPaneMenu;
370 ETreeItemIcon m_eIcon;
371 ETreeItemIcon m_eIconSelected;
376 bool m_bInheritanceOfEnablement;
378 bool m_bInheritanceOfEnablementOnContextMenu;
379 bool m_bEnableHighAuthorityLevelContextMenuVisible;
381 CInternalPermissionManager* m_pInternalPM;
383 CGUIMenuItemAttributeMultiInstanceParent* m_pAttrMultiInstanceParent;
384 CGUIMenuItemAttributeMultiInstanceChild* m_pAttrMultiInstanceChild;
385 CGUIMenuItemAttributePane* m_pAttrPane;
387 friend class CGUIManager;
388 friend class CGUIPaneMenu;
389 friend class CGUIPaneExampleSNAP;
390 friend class CGUITreeCtrl;
391 friend class CInternalPermissionManager;
ESortOrder
정렬 순서
Definition GUIDefinitions.h:8642
@ Assign
CGUIPropertyItemView3DFigure 의 값을 해당 도형으로 설정하는 함수