root / trunk / win / Moddlg.h

Revision 673, 4.9 kB (checked in by leo, 19 months ago)

Updated support for new object classes.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1// ModDlg.h: interface for the CModifyDialog class.
2
3#ifndef _MODDLG_H_
4#define _MODDLG_H_
5
6#include "ClrPick.h"
7#include "sizecbar.h"
8#include "scbarg.h"
9#include "RollUpCtrl.h"
10#include "algebra.h"
11
12class lcObject;
13class lcCamera;
14
15// CModifyPieceDlg dialog
16class CModifyPieceDlg : public CDialog
17{
18    DECLARE_DYNAMIC(CModifyPieceDlg)
19
20public:
21    CModifyPieceDlg(CWnd* pParent = NULL);   // standard constructor
22    virtual ~CModifyPieceDlg();
23
24// Dialog Data
25    //{{AFX_DATA(CModifyPieceDlg)
26    enum { IDD = IDD_MODIFY_PIECE };
27    float   m_PosX;
28    float   m_PosY;
29    float   m_PosZ;
30    float   m_RotX;
31    float   m_RotY;
32    float   m_RotZ;
33    BOOL    m_Hidden;
34    int m_From;
35    int m_To;
36    CColorPicker    m_Color;
37    //}}AFX_DATA
38
39    void UpdateInfo(class lcPiece* piece);
40    void Apply(class lcPiece* piece);
41
42protected:
43    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
44
45    // Generated message map functions
46    //{{AFX_MSG(CModifyPieceDlg)
47    virtual void OnOK();
48    virtual void OnCancel();
49    afx_msg void OnDataChange();
50    //}}AFX_MSG
51
52    DECLARE_MESSAGE_MAP()
53};
54
55// CModifyCameraDlg dialog
56class CModifyCameraDlg : public CDialog
57{
58    DECLARE_DYNAMIC(CModifyCameraDlg)
59
60public:
61    CModifyCameraDlg(CWnd* pParent = NULL);   // standard constructor
62    virtual ~CModifyCameraDlg();
63
64// Dialog Data
65    //{{AFX_DATA(CModifyCameraDlg)
66    enum { IDD = IDD_MODIFY_CAMERA };
67    float   m_PosX;
68    float   m_PosY;
69    float   m_PosZ;
70    float   m_TargetX;
71    float   m_TargetY;
72    float   m_TargetZ;
73    float   m_Roll;
74    float   m_FOV;
75    BOOL  m_Clip;
76    float   m_Near;
77    float   m_Far;
78    BOOL    m_Ortho;
79    BOOL  m_Cone;
80    BOOL    m_Hidden;
81    //}}AFX_DATA
82
83    void UpdateInfo(class lcCamera* camera);
84    void Apply(class lcCamera* camera);
85
86protected:
87    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
88
89    // Generated message map functions
90    //{{AFX_MSG(CModifyCameraDlg)
91    virtual void OnOK();
92    virtual void OnCancel();
93    afx_msg void OnDataChange();
94    //}}AFX_MSG
95    DECLARE_MESSAGE_MAP()
96};
97
98// CModifyLightDlg dialog
99class CModifyLightDlg : public CDialog
100{
101    DECLARE_DYNAMIC(CModifyLightDlg)
102
103public:
104    CModifyLightDlg(CWnd* pParent = NULL);   // standard constructor
105    virtual ~CModifyLightDlg();
106
107// Dialog Data
108    //{{AFX_DATA(CModifyLightDlg)
109    enum { IDD = IDD_MODIFY_LIGHT };
110    float m_PosX;
111    float m_PosY;
112    float m_PosZ;
113    float m_TargetX;
114    float m_TargetY;
115    float m_TargetZ;
116    CButton m_Ambient;
117    CButton m_Diffuse;
118    CButton m_Specular;
119    float m_Constant;
120    float m_Linear;
121    float m_Quadratic;
122    float m_Cutoff;
123    float m_Exponent;
124    BOOL m_Hidden;
125    //}}AFX_DATA
126
127    Vector3 m_AmbientColor;
128    Vector3 m_DiffuseColor;
129    Vector3 m_SpecularColor;
130
131    void UpdateInfo(class lcLight* light);
132    void Apply(class lcLight* light);
133
134protected:
135    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
136
137    // Generated message map functions
138    //{{AFX_MSG(CModifyLightDlg)
139    virtual void OnOK();
140    virtual void OnCancel();
141    afx_msg void OnDataChange();
142    afx_msg void OnAmbient();
143    afx_msg void OnDiffuse();
144    afx_msg void OnSpecular();
145    //}}AFX_MSG
146    DECLARE_MESSAGE_MAP()
147};
148
149// CModifyDialog window
150class CModifyDialog : public CDialog
151{
152    DECLARE_DYNAMIC(CModifyDialog)
153
154// Construction / Destruction
155public:
156    CModifyDialog(CWnd* pParent = NULL);
157    virtual ~CModifyDialog();
158
159    //{{AFX_DATA(CModifyDialog)
160    enum { IDD = IDD_MODIFY };
161    CComboBox   m_ctlCombo;
162    CString m_strName;
163    //}}AFX_DATA
164
165// Operations
166public:
167
168// Overrides
169    // ClassWizard generated virtual function overrides
170    //{{AFX_VIRTUAL(CModifyDialog)
171    protected:
172    virtual void DoDataExchange(CDataExchange* pDX);
173    //}}AFX_VIRTUAL
174
175// Implementation
176public:
177    void UpdateInfo(lcObject* pObject);
178    void OnUpdateCmdUI(CFrameWnd * pTarget, BOOL bDisableIfNoHndler);
179    BOOL OnInitDialogBar();
180
181    CRollupCtrl m_RollUp;
182    CModifyPieceDlg m_PieceDlg;
183    CModifyCameraDlg m_CameraDlg;
184    CModifyLightDlg m_LightDlg;
185
186protected:
187    void PositionChildren();
188
189    lcObject* m_pObject;
190    int m_CurrentType;
191
192protected:
193    void UpdateControls(int Type);
194    void OnMenuClick(UINT nID);
195
196    // Generated message map functions
197    //{{AFX_MSG(CModifyDialog)
198    afx_msg void OnModdlgPiece();
199    afx_msg void OnSelendokModdlgList();
200    afx_msg void OnModdlgApply();
201    afx_msg void OnDropdownModdlgList();
202    afx_msg void OnMove(int x, int y);
203    afx_msg void OnSize(UINT nType, int cx, int cy);
204    afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
205    //}}AFX_MSG
206
207    DECLARE_MESSAGE_MAP()
208};
209
210class CModifyDialogBar : public CSizingControlBarG
211{
212// Construction
213public:
214    CModifyDialogBar();
215
216// Attributes
217public:
218    CModifyDialog m_ModifyDlg;
219
220// Operations
221public:
222
223// Overrides
224    // ClassWizard generated virtual function overrides
225    //{{AFX_VIRTUAL(CModifyDialogBar)
226    //}}AFX_VIRTUAL
227
228// Implementation
229public:
230    virtual ~CModifyDialogBar();
231
232protected:
233    CSize CalcDynamicLayout(int nLength, DWORD dwMode);
234    CSize CalcFixedLayout(BOOL bStretch, BOOL bHorz);
235
236    // Generated message map functions
237protected:
238    //{{AFX_MSG(CModifyDialogBar)
239    afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
240    afx_msg void CModifyDialogBar::OnSize(UINT nType, int cx, int cy);
241    //}}AFX_MSG
242    DECLARE_MESSAGE_MAP()
243};
244
245#endif // _MODDLG_H_
Note: See TracBrowser for help on using the browser.