11#include "GUIFixedViewPlacementSet.h"
12#include "DefinitionsGUI.h"
32 class CGUIViewImageObjectFigure;
33 class CGUIChildFrameBase;
34 class CInternalViewManager;
35 class CGUIDialogCreateStencil;
38 typedef struct sFixedViewDeclarationGroups
40 std::vector<CGUIFixedViewDeclaration*> vctImage;
41 std::vector<CGUIFixedViewDeclaration*> vctGraph;
42 std::vector<CGUIFixedViewDeclaration*> vct3D;
43 std::vector<CGUIFixedViewDeclaration*> vct3DPathEditor;
44 std::vector<CGUIFixedViewDeclaration*> vctSNAP;
45 std::vector<CGUIFixedViewDeclaration*> vctDrawing;
46 std::vector<CGUIFixedViewDeclaration*> vctNone;
47 }SFixedViewDeclarationGroups;
60 CGUIManagerView(
const CGUIManagerView& rh);
516 static bool AddMultiDocTemplate(UINT uIDResource, CRuntimeClass* pDoc, CRuntimeClass* pFrame, CRuntimeClass* pView);
533 static bool AddWindow(CDocument* pDoc, CFrameWnd* pFrame, CView* pView);
818 static std::vector<CGUIViewBase*>
FindView(CRuntimeClass* pRtcView);
902 static const CResult FindView(CRuntimeClass* pRtcView, std::vector<CGUIViewBase*>& vctResult);
1694 DeclareGetClassType();
1700 static bool InitializeLayoutGrip(CWnd* pWndParent);
1701 static void HideLayoutGrip();
1705 static void BroadcastSyncPOVScale(
const std::set<CGUIViewImage*>& setSyncViewImageRoot);
1706 static void CollectRootSyncViewsPOVScale(
CGUIViewImage* pViewImage, std::set<CGUIViewImage*>& setSyncViewImageRoot);
1710 static const CResult RemoveMismatchedFixedViewDeclarations(
const CGUIFixedViewPlacementSet* pFVPSet);
1713 static bool Initialize();
1714 static bool Terminate();
1717 static bool ShowOnlySelectedFixedViews();
1719 static void SetInitialize(
bool bSet);
1722 static CGUIManagerView* GetObject();
1725 CInternalViewManager* m_pInternal;
1730 bool m_bThumbnailDraggingMode;
1732 bool m_bUsedUIMultiThread;
1733 std::map<CGUIViewImageBase*, CUIThread*>& m_mapThreads;
1735 volatile bool m_bInitialized;
1737 CGUIWndGrip* m_pLayoutGripVert;
1738 CGUIWndGrip* m_pLayoutGripHorz;
1742 int32_t m_i32MFOffsetX;
1743 int32_t m_i32MFOffsetY;
1745 bool m_bHorzRectVisible;
1746 bool m_bVertRectVisible;
1747 bool m_bLButtonDownOnNcHitView;
1749 std::vector<CMultiDocTemplate*>& m_vctMultiDocTemplates;
1750 std::map<std::string, CMultiDocTemplate*>& m_mapMultiDocTemplates;
1751 std::map<CMultiDocTemplate*, std::string>& m_mapMultiDocTemplatesReverse;
1753 std::vector<CGUIFixedViewDeclaration*>& m_vctFixedViewDeclaration;
1754 std::vector<CGUIFixedViewPlacementSet*>& m_vctFixedViewPlacementSet;
1756 std::vector<CDocument*>& m_vctDoc;
1757 std::vector<CFrameWnd*>& m_vctFrame;
1758 std::vector<CView*>& m_vctView;
1760 std::vector <CGUIChildFrameBase*>& m_vctFrameToResize;
1761 std::set <int32_t>& m_setI32FrameX;
1762 std::set <int32_t>& m_setI32FrameY;
1764 size_t m_stSelectedPlacementSet;
1766 friend class CGUIManager;
1768 friend class CInternalViewManager;
1769 friend class CGUIDialogCreateStencil;
1770 friend class CGUIFixedViewPlacementSet;
Broadcast message class.
Definition BroadcastMessage.h:27
Template type array class.
Definition FLArray.h:71
Top-level base class of FLImaging.
Definition FLBase.h:36
FLIMaging's image class.
Definition FLImage.h:35
Template type string class.
Definition FLString.h:34
Simplified class representing a point.
Definition TPoint.h:37
Simplified class representing a rectangle.
Definition TRect.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1704
A class that converts strings to Figure.
Definition Stencil.h:25
A class of fixed view declaration.
Definition GUIFixedViewDeclaration.h:31
static void UseUIMultiThread(bool bUse)
Sets whether UI multi-threading is enabled.
static std::vector< CView * > FindWindowView(const Base::CFLString< wchar_t > &strTitle)
Returns all MFC views matching the specified title.
virtual ~CGUIManagerView()
Destructor for CGUIManagerView.
static bool IsInitialized()
Checks whether the manager has been initialized.
static std::vector< CGUIViewBase * > FindView(const Base::CFLString< wchar_t > &strTitle)
Returns all views whose title matches the specified string.
static CGUIViewBase * FindViewByViewNumberDerivedFrom(CRuntimeClass *pRtcView, size_t stViewNumber)
Returns the view derived from the specified runtime class matching the given view number.
static const CResult CreateViewDrawing(CGUIViewDrawing *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates a drawing view within the specified region.
static void ShowHelpDialogViewDrawing(CGUIViewDrawing *pView)
Displays the help dialog for the specified drawing view.
static std::string GetMultiDocTemplateName(CMultiDocTemplate *pMultiDocTemplate)
Returns the name of the specified multi-document template.
static CGUIViewBase * FindViewByIndex(size_t stIndex)
Returns the view at the specified index among all registered views.
static bool PreDestroyView3D()
Performs pre-destruction processing for all 3D views.
static bool PreDestroyViewImage()
Performs pre-destruction processing for all image views.
static bool SelectFixedViewPlacementSet(const Base::CFLString< wchar_t > &strFvpSetName)
Selects the fixed view placement set matching the specified name.
static int64_t GetMultiDocTemplateCount()
Returns the total number of registered multi-document templates.
static const CResult CreateView3DPathEditor(CGUIView3DPathEditor *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates a 3D path editor view within the specified region.
static CView * FindWindowView(size_t stIndex)
Returns the MFC view at the specified index.
static bool DeleteWindow(CDocument *pDoc)
Removes the window associated with the specified document.
static const CResult RemoveFixedViewDeclaration(CGUIFixedViewDeclaration *pFixedViewDeclaration)
Forcefully destroys the specified fixed view declaration and removes it from the manager container.
static std::vector< CGUIViewImage * > FindViewImage()
Returns all registered image views.
static int64_t GetFixedViewDeclarationCount()
Returns the total number of registered fixed view declarations.
static const CResult CreateFixedView(size_t stIndex, bool bLoadFixedViewSetting=true)
Creates the fixed view corresponding to the specified index.
static int64_t GetFixedViewPlacementSetIndex(const CGUIFixedViewPlacementSet *pFvpSet)
Returns the index of the specified fixed view placement set.
static bool PreDestroyViewImageBase()
Performs pre-destruction processing for all base image views.
static CGUIViewBase * FindViewByIndexDerivedFrom(CRuntimeClass *pRtcView, size_t stIndex)
Returns the view at the specified index among views derived from the given runtime class.
static CDocument * FindWindowVDocument(size_t stIndex)
Returns the document associated with the window at the specified index.
static void SetThumbnailDraggingImageSource(Base::CFLImage *pFliSource, int32_t i32SelectedPageIndex=-1)
Sets the source image for thumbnail dragging with an optional selected page index.
static std::vector< CDocument * > FindWindowVDocument(const Base::CFLString< wchar_t > &strTitle)
Returns all documents associated with windows matching the specified title.
static void ShowHelpDialogMainFrame(CGUIMainFrame *pMF)
Displays the help dialog for the specified main frame.
static void ShowHelpDialogViewSNAP(CGUIViewSNAP *pView)
Displays the help dialog for the specified SNAP view.
static const CResult DestroyAllViews()
Destroys all registered views and releases their resources.
static const CResult CollectFixedViewDeclarationsByType(SFixedViewDeclarationGroups &sFvdGroups)
Collects all fixed view declarations and categorizes them by their view type.
static const CResult CloseView(CGUIViewImageBase *pView)
Closes the specified view without destroying it.
static int64_t GetFixedViewDeclarationIndex(const CGUIFixedViewDeclaration *pFVD)
Returns the index of the specified fixed view declaration.
static CMultiDocTemplate * GetMultiDocTemplate(size_t stIndex)
Returns the multi-document template at the specified index.
static void ShowHelpDialogViewImage(CGUIViewImage *pView)
Displays the help dialog for the specified image view.
static const CResult FindViewDerivedFrom(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle, std::vector< CGUIViewBase * > &vctResult)
Finds all views derived from the specified runtime class and matching the given title and stores the ...
static void RemoveViewThread(CUIThread *pThread)
Removes the specified UI thread from the view thread list.
static CGUIViewBase * FindViewByViewNumber(const Base::CFLString< wchar_t > &strTitle)
Returns the view whose title matches the specified string, identified by view number.
static CFrameWnd * FindWindowFrame(size_t stIndex)
Returns the frame window at the specified index.
static const CResult AddFixedViewPlacementSet(CGUIFixedViewPlacementSet &fvpSet, bool bAddMenuItem=true)
Adds a fixed view placement set by reference and optionally registers it as a menu item.
static const CResult FindView(const Base::CFLString< wchar_t > &strTitle, std::vector< CGUIViewBase * > &vctResult)
Finds all views matching the specified title and stores the results in the output vector.
static CGUIViewBase * FindViewByViewNumberDerivedFrom(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle)
Returns the view derived from the specified runtime class matching the given title,...
static const CResult ActivateNextView(bool bCircular=true)
Activate the next visible view based on the serial number order. If bCircular is true,...
static bool IsThumbnailDraggingMode()
Checks whether thumbnail dragging mode is currently enabled.
static bool AddWindow(CDocument *pDoc, CFrameWnd *pFrame, CView *pView)
Registers a window composed of the specified document, frame, and view.
static const CResult FindViewImage(std::vector< CGUIViewImage * > &vctResult)
Finds all registered image views and stores the results in the output vector.
static bool DeleteWindow(CFrameWnd *pFrame)
Removes the window associated with the specified frame.
static const CResult RemoveFixedViewPlacementSet(size_t stIndex)
Removes the fixed view placement set at the specified index.
static const CResult ClearFixedViewDeclarationAll()
Removes all registered fixed view declarations.
static std::vector< CFrameWnd * > FindWindowFrame(const Base::CFLString< wchar_t > &strTitle)
Returns all frame windows matching the specified title.
static std::vector< CView * > GetViews()
Retrieves all registered views.
static CGUIFixedViewPlacementSet * GetSelectedFixedViewPlacementSet()
Returns a pointer to the currently selected fixed view placement set.
static const CResult AddFixedViewPlacementSet(CGUIFixedViewPlacementSet *pFvpSet, bool bAddMenuItem=true)
Adds a fixed view placement set by pointer and optionally registers it as a menu item.
static const CResult CreateViewImage(CGUIViewImage *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates an image view within the specified region.
static bool SelectFixedViewPlacementSet(size_t stIndex)
Selects the fixed view placement set at the specified index.
static bool DoesView3DExist()
Checks whether at least one 3D view exists.
static size_t GetViewCount()
Returns the total number of registered views.
static CGUIViewBase * FindViewByViewNumber(CRuntimeClass *pRtcView, size_t stViewNumber)
Returns the view matching the specified runtime class and view number.
static bool PreDestroyView3DPathEditor()
Performs pre-destruction processing for all 3D path editor views.
static int64_t GetSelectedFixedViewPlacementSetIndex()
Returns the index of the currently selected fixed view placement set.
static CGUIViewBase * FindViewByViewNumber(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle)
Returns the view matching the specified runtime class and title, identified by view number.
static const CResult CreateView(CGUIViewImageBase *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates a base image view within the specified region.
static int64_t GetSNAPViewSerialNumber()
Returns the serial number of the SNAP view.
static bool PreDestroyViewSNAP()
Performs pre-destruction processing for all SNAP views.
static const CResult DestroyView(CGUIViewImageBase *pView)
Destroys the specified view and releases its resources.
static int64_t GetFixedViewPlacementSetCount()
Returns the total number of registered fixed view placement sets.
static const CResult RemoveFixedViewDeclarationSafe(CGUIFixedViewDeclaration *pFixedViewDeclaration)
Safely removes the specified fixed view declaration if it is not used by the currently active placeme...
static bool DoesVisibleView3DPathEditorExist()
Checks whether at least one visible 3D path editor view exists.
static bool DeleteWindow(CView *pView)
Removes the window associated with the specified view.
static const CResult CreateViewGraph(CGUIViewGraph *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates a graph view within the specified region.
static CGUIFixedViewPlacementSet * GetFixedViewPlacementSet(size_t stIndex)
Returns the fixed view placement set at the specified index.
static void SetThumbnailDraggingImageSource(Base::CFLImage *pFliSource, Base::CFLArray< int32_t > &flaSelectedThumbnailIndex)
Sets the source image for thumbnail dragging with a list of selected thumbnail indices.
static bool DoesVisibleViewDrawingExist()
Checks whether at least one visible drawing view exists.
static const CResult RemoveFixedViewDeclarationIfUnused(CGUIFixedViewDeclaration *pFixedViewDeclaration)
Removes the specified fixed view declaration only if it is not used by any other placement set.
static bool DoesVisibleViewSNAPExist()
Checks whether at least one visible SNAP view exists.
static void GetSelectedThumbnailIndex(Base::CFLArray< int32_t > &flaSelectedThumbnailIndex)
Retrieves the list of selected thumbnail indices.
static CMultiDocTemplate * GetMultiDocTemplate(std::string strMultiDocTemplateName)
Returns the multi-document template matching the specified name.
static void InitializeClassContainer()
Initializes the internal class container used for view management.
static std::vector< CGUIViewBase * > FindView(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle)
Returns all views matching both the specified runtime class and title.
static const CResult RemoveFixedViewDeclaration(size_t stIndex)
Removes the fixed view declaration at the specified index.
static const CResult CreateView3D(CGUIView3D *pView, int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, size_t stParentWindowHandle)
Creates a 3D view within the specified region.
static std::string GetMultiDocTemplateName(CRuntimeClass *pDoc, CRuntimeClass *pFrame, CRuntimeClass *pView)
Returns the name of the multi-document template matching the specified runtime classes.
static std::vector< CGUIViewBase * > FindViewDerivedFrom(CRuntimeClass *pRtcView)
Returns all views derived from the specified runtime class.
static CGUIFixedViewPlacementSet * GetFixedViewPlacementSet(const Base::CFLString< wchar_t > &strFvpSetName)
Returns the fixed view placement set matching the specified name.
static bool DoesViewSNAPExist()
Checks whether at least one SNAP view exists.
static const CResult FindView(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle, std::vector< CGUIViewBase * > &vctResult)
Finds all views matching both the specified runtime class and title and stores the results in the out...
static std::string ExtractClassNameWithNamespace(const type_info &rhs)
Extracts the fully qualified class name including namespace from the given type_info.
static const Base::CFLImage * GetThumbnailDraggingImageSource()
Returns the source image currently set for thumbnail dragging.
static bool DoesVisibleViewGraphExist()
Checks whether at least one visible graph view exists.
static bool DoesView3DPathEditorExist()
Checks whether at least one 3D path editor view exists.
static bool PreDestroyViewGraph()
Performs pre-destruction processing for all graph views.
static bool IsAvailableView(CGUIViewImageBase *pView)
Checks whether the specified view is currently available.
static std::vector< CGUIViewBase * > FindViewAnyOf(const Base::CFLString< wchar_t > &strTitle)
Returns all views whose title matches or is similar to the specified string. Comparison is case-insen...
static bool DoesViewDrawingExist()
Checks whether at least one drawing view exists.
static bool PreDestroyViewDrawing()
Performs pre-destruction processing for all drawing views.
static void ShowHelpDialogView3D(CGUIView3D *pView)
Displays the help dialog for the specified 3D view.
static CGUIViewBase * FindViewByViewNumber(size_t stViewNumber)
Returns the view matching the specified view number.
static std::string GetMultiDocTemplateName(size_t stIndex)
Returns the name of the multi-document template at the specified index.
static std::vector< CGUIViewBase * > FindViewDerivedFrom(CRuntimeClass *pRtcView, const Base::CFLString< wchar_t > &strTitle)
Returns all views derived from the specified runtime class and matching the given title.
static const CResult AddFixedViewDeclaration(CGUIFixedViewDeclaration *pFixedViewDeclaration)
Registers a fixed view declaration with the manager.
static const CResult FindView(CRuntimeClass *pRtcView, std::vector< CGUIViewBase * > &vctResult)
Finds all views matching the specified runtime class and stores the results in the output vector.
static CGUIFixedViewDeclaration * GetFixedViewDeclaration(int64_t i64Index)
Returns the fixed view declaration at the specified index.
static bool RelocateFixedView()
Relocates all fixed views according to the current placement settings.
static const CResult FindViewDerivedFrom(CRuntimeClass *pRtcView, std::vector< CGUIViewBase * > &vctResult)
Finds all views derived from the specified runtime class and stores the results in the output vector.
static bool DoesVisibleView3DExist()
Checks whether at least one visible 3D view exists.
static std::string ExtractClassName(const type_info &rhs)
Extracts the class name (without namespace) from the given type_info.
virtual Base::CFLString< wchar_t > GetFileName() const
Returns the path of the configuration file in which global view settings are stored....
static void SetViewImageThumbnailDraggingSource(CGUIViewImage *pViewSource)
Sets the source image view for thumbnail dragging.
static void CommonExtractClassName(std::string &strResult, size_t stInitialPosition)
Common helper function that extracts and formats a class name string starting from the given position...
static CGUIViewImage * GetViewImageThumbnailDraggingSource()
Returns the source image view currently set for thumbnail dragging.
static void SetThumbnailDraggingMode(bool bSet)
Sets whether thumbnail dragging mode is enabled.
static const CResult ActivatePreviousView(bool bCircular=true)
Activate the previous visible view based on the serial number order. If bCircular is true,...
static CGUIViewBase * FindViewByIndex(CRuntimeClass *pRtcView, size_t stIndex)
Returns the view at the specified index among views matching the given runtime class.
static void ShowHelpDialogViewGraph(CGUIViewGraph *pView)
Displays the help dialog for the specified graph view.
static bool DoesVisibleViewImageExist()
Checks whether at least one visible image view exists.
static bool AddMultiDocTemplate(UINT uIDResource, CRuntimeClass *pDoc, CRuntimeClass *pFrame, CRuntimeClass *pView)
Registers a new multi-document template with the specified resource and runtime classes.
static bool IsUsedUIMultiThread()
Checks whether UI multi-threading is currently enabled.
static bool DoesViewImageExist()
Checks whether at least one image view exists.
static bool DoesViewGraphExist()
Checks whether at least one graph view exists.
static std::vector< CGUIViewBase * > FindView(CRuntimeClass *pRtcView)
Returns all views matching the specified runtime class.
A class of 3D view.
Definition GUIView3D.h:118
3D path editor class
Definition GUIView3DPathEditor.h:29
A class of drawing view.
Definition GUIViewDrawing.h:52
A class of graph view.
Definition GUIViewGraph.h:45
A class of view base.
Definition GUIViewImageBase.h:44
A class of image view.
Definition GUIViewImage.h:360
SNAP view class.
Definition GUIViewSNAP.h:36
Definition D2DObject.h:12