]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/tools/af/DialogAFConstraintUniversal.h
hello world
[icculus/iodoom3.git] / neo / tools / af / DialogAFConstraintUniversal.h
1 /*
2 ===========================================================================
3
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company. 
6
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).  
8
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code.  If not, see <http://www.gnu.org/licenses/>.
21
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code.  If not, please request a copy in writing from id Software at the address below.
23
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25
26 ===========================================================================
27 */
28 #pragma once
29
30 // DialogAFConstraintUniversal dialog
31
32 class DialogAFConstraintUniversal : public CDialog {
33
34         DECLARE_DYNAMIC(DialogAFConstraintUniversal)
35
36 public:
37                                                 DialogAFConstraintUniversal(CWnd* pParent = NULL);   // standard constructor
38         virtual                         ~DialogAFConstraintUniversal();
39         void                            LoadFile( idDeclAF *af );
40         void                            SaveFile( void );
41         void                            LoadConstraint( idDeclAF_Constraint *c );
42         void                            SaveConstraint( void );
43         void                            UpdateFile( void );
44
45                                                 enum { IDD = IDD_DIALOG_AF_CONSTRAINT_UNIVERSAL };
46
47 protected:
48         virtual void            DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
49         virtual int                     OnToolHitTest( CPoint point, TOOLINFO* pTI ) const;
50         afx_msg BOOL            OnToolTipNotify( UINT id, NMHDR *pNMHDR, LRESULT *pResult );
51         afx_msg void            OnBnClickedRadioAnchorJoint();
52         afx_msg void            OnBnClickedRadioAnchorCoordinates();
53         afx_msg void            OnCbnSelchangeComboAnchorJoint();
54         afx_msg void            OnEnChangeEditAnchorX();
55         afx_msg void            OnEnChangeEditAnchorY();
56         afx_msg void            OnEnChangeEditAnchorZ();
57         afx_msg void            OnDeltaposSpinAnchorX(NMHDR *pNMHDR, LRESULT *pResult);
58         afx_msg void            OnDeltaposSpinAnchorY(NMHDR *pNMHDR, LRESULT *pResult);
59         afx_msg void            OnDeltaposSpinAnchorZ(NMHDR *pNMHDR, LRESULT *pResult);
60         afx_msg void            OnBnClickedRadioUniversalBoneShaft1();
61         afx_msg void            OnBnClickedRadioUniversalAnglesShaft1();
62         afx_msg void            OnCbnSelchangeComboUniversalJoint1Shaft1();
63         afx_msg void            OnCbnSelchangeComboUniversalJoint2Shaft1();
64         afx_msg void            OnEnChangeEditUniversalPitchShaft1();
65         afx_msg void            OnDeltaposSpinUniversalPitchShaft1(NMHDR *pNMHDR, LRESULT *pResult);
66         afx_msg void            OnEnChangeEditUniversalYawShaft1();
67         afx_msg void            OnDeltaposSpinUniversalYawShaft1(NMHDR *pNMHDR, LRESULT *pResult);
68         afx_msg void            OnBnClickedRadioUniversalBoneShaft2();
69         afx_msg void            OnBnClickedRadioUniversalAnglesShaft2();
70         afx_msg void            OnCbnSelchangeComboUniversalJoint1Shaft2();
71         afx_msg void            OnCbnSelchangeComboUniversalJoint2Shaft2();
72         afx_msg void            OnEnChangeEditUniversalPitchShaft2();
73         afx_msg void            OnDeltaposSpinUniversalPitchShaft2(NMHDR *pNMHDR, LRESULT *pResult);
74         afx_msg void            OnEnChangeEditUniversalYawShaft2();
75         afx_msg void            OnDeltaposSpinUniversalYawShaft2(NMHDR *pNMHDR, LRESULT *pResult);
76         afx_msg void            OnBnClickedRadioUniversalLimitNone();
77         afx_msg void            OnBnClickedRadioUniversalLimitCone();
78         afx_msg void            OnBnClickedRadioUniversalLimitPyramid();
79         afx_msg void            OnEnChangeEditUniversalLimitConeAngle();
80         afx_msg void            OnDeltaposSpinUniversalLimitConeAngle(NMHDR *pNMHDR, LRESULT *pResult);
81         afx_msg void            OnEnChangeEditUniversalLimitPyramidAngle1();
82         afx_msg void            OnDeltaposSpinUniversalLimitPyramidAngle1(NMHDR *pNMHDR, LRESULT *pResult);
83         afx_msg void            OnEnChangeEditUniversalLimitPyramidAngle2();
84         afx_msg void            OnDeltaposSpinUniversalLimitPyramidAngle2(NMHDR *pNMHDR, LRESULT *pResult);
85         afx_msg void            OnEnChangeEditUniversalLimitRoll();
86         afx_msg void            OnDeltaposSpinUniversalLimitRoll(NMHDR *pNMHDR, LRESULT *pResult);
87         afx_msg void            OnBnClickedRadioUniversalLimitBone();
88         afx_msg void            OnBnClickedRadioUniversalLimitAngles();
89         afx_msg void            OnCbnSelchangeComboUniversalLimitJoint1();
90         afx_msg void            OnCbnSelchangeComboUniversalLimitJoint2();
91         afx_msg void            OnEnChangeEditUniversalLimitPitch();
92         afx_msg void            OnDeltaposSpinUniversalLimitPitch(NMHDR *pNMHDR, LRESULT *pResult);
93         afx_msg void            OnEnChangeEditUniversalLimitYaw();
94         afx_msg void            OnDeltaposSpinUniversalLimitYaw(NMHDR *pNMHDR, LRESULT *pResult);
95
96         DECLARE_MESSAGE_MAP()
97
98 private:
99         idDeclAF *                      file;
100         idDeclAF_Constraint*constraint;
101
102         //{{AFX_DATA(DialogAFConstraintUniversal)
103         CComboBox                       m_comboAnchorJoint;
104         float                           m_anchor_x;
105         float                           m_anchor_y;
106         float                           m_anchor_z;
107         CComboBox                       m_comboJoint1Shaft1;
108         CComboBox                       m_comboJoint2Shaft1;
109         float                           m_pitchShaft1;
110         float                           m_yawShaft1;
111         CComboBox                       m_comboJoint1Shaft2;
112         CComboBox                       m_comboJoint2Shaft2;
113         float                           m_pitchShaft2;
114         float                           m_yawShaft2;
115         float                           m_coneAngle;
116         float                           m_pyramidAngle1;
117         float                           m_pyramidAngle2;
118         CComboBox                       m_comboLimitJoint1;
119         CComboBox                       m_comboLimitJoint2;
120         float                           m_limitPitch;
121         float                           m_limitYaw;
122         float                           m_limitRoll;
123         //}}AFX_DATA
124
125         static toolTip_t        toolTips[];
126
127 private:
128         void                            InitJointLists( void );
129 };