-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMultiFrm.h
207 lines (177 loc) · 6.92 KB
/
MultiFrm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2005-2011 Association Homecinema Francophone. All rights reserved.
/////////////////////////////////////////////////////////////////////////////
//
// This file is subject to the terms of the GNU General Public License as
// published by the Free Software Foundation. A copy of this license is
// included with this software distribution in the file COPYING.htm. If you
// do not have a copy, you may obtain a copy by writing to the Free
// Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details
/////////////////////////////////////////////////////////////////////////////
// Author(s):
// Georges GALLERAND
/////////////////////////////////////////////////////////////////////////////
// MultiFrm.h : interface of the CMultiFrame class
//
/////////////////////////////////////////////////////////////////////////////
#define TMSCHEMA_H
#if !defined(AFX_MULTIFRM_H__0FA24630_ABBF_472F_9EBC_142687A72E75__INCLUDED_)
#define AFX_MULTIFRM_H__0FA24630_ABBF_472F_9EBC_142687A72E75__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "BtnST.h"
#include "Tools/CustomTabControl/ThemeUtil.h"
#include "Tools/CustomTabControl/CustomTabCtrl.h"
#define MAX_TABBED_VIEW 32
/////////////////////////////////////////////////////////////////////////////
// CRefCheckDlg dialog
class CRefCheckDlg : public CDialog
{
// Construction
public:
CRefCheckDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CRefCheckDlg)
enum { IDD = IDD_REF_CHECKBOX };
CButtonST m_ButtonMenu;
CButton m_RefCheck;
CButton m_XYZCheck;
//}}AFX_DATA
BOOL m_bTop;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CRefCheckDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CRefCheckDlg)
afx_msg void OnPaint();
afx_msg void OnCheckRef();
afx_msg void OnCheckXYZ();
afx_msg void OnButtonMenu();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
class CMultiFrame : public CNewMDIChildWnd
{
DECLARE_DYNCREATE(CMultiFrame)
public:
CMultiFrame();
// Attributes
public:
POINT m_MinSize;
POINT m_MinSize2;
BOOL m_bUseMinSize2;
CRefCheckDlg m_RefCheckDlg;
CCustomTabCtrl m_TabCtrl;
BOOL m_bDisplayTab;
BOOL m_bTabUp;
BOOL m_bHasStarted;
BOOL m_bHide;
int m_NbTabbedViews;
CView * m_pTabbedView [ MAX_TABBED_VIEW ];
int m_nTabbedViewIndex [ MAX_TABBED_VIEW ];
BOOL m_bDDERunning;
CDataSetDoc * GetDocument() { return (CDataSetDoc*) m_pDocument; }
// Internal flags to control new frame creation
private:
CDocument * m_pDocument;
UINT m_nCreateFrameStyle;
UINT m_nViewTypeDefinition;
int m_LastRightClickedTab;
// Operations
public:
CView * CreateTabbedView ( CCreateContext * pContext, int nIDName, int nIDTooltipText, RECT Rect, BOOL bDisableInitialUpdate = FALSE );
CView * CreateOrActivateView ( int nViewIndex, BOOL bForceCreate = FALSE, BOOL bDisableInitialUpdate = FALSE );
void CreateNewFrameOnView ( int nViewIndex, BOOL bAlone );
void ActivateViewOnAllFrames ( int nViewIndex, BOOL bExcludeMyself );
void CloseAllThoseViews ( int nViewIndex );
void PerformToolbarOperation ( int nViewIndex, int nOperation );
int GetViewTabIndex ( int nIDName );
void OnChangeRef ( BOOL bSet );
void OnChangeXYZ ( BOOL bSet );
void OpenNewTabMenu ( POINT pt );
void OnRightToolbarButton(WPARAM wParam);
void OnMiddleToolbarButton(WPARAM wParam);
void EnsureMinimumSize ();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMultiFrame)
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext );
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CMultiFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
BOOL DdeCmdExec ( CString & strCommand, BOOL bCanSendAckMsg, HWND hWndClient, LPARAM lParam, LPBOOL pbAckMsgSent );
// Generated message map functions
protected:
//{{AFX_MSG(CMultiFrame)
afx_msg void OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI);
afx_msg void OnDestroy();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnTabChanged(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRightClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnToggleTab();
afx_msg void OnUpdateToggleTab(CCmdUI* pCmdUI);
afx_msg void OnClickTabctrl(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnPrevTab();
afx_msg void OnNextTab();
afx_msg void OnRefreshReference();
afx_msg void OnViewDataSet();
afx_msg void OnUpdateViewDataSet(CCmdUI* pCmdUI);
afx_msg void OnViewCiechart();
afx_msg void OnUpdateViewCiechart(CCmdUI* pCmdUI);
afx_msg void OnViewColortemphisto();
afx_msg void OnUpdateViewColortemphisto(CCmdUI* pCmdUI);
afx_msg void OnViewLuminancehisto();
afx_msg void OnUpdateViewLuminancehisto(CCmdUI* pCmdUI);
afx_msg void OnViewGammahisto();
afx_msg void OnUpdateViewGammahisto(CCmdUI* pCmdUI);
afx_msg void OnViewNearBlackhisto();
afx_msg void OnUpdateViewNearBlackhisto(CCmdUI* pCmdUI);
afx_msg void OnViewNearWhitehisto();
afx_msg void OnUpdateViewNearWhitehisto(CCmdUI* pCmdUI);
afx_msg void OnViewRgbhisto();
afx_msg void OnUpdateViewRgbhisto(CCmdUI* pCmdUI);
afx_msg void OnViewSatLumhisto();
afx_msg void OnUpdateViewSatLumhisto(CCmdUI* pCmdUI);
afx_msg void OnViewSatLumshift();
afx_msg void OnUpdateViewSatLumshift(CCmdUI* pCmdUI);
afx_msg void OnViewMeasuresCombo();
afx_msg void OnUpdateViewMeasuresCombo(CCmdUI* pCmdUI);
afx_msg void OnActivateTab();
afx_msg void OnActivateTabOnAll();
afx_msg void OnDuplicateTab();
afx_msg void OnCloseTab();
afx_msg void OnOpenTabInNewWindow();
//}}AFX_MSG
public:
afx_msg LRESULT OnDDEInitiate(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnDDEExecute(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnDDERequest(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnDDEPoke(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnDDETerminate(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnAppCommand(WPARAM wParam, LPARAM lParam );
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MULTIFRM_H__0FA24630_ABBF_472F_9EBC_142687A72E75__INCLUDED_)