2#include "DefinitionsGUI.h"
3#include "GUIPopupMenuItemUserDefined.h"
4#include <unordered_map>
10 class CGUIMenuBarUserDefinedInfo;
14 class FL_EXPORT CGUIManagerMainFrameMenuBar :
public Base::CFLBase
17 CGUIManagerMainFrameMenuBar();
18 virtual ~CGUIManagerMainFrameMenuBar();
32 static CGUIMenuBar* GetMenuBar();
51 static const CResult GetValidCommandIdOfUserDefinedMenuItem(uint32_t& u32CommandId);
78 static CGUIPopupMenuItemUserDefined* AddUserDefinedMenuItem(
79 const Base::CFLString<wchar_t>& strName,
80 const Base::CFLString<wchar_t>& strPath,
81 CPopupMenuItemUserDefinedCallback* pCallback,
82 bool bAutoDestroyCallback =
true,
84 bool bChecked =
false,
85 int32_t i32InsertPos = -1);
102 static CGUIPopupMenuItemUserDefined* AddUserDefinedMenuItemSeparator(
103 const Base::CFLString<wchar_t>& strPath,
104 int32_t i32InsertPos = -1);
120 static CGUIPopupMenuItemUserDefined* AddUserDefinedMenuItem(
const CGUIPopupMenuItemUserDefined& udmi);
135 static const CResult RemoveMenuItem(
const Base::CFLString<wchar_t>& flsMenuName);
148 static const CResult RemoveUserDefinedMenuItem(CGUIPopupMenuItemUserDefined* pItem);
161 static CGUIPopupMenuItemUserDefined* GetUserDefinedMenuItem(uint32_t u32CommandId);
176 static CGUIPopupMenuItemUserDefined* GetUserDefinedMenuItem(
const Base::CFLString<wchar_t>& strName,
const Base::CFLString<wchar_t>& strParentPath);
189 static CPopupMenuItemUserDefinedCallback* GetUserDefinedMenuItemCallback(uint32_t u32CommandId);
210 static void PushBackUserDefinedInfo(
const Base::CFLString<wchar_t>& strInfo,
211 COLORREF clrBackground =
RGB(80, 80, 80),
212 COLORREF clrText =
RGB(255, 255, 255),
214 EGUIAlignment eAlign = EGUIAlignment_CENTER_CENTER,
215 EGUIStringTrimming eStringTrimming = EGUIStringTrimming_EllipsisCharacter);
226 static void PushBackUserDefinedInfo(
const CGUIMenuBarUserDefinedInfo& refUDI);
247 static void PushFrontUserDefinedInfo(
const Base::CFLString<wchar_t>& strInfo,
248 COLORREF clrBackground =
RGB(80, 80, 80),
249 COLORREF clrText =
RGB(255, 255, 255),
251 EGUIAlignment eAlign = EGUIAlignment_CENTER_CENTER,
252 EGUIStringTrimming eStringTrimming = EGUIStringTrimming_EllipsisCharacter);
263 static void PushFrontUserDefinedInfo(
const CGUIMenuBarUserDefinedInfo& refUDI);
274 static CGUIMenuBarUserDefinedInfo* PopFrontUserDefinedInfo();
285 static CGUIMenuBarUserDefinedInfo* GetFrontUserDefinedInfo();
298 static CGUIMenuBarUserDefinedInfo* GetUserDefinedInfoAt(int32_t i32Index);
311 static int32_t GetUserDefinedInfoIndex(
const CGUIMenuBarUserDefinedInfo* pUDI);
322 static int32_t GetUserDefinedInfoCount();
333 static CGUIMenuBarUserDefinedInfo* PopBackUserDefinedInfo();
344 static CGUIMenuBarUserDefinedInfo* GetBackUserDefinedInfo();
369 static const CResult SetUserDefinedInfoAt(
371 const Base::CFLString<wchar_t>& strInfo,
372 COLORREF clrBackground,
375 EGUIAlignment eAlign,
376 EGUIStringTrimming eStringTrimming);
391 static const CResult SetUserDefinedInfoAt(int32_t i32Index,
const CGUIMenuBarUserDefinedInfo& refUDI);
416 static const CResult InsertUserDefinedInfoAt(
418 const Base::CFLString<wchar_t>& strInfo,
419 COLORREF clrBackground,
422 EGUIAlignment eAlign,
423 EGUIStringTrimming eStringTrimming);
438 static const CResult InsertUserDefinedInfoAt(int32_t i32Index,
const CGUIMenuBarUserDefinedInfo& refUDI);
451 static const CResult RemoveUserDefinedInfoAt(int32_t i32Index);
462 static const CResult ClearUserDefinedInfo();
473 static void SetCurrentModelNameBkColor(COLORREF clrBk);
484 static COLORREF GetCurrentModelNameBkColor();
495 static void SetCurrentModelNameTextColor(COLORREF clrText);
506 static COLORREF GetCurrentModelNameTextColor();
517 static void ShowCurrentModelName(
bool bShow);
528 static bool IsCurrentModelNameVisible();
541 static void SetUserIdBkColor(Base::EAuthorityLevel eLevel, COLORREF clrBk);
554 static COLORREF GetUserIdBkColor(Base::EAuthorityLevel eLevel);
567 static void SetUserIdTextColor(Base::EAuthorityLevel eLevel, COLORREF clrText);
580 static COLORREF GetUserIdTextColor(Base::EAuthorityLevel eLevel);
591 static void ShowCurrentUserId(
bool bShow);
602 static bool IsCurrentUserIdVisible();
605 static void SetCurrentModelNameDirty(
bool bSet =
true);
606 static bool IsCurrentModelNameDirty();
607 static void SetCurrentUserIdDirty(
bool bSet =
true);
608 static bool IsCurrentUserIdDirty();
609 static void SetUserDefinedInfoDirty(
bool bSet =
true);
610 static bool IsUserDefinedInfoDirty();
611 static std::unordered_map<uint32_t, CGUIPopupMenuItemUserDefined*>* GetContainerUserDefinedMenuItem();
612 static std::deque<CGUIPopupMenuItemUserDefined*>* GetContainerUserDefinedMenuItemByPath(
const Base::CFLString<wchar_t>& strPath);
613 static std::deque<CGUIMenuBarUserDefinedInfo*>* GetContainerUserDefinedInfo();
614 static std::vector<Base::CFLString<wchar_t>>* GetContainerRemovedMenuName();
616 DeclareGetClassType();
619 static CGUIManagerMainFrameMenuBar* GetInstance();
622 COLORREF m_clrBackgroundCurrentModel;
623 COLORREF m_clrTextCurrentModel;
624 COLORREF m_clrBackgroundCurrentUserId;
625 COLORREF m_clrTextCurrentUserId;
628 bool m_bDirtyCurrentModelName;
629 bool m_bShowCurrentModelName;
630 bool m_bDirtyCurrentUserId;
631 bool m_bShowCurrentUserId;
632 mutable bool m_bDirtyUserDefinedInfo;
634 std::unordered_map<Base::EAuthorityLevel, COLORREF>& m_mapBkColorUserId;
635 std::unordered_map<Base::EAuthorityLevel, COLORREF>& m_mapFgColorUserId;
636 std::deque<CGUIMenuBarUserDefinedInfo*>& m_deqCGUIMenuBarUserDefinedInfo;
637 std::unordered_map<uint32_t, CGUIPopupMenuItemUserDefined*>& m_mapCmdIdAndUserDefinedMenuItem;
638 std::unordered_map<std::wstring, std::deque<CGUIPopupMenuItemUserDefined*>>& m_mapPathNameAndUserDefinedMenuItem;
639 std::vector<Base::CFLString<wchar_t>>& m_vctRemovedMenuName;
Definition D2DObject.h:12
@ RGB
Definition DefinitionsBase.h:2630