Added aqua_speed for rite geo 50 tryker
[ryzomcore.git] / nel / tools / 3d / object_viewer / vegetable_density_page.h
blob616dbda21c94f4f25c7fa0f1d9451385e50d51c8
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
17 #if !defined(AFX_VEGETABLE_DENSITY_PAGE_H__12320F77_5179_4727_A551_F5A8FAE7EB3A__INCLUDED_)
18 #define AFX_VEGETABLE_DENSITY_PAGE_H__12320F77_5179_4727_A551_F5A8FAE7EB3A__INCLUDED_
20 #if _MSC_VER > 1000
21 #pragma once
22 #endif // _MSC_VER > 1000
23 // vegetable_density_page.h : header file
26 class CDirectEditableRangeFloat;
27 class CVegetableNoiseValueDlg;
28 class CVegetableDlg;
30 namespace NL3D
32 class CVegetable;
35 /////////////////////////////////////////////////////////////////////////////
36 // CVegetableDensityPage dialog
38 class CVegetableDensityPage : public CPropertyPage
40 DECLARE_DYNCREATE(CVegetableDensityPage)
42 // Construction
43 public:
44 CVegetableDensityPage();
45 ~CVegetableDensityPage();
46 void initVegetableDlg(CVegetableDlg *vegetableDlg) {_VegetableDlg= vegetableDlg;}
48 // Dialog Data
49 //{{AFX_DATA(CVegetableDensityPage)
50 enum { IDD = IDD_VEGETABLE_DENSITY_DLG };
51 CStatic StaticVegetableShape;
52 CButton MaxDensityStaticText;
53 CSliderCtrl AngleMinSlider;
54 CSliderCtrl AngleMaxSlider;
55 CEdit AngleMinEdit;
56 CEdit AngleMaxEdit;
57 CComboBox DistTypeCombo;
58 CButton MaxDensityCheckBox;
59 //}}AFX_DATA
62 // Overrides
63 // ClassWizard generate virtual function overrides
64 //{{AFX_VIRTUAL(CVegetableDensityPage)
65 protected:
66 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
67 //}}AFX_VIRTUAL
70 public:
71 /** set the vegetble to edit. NULL will disable all the controls.
72 * Called by CVegetableDlg.
74 void setVegetableToEdit(NL3D::CVegetable *vegetable);
77 // Implementation
78 protected:
79 // Generated message map functions
80 //{{AFX_MSG(CVegetableDensityPage)
81 virtual BOOL OnInitDialog();
82 afx_msg void OnCheckMaxDensity();
83 afx_msg void OnSelchangeComboDistType();
84 afx_msg void OnRadioAngleCeiling();
85 afx_msg void OnRadioAngleFloor();
86 afx_msg void OnRadioAngleWall();
87 afx_msg void OnReleasedcaptureSliderAngleMax(NMHDR* pNMHDR, LRESULT* pResult);
88 afx_msg void OnReleasedcaptureSliderAngleMin(NMHDR* pNMHDR, LRESULT* pResult);
89 afx_msg void OnKillfocusEditAngleMin();
90 afx_msg void OnKillfocusEditAngleMax();
91 afx_msg void OnChangeEditAngleMin();
92 afx_msg void OnChangeEditAngleMax();
93 afx_msg void OnButtonVegetableBrowse();
94 //}}AFX_MSG
95 DECLARE_MESSAGE_MAP()
97 protected:
98 // The "father" VegetableDlg.
99 CVegetableDlg *_VegetableDlg;
102 // Density
103 CVegetableNoiseValueDlg *_DensityDlg;
105 // MaxDensity;
106 CDirectEditableRangeFloat *_MaxDensityDlg;
109 // The vegetable to edit.
110 NL3D::CVegetable *_Vegetable;
112 private:
114 void enableAngleEdit(uint radioId);
115 // update slider and edit text.
116 void updateViewAngleMin();
117 void updateViewAngleMax();
118 // update vegetable and view from edit text
119 void updateAngleMinFromEditText();
120 void updateAngleMaxFromEditText();
122 float _PrecMaxDensityValue;
125 //{{AFX_INSERT_LOCATION}}
126 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
128 #endif // !defined(AFX_VEGETABLE_DENSITY_PAGE_H__12320F77_5179_4727_A551_F5A8FAE7EB3A__INCLUDED_)