summaryrefslogtreecommitdiff
path: root/hammer/scaleverticesdlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'hammer/scaleverticesdlg.cpp')
-rw-r--r--hammer/scaleverticesdlg.cpp97
1 files changed, 97 insertions, 0 deletions
diff --git a/hammer/scaleverticesdlg.cpp b/hammer/scaleverticesdlg.cpp
new file mode 100644
index 0000000..67cf21f
--- /dev/null
+++ b/hammer/scaleverticesdlg.cpp
@@ -0,0 +1,97 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//
+//=============================================================================//
+// ScaleVerticesDlg.cpp : implementation file
+//
+
+#include "stdafx.h"
+#include "hammer.h"
+#include "ScaleVerticesDlg.h"
+#include "MapDoc.h"
+#include "GlobalFunctions.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include <tier0/memdbgon.h>
+
+/////////////////////////////////////////////////////////////////////////////
+// CScaleVerticesDlg dialog
+
+
+CScaleVerticesDlg::CScaleVerticesDlg(CWnd* pParent /*=NULL*/)
+ : CDialog(CScaleVerticesDlg::IDD, pParent)
+{
+ //{{AFX_DATA_INIT(CScaleVerticesDlg)
+ //}}AFX_DATA_INIT
+}
+
+
+void CScaleVerticesDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialog::DoDataExchange(pDX);
+ //{{AFX_DATA_MAP(CScaleVerticesDlg)
+ DDX_Control(pDX, IDC_SCALESPIN, m_cScaleSpin);
+ DDX_Control(pDX, IDC_SCALE, m_cScale);
+ //}}AFX_DATA_MAP
+}
+
+
+BEGIN_MESSAGE_MAP(CScaleVerticesDlg, CDialog)
+ //{{AFX_MSG_MAP(CScaleVerticesDlg)
+ ON_EN_CHANGE(IDC_SCALE, OnChangeScale)
+ ON_NOTIFY(UDN_DELTAPOS, IDC_SCALESPIN, OnDeltaposScalespin)
+ ON_WM_CLOSE()
+ //}}AFX_MSG_MAP
+END_MESSAGE_MAP()
+
+/////////////////////////////////////////////////////////////////////////////
+// CScaleVerticesDlg message handlers
+
+void CScaleVerticesDlg::OnChangeScale()
+{
+ CString str;
+ m_cScale.GetWindowText(str);
+ m_fScale = atof(str);
+
+ if (m_fScale <= 0)
+ {
+ m_fScale = (float)0.005;
+ }
+
+ // send command to document
+ CMapDoc::GetActiveMapDoc()->OnCmdMsg(ID_VSCALE_CHANGED, CN_COMMAND, NULL, NULL);
+}
+
+void CScaleVerticesDlg::OnDeltaposScalespin(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
+
+ CString str;
+ m_cScale.GetWindowText(str);
+ m_fScale = atof(str);
+ m_fScale += 0.1f * float(pNMUpDown->iDelta);
+ if(m_fScale <= 0)
+ m_fScale = 0;
+ str.Format("%.3f", m_fScale);
+ m_cScale.SetWindowText(str);
+
+ *pResult = 0;
+}
+
+BOOL CScaleVerticesDlg::OnInitDialog()
+{
+ CDialog::OnInitDialog();
+
+ m_cScale.SetWindowText("1.0");
+ m_cScaleSpin.SetRange(UD_MINVAL, UD_MAXVAL);
+
+ return TRUE;
+}
+
+void CScaleVerticesDlg::OnClose()
+{
+ CDialog::OnClose();
+}