2#include "GUIDefinitions.h"
13 class CGUIPaneExampleSNAP;
14 class CGUIPaneViewGraph;
15 class CGUIPaneColorTable;
18 class CGUIPaneProperties;
20 class CGUIMenuItemBase;
22 class CGUIPaneFrameWnd;
23 class CGUIPanePlacementBase;
25 class FL_EXPORT CGUIManagerPane :
public Base::CFLBase
28 CGUIManagerPane(
const CGUIManagerPane& rh);
34 EQAMode_LastFocusedPane = 0x01,
35 EQAMode_Serialize = 0x02,
41 typedef struct sStateDataAutoHideBar
43 sStateDataAutoHideBar();
45 Base::CFLString<wchar_t> strName;
46 DWORD dwCurrentAlignment;
53 }SStateDataAutoHideBar;
55 typedef struct sStateDataPaneContainer
57 sStateDataPaneContainer();
58 virtual ~sStateDataPaneContainer();
62 CRect rtPaneContainer;
66 bool bLeftPaneIsVisible;
67 bool bRightPaneIsVisible;
69 sStateDataPaneContainer* pLeftContainer;
70 sStateDataPaneContainer* pRightContainer;
71 CDockablePane* pLeftPane;
72 CDockablePane* pRightPane;
77 }SStateDataPaneContainer;
79 typedef struct sStateDataPaneContainerManager
81 sStateDataPaneContainerManager();
82 virtual ~sStateDataPaneContainerManager();
89 int32_t i32ControlBarCount;
94 SStateDataPaneContainer* pRootContainer;
96 }SStateDataPaneContainerManager;
99 virtual ~CGUIManagerPane();
102 static const CResult Initialize();
115 static CGUIPaneMenu* GetPaneMenu();
130 static const CResult ShowPaneMenu(
bool bShow);
143 static CGUIPaneLog* GetPaneLog();
158 static const CResult ShowPaneLog(
bool bShow);
171 static CGUIPaneCode* GetPaneCode();
186 static const CResult ShowPaneCode(
bool bShow);
199 static CGUIPaneExampleSNAP* GetPaneExampleSNAP();
214 static const CResult ShowPaneExampleSNAP(
bool bShow);
227 static CGUIPaneViewGraph* GetPaneViewGraph();
242 static const CResult ShowPaneViewGraph(
bool bShow);
255 static CGUIPaneColorTable* GetPaneColorTable();
270 static const CResult ShowPaneColorTable(
bool bShow);
283 static CGUIPaneSheet* GetPaneSheet();
298 static const CResult ShowPaneSheet(
bool bShow);
315 static const CResult ShowPane(EPaneType ePaneType,
bool bShow);
332 static const CResult AttachPaneAsTab(CDockablePane* pPane, CDockablePane* pPaneDst);
357 static const CResult DockPane(CDockablePane* pPane, CDockablePane* pPaneDst, EDockPosition eDockPosition, int32_t i32Width, int32_t i32Height);
380 static const CResult DockPaneToMainFrame(CDockablePane* pPane, EDockPosition eDockPosition, int32_t i32Width, int32_t i32Height);
399 static const CResult FloatPane(CDockablePane* pPane, CRect rt,
bool bShow =
true);
412 static bool IsPaneActive(CDockablePane* pPane);
423 static CPane* GetLastFocusedPane();
437 static CGUIPaneProperties* GetLastFocusedPaneProperties();
452 static const CResult SetLastFocusedPane(CPane* pPane);
463 static std::list<CPane*>* GetFocusedPaneList();
482 static const CResult GetTopAlignPanes(std::vector<CDockablePane*>& vctPanes, ESortOrderRect eSortOrder = ESortOrderRect_Top_Asc_Left_Asc);
501 static const CResult GetBottomAlignPanes(std::vector<CDockablePane*>& vctPanes, ESortOrderRect eSortOrder = ESortOrderRect_Bottom_Desc_Left_Asc);
520 static const CResult GetLeftAlignPanes(std::vector<CDockablePane*>& vctPanes, ESortOrderRect eSortOrder = ESortOrderRect_Left_Asc_Top_Asc);
539 static const CResult GetRightAlignPanes(std::vector<CDockablePane*>& vctPanes, ESortOrderRect eSortOrder = ESortOrderRect_Right_Desc_Top_Asc);
556 static const CResult GetExactClassPanes(CDockablePane* pPane, std::vector<CDockablePane*>& vctPanes);
573 static CGUIPaneBase* FindPaneByName(
const Base::CFLString<wchar_t>& strPaneName);
588 static DWORD GetAlignmentLocal(
const CRect& rtDestination,
const CRect& rt);
589 static const CResult SetPlacement(CDockablePane* pPane,
const CGUIPanePlacementBase& panePlacement);
590 static const CResult SetPlacement(CDockablePane* pPane,
const CGUIPanePlacementBase* pPanePlacement);
592 static EDockPosition ConvertAlignmentToDockPosition(DWORD dwAlignment);
593 static DWORD ConvertDockPositionToAlignment(EDockPosition eDockPos);
595 static CPaneContainer* GetPaneContainer(
const CDockablePane* pPane,
bool* pBIsLeftPane =
nullptr);
598 static const CResult SetQAMode(EQAMode eQAMode);
599 static bool IsQAMode(EQAMode eQAMode);
600 static bool IsPrintLogMode();
602 static const CResult LoadStateAll();
603 static const CResult SaveStateAll();
604 DeclareGetClassType();
607 static const CResult AddUserPane(uint32_t uID,
const CGUIPaneBase* pPane);
608 static CGUIPaneBase* FindUserPaneByCommandID(uint32_t uID);
610 static CGUIManagerPane* GetObject();
611 static const CResult SetPrintLog(
bool bPrintLog);
613 static Base::CFLString<wchar_t> GetPaneNameToDistinguish(
const CBasePane* pPane,
bool bReplaceBracket, CGUIMenuItemBase** pMI =
nullptr);
614 static Base::CFLString<wchar_t> GetSectionNameOfPane(
const Base::CFLString<wchar_t>& strPaneNameToDistinguish,
bool bReplaceBracket,
const CGUIMenuItemBase* pMI);
615 static CGUIMenuItemBase* FindParentMenuItemBySectionName(
const Base::CFLString<wchar_t>& str, int32_t* pI32Idx =
nullptr);
616 static CGUITabbedPane* FindTabbedPaneBySerialNumber(int32_t i32SerialNum);
617 static CGUIPaneFrameWnd* FindMiniFrameBySerialNumber(int32_t i32SerialNum);
618 static CDockablePane* FindPaneBySectionName(
const Base::CFLString<wchar_t>& str);
620 static const CResult LoadStateAutoHideBars();
621 static const CResult LoadPanesWithoutDeploying();
622 static const CResult LoadTabbedPane();
623 static const CResult LoadStatePaneContainer();
624 static const CResult LoadStatePaneContainerForMiniFrame();
625 static const CResult LoadPaneContainer(CWnd* pParent, CRect rtParent, int32_t i32Level,
const Base::CFLString<wchar_t>& strSectionName);
627 static const CResult SavePaneContainerRootStruct(sStateDataPaneContainerManager* pSPaneContainerRoot,
const Base::CFLString<wchar_t>& strSectionNamePre,
const Base::CFLString<wchar_t>& strFilePath);
628 static const CResult SavePaneContainerStruct(sStateDataPaneContainer* pSPaneContainer,
const Base::CFLString<wchar_t>& strSectionNamePre, EDockPosition& eParentDocPos, CRect& rtParent,
const Base::CFLString<wchar_t>& strFilePath);
629 static const CResult SavePaneContainer(CPaneContainer* pPaneContainer, CWnd* pParent, CRect rtParent, int32_t i32Level,
const Base::CFLString<wchar_t>& strSectionName);
630 static const CResult SaveMainFramePaneContainers();
632 static const CResult GetStateDataPaneContainerManager(CPaneDivider* pSlider, SStateDataPaneContainerManager& sSDPaneDivider);
633 static const CResult GetStateDataPaneContainer(CPaneContainer* pSlider, SStateDataPaneContainer& sSDPaneContainer, EDockPosition eDockPosParent);
635 static const CResult SaveMiniFrames(
const std::set<CGUIPaneFrameWnd*>& setMiniFrames);
636 static const CResult SavePanes(
const std::set<CGUIPaneBase*>& setPanes);
637 static const CResult SaveTabCtrls(
const std::set<CGUITabbedPane*>& setTabbedPanes);
639 static const CResult SerializeAutoHideBars(
bool bLoad, std::vector<SStateDataAutoHideBar*>* pVctItems =
nullptr);
640 static const CResult SerializeAutoHideInfo(CDockablePane* pPane,
const Base::CFLString<wchar_t>& strSectionName,
bool bLoad, SStateDataAutoHideBar* pStruct =
nullptr);
643 static const CResult SetMainFrame(CGUIMainFrame* pMF);
645 static const CResult RemovePane(CPane* pPane);
647 friend class CGUIMainFrame;
648 friend class CGUIPaneBase;
649 friend class CGUITabbedPane;
650 friend class CGUIPaneFrameWnd;
651 friend class CGUIManager;
652 friend class CGUIMenuItemPaneDialogCustomEmbedded;
653 friend class CGUIViewSNAP;
654 friend class CInternalManagerPane;
657 std::list<CPane*> m_listPaneFocused;
658 std::map<uint32_t, CGUIPaneBase*> m_mapUserPane;
660 CGUIMainFrame* m_pMainFrame;
661 Base::CFLArray<Base::CFLString<wchar_t>> m_flaSections;
662 Base::CFLArray<Base::CFLString<wchar_t>> m_flaSectionsForIndividualPane;
666 bool m_bPrintLogMode;
EDockPosition
Dock position.
Definition GUIDefinitions.h:9487