FLImaging 7.8.25.3
GUIManagerContextMenuViewDrawing.h
1#pragma once
2#include "DefinitionsGUI.h"
3#include "DefinitionsGUIViewDrawing.h"
4#include "GUIManagerContextMenuBase.h"
5#include "GUIViewDrawingContextMenuFilter.h"
6#include <unordered_set>
7
8namespace FLImaging
9{
10 namespace GUI
11 {
12 class CGUIViewDrawing;
13 class CGUIPopupMenu;
14
15 class FL_EXPORT CGUIManagerContextMenuViewDrawing : public CGUIManagerContextMenuBase
16 {
17 public:
18 CGUIManagerContextMenuViewDrawing();
19 CGUIManagerContextMenuViewDrawing(CGUIViewDrawing* pParentView);
20 CGUIManagerContextMenuViewDrawing(const CGUIManagerContextMenuViewDrawing& rhs);
21 CGUIManagerContextMenuViewDrawing(const CGUIManagerContextMenuViewDrawing* pRhs);
22 virtual ~CGUIManagerContextMenuViewDrawing();
23 virtual const CResult Assign(const CGUIManagerContextMenuViewDrawing& rhs);
24 virtual const CResult Assign(const CGUIManagerContextMenuViewDrawing* pRhs);
25 CGUIManagerContextMenuViewDrawing& operator=(const CGUIManagerContextMenuViewDrawing& rhs);
26
27 virtual const CResult Initialize();
28 static bool IsStaticArrayInitialized();
29 static void InitializeStaticArray();
30 static const Base::CFLString<wchar_t> GetMenuItemString(EMenuItemViewDrawing eMenuItem);
31 static EResourceIdBitmap GetMenuItemBmpResourceId(EMenuItemViewDrawing eMenuItem);
32
33 virtual void SetPopupMenuItem(CGUIPopupMenu& cmenuPopup);
34 virtual void SetPopupMenuItemMeasure(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
35
36 virtual void AppendMenuParentCoordinateOrientation(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu, bool bCreateSubMenu = true);
37 virtual void AppendMenuParentLayer(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu, bool bCreateSubMenu = true);
38 virtual void AppendMenuParentMeasure(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
39 virtual void AppendMenuParentPointOfView(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
40 virtual void AppendMenuParentSynchronization(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
41 virtual void AppendMenuParentShow(CGUIPopupMenu& cmenuPopup, bool bImgExist, bool bImgExistRough, bool& bAddedMenu);
42 virtual void AppendMenuParentPixel(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
43 virtual void AppendMenuParentFlip(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
44 virtual void AppendMenuParentRotate(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
45
46 virtual void AppendMenuShowImageMinimap(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
47 virtual void AppendMenuShowGrid(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
48 virtual void AppendMenuShowCrosshair(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
49 virtual void AppendMenuShowImageCoordinateOnCursor(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
50 virtual void AppendMenuChangeCanvasColor(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
51 virtual void AppendMenuShowToolbar(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
52 virtual void AppendMenuShowStatusbar(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
53 virtual void AppendMenuShowScrollbar(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
54
55 virtual void AppendMenuShowLayers(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
56 virtual void AppendMenuClearLayers(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
57 virtual void AppendMenuSynchronization(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
58 virtual void AppendMenuSynchronization(CGUIPopupMenu& cmenuPopup, EViewDrawingSyncOption eSyncOption, bool& bAddedMenu);
59 virtual void AppendMenuClearFile(CGUIPopupMenu& cmenuPopup, bool& bAddedMenu);
60
61 bool IsAvailable(EMenuItemViewDrawing eMenu) const;
62 void SetAvailable(EMenuItemViewDrawing eMenu, bool bAvailable);
63 bool IsAnyAvailable(const EMenuItemViewDrawing* pArr, int64_t i64Count) const;
64 UINT GetContextMenuFlag(const CGUIViewDrawingContextMenuFilter& availSrc, EMenuItemViewDrawing eMenuItem) const;
65 UINT GetContextMenuFlag(const CGUIViewDrawingContextMenuFilter& availSrc, EMenuItemViewDrawing eMenuItem, long uFlag) const;
66
67 SupportToDuplicateObject(CGUIManagerContextMenuViewDrawing, *this);
68 DeclareGetClassType();
69
70 protected:
71 virtual CGUIPopupMenu* InternalAppendSubMenu(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItemParent, bool& bAddedMenu, UINT uExtraFlag = 0);
72
73 virtual CGUIPopupMenu* InternalAppendSubMenuCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItemParent, const std::vector<EMenuItemViewDrawing>& vctMenuItem, bool& bAddedMenu, bool bCheck);
74
75 virtual void InternalAppendMenu(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, const Base::CFLString<wchar_t>& flstrName, const long uFlag, EResourceIdBitmap eResourceId, bool& bAddedMenu);
76
77 virtual void InternalAppendMenu(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, const Base::CFLString<wchar_t>& strMenu, long uFlag, bool& bAddedMenu);
78 virtual void InternalAppendMenu(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, long uFlag, bool& bAddedMenu);
79 virtual void InternalAppendMenu(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, bool& bAddedMenu);
80 virtual void InternalAppendMenuCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, const Base::CFLString<wchar_t>& strMenu, bool& bAddedMenu, bool bCheck);
81 virtual void InternalAppendMenuCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, bool& bAddedMenu, bool bCheck);
82 virtual void InternalAppendMenuCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, const Base::CFLString<wchar_t>& strMenu, long uFlag, bool& bAddedMenu, bool bCheck);
83 virtual void InternalAppendMenuCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, long uFlag, bool& bAddedMenu, bool bCheck);
84 virtual void InternalAppendMenuEnable(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, bool& bAddedMenu, bool bEnable);
85 virtual void InternalAppendMenuEnableCheck(CGUIPopupMenu* pMenu, EMenuItemViewDrawing eMenuItem, bool& bAddedMenu, bool bEnable, bool bCheck);
86
87 virtual void InternalAppendMenuViewDrawing(CGUIPopupMenu* pMenu, const UINT_PTR eMenuItem, const Base::CFLString<wchar_t>& flstrName, const long flags, EResourceIdBitmap resId,bool& bAddedMenu);
88
89 protected:
90 CGUIViewDrawing* m_pParentView;
91 std::unordered_set<EMenuItemViewDrawing> m_setMenuItemAdded;
92 EGUIViewDrawingHitArea m_eHitArea;
93 CGUIViewDrawingContextMenuFilter m_filterAvailableMenu;
94
95 friend class CGUIViewDrawing;
96 };
97 }
98}
A class of drawing view.
Definition GUIViewDrawing.h:52
Definition D2DObject.h:12
EResourceIdBitmap
Resource ID of bitmap.
Definition DefinitionsGUIResource.h:58
EGUIViewDrawingHitArea
The area where the mouse is located on the Drawing view.
Definition DefinitionsGUIViewDrawing.h:765
@ Assign
Set the value of CGUIPropertyItemView3DFigure to the specified figure.
Definition DefinitionsGUIView3D.h:3531