1 // ScaleDlg.cpp : implementation file
10 static char THIS_FILE[] = __FILE__;
13 /////////////////////////////////////////////////////////////////////////////
17 ScaleDlg::ScaleDlg(Handle(V3d_View) Current_V3d_View, CViewer3dView* pView, CWnd* pParent /*=NULL*/)
18 : CDialog(ScaleDlg::IDD, pParent)
20 //{{AFX_DATA_INIT(ScaleDlg)
21 myCurrent_V3d_View = Current_V3d_View;
30 void ScaleDlg::DoDataExchange(CDataExchange* pDX)
32 CDialog::DoDataExchange(pDX);
33 //{{AFX_DATA_MAP(ScaleDlg)
34 DDX_Control(pDX, IDC_SLIDER_SCALEX, m_ScaleXSlidCtrl);
35 DDX_Control(pDX, IDC_SLIDER_SCALEY, m_ScaleYSlidCtrl);
36 DDX_Control(pDX, IDC_SLIDER_SCALEZ, m_ScaleZSlidCtrl);
37 DDX_Text(pDX, IDC_EDIT_SCALEX, m_ScaleX);
38 DDV_MinMaxInt(pDX, m_ScaleX, 1, 100);
39 DDX_Text(pDX, IDC_EDIT_SCALEY, m_ScaleY);
40 DDV_MinMaxInt(pDX, m_ScaleY, 1, 100);
41 DDX_Text(pDX, IDC_EDIT_SCALEZ, m_ScaleZ);
42 DDV_MinMaxInt(pDX, m_ScaleZ, 1, 100);
47 BEGIN_MESSAGE_MAP(ScaleDlg, CDialog)
48 //{{AFX_MSG_MAP(ScaleDlg)
49 ON_EN_CHANGE(IDC_EDIT_SCALEX, OnChangeEditScaleX)
50 ON_EN_CHANGE(IDC_EDIT_SCALEY, OnChangeEditScaleY)
51 ON_EN_CHANGE(IDC_EDIT_SCALEZ, OnChangeEditScaleZ)
56 /////////////////////////////////////////////////////////////////////////////
57 // ScaleDlg message handlers
58 BOOL ScaleDlg::OnInitDialog()
60 CDialog::OnInitDialog();
62 int ScaleX = myView->scaleX;
63 int ScaleY = myView->scaleY;
64 int ScaleZ = myView->scaleZ;
67 m_ScaleXSlidCtrl.SetRange(0, 100, TRUE);
68 m_ScaleXSlidCtrl.SetPos( ScaleX );
71 m_ScaleYSlidCtrl.SetRange(0, 100, TRUE);
72 m_ScaleYSlidCtrl.SetPos( ScaleY );
75 m_ScaleZSlidCtrl.SetRange(0, 100, TRUE);
76 m_ScaleZSlidCtrl.SetPos( ScaleZ );
80 return TRUE; // return TRUE unless you set the focus to a control
81 // EXCEPTION: OCX Property Pages should return FALSE
84 void ScaleDlg::OnChangeEditScaleX()
88 m_ScaleXSlidCtrl.SetPos( m_ScaleX );
89 myView->scaleX = m_ScaleX;
91 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ );
92 myCurrent_V3d_View->Update();
94 TCollection_AsciiString Message("\
95 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ);\n\
97 myCurrent_V3d_View->Update();\n\
100 // Update The Result Message Dialog
101 myView->GetDocument()->UpdateResultMessageDlg("SetAxialScale",Message);
104 void ScaleDlg::OnChangeEditScaleY()
108 m_ScaleYSlidCtrl.SetPos( m_ScaleY );
109 myView->scaleY = m_ScaleY;
111 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ );
112 myCurrent_V3d_View->Update();
114 TCollection_AsciiString Message("\
115 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ);\n\
117 myCurrent_V3d_View->Update();\n\
120 // Update The Result Message Dialog
121 myView->GetDocument()->UpdateResultMessageDlg("SetAxialScale",Message);
124 void ScaleDlg::OnChangeEditScaleZ()
128 m_ScaleZSlidCtrl.SetPos( m_ScaleZ );
129 myView->scaleZ = m_ScaleZ;
131 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ );
132 myCurrent_V3d_View->Update();
134 TCollection_AsciiString Message("\
135 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ);\n\
137 myCurrent_V3d_View->Update();\n\
140 // Update The Result Message Dialog
141 myView->GetDocument()->UpdateResultMessageDlg("SetAxialScale",Message);
144 void ScaleDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
146 m_ScaleX = m_ScaleXSlidCtrl.GetPos();
147 m_ScaleY = m_ScaleYSlidCtrl.GetPos();
148 m_ScaleZ = m_ScaleZSlidCtrl.GetPos();
153 m_ScaleXSlidCtrl.SetPos( 1 );
159 m_ScaleYSlidCtrl.SetPos( 1 );
165 m_ScaleZSlidCtrl.SetPos( 1 );
170 myView->scaleX = m_ScaleX;
171 myView->scaleY = m_ScaleY;
172 myView->scaleZ = m_ScaleZ;
174 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ );
175 myCurrent_V3d_View->Update();
177 TCollection_AsciiString Message("\
178 myCurrent_V3d_View->SetAxialScale( m_ScaleX, m_ScaleY, m_ScaleZ);\n\
180 myCurrent_V3d_View->Update();\n\
183 // Update The Result Message Dialog
184 myView->GetDocument()->UpdateResultMessageDlg("SetAxialScale",Message);
186 CDialog::OnHScroll(nSBCode, nPos, pScrollBar);