73 lines
2.0 KiB
C++
73 lines
2.0 KiB
C++
// GridSettingsDialog.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "GridSettingsDialog.h"
|
|
#include "ViewManager.h"
|
|
|
|
|
|
// CGridSettingsDialog dialog
|
|
|
|
IMPLEMENT_DYNAMIC(CGridSettingsDialog, CDialog)
|
|
CGridSettingsDialog::CGridSettingsDialog(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CGridSettingsDialog::IDD, pParent)
|
|
{
|
|
}
|
|
|
|
CGridSettingsDialog::~CGridSettingsDialog()
|
|
{
|
|
}
|
|
|
|
void CGridSettingsDialog::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_SNAP, m_snapToGrid);
|
|
DDX_Control(pDX, IDC_ANGLESNAP, m_angleSnap);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CGridSettingsDialog, CDialog)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
BOOL CGridSettingsDialog::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
CGrid *pGrid = GetIEditor()->GetViewManager()->GetGrid();
|
|
|
|
m_gridSize.Create( this,IDC_GRID_SIZE,CNumberCtrl::LEFTALIGN );
|
|
m_gridScale.Create( this,IDC_GRID_SCALE,CNumberCtrl::LEFTALIGN );
|
|
|
|
m_angleSnapScale.Create( this,IDC_ANGLESNAP_SIZE,CNumberCtrl::LEFTALIGN );
|
|
m_angleSnapScale.SetInteger(true);
|
|
|
|
m_gridSize.SetInteger(true);
|
|
m_gridSize.SetRange( 0,1024 );
|
|
m_gridSize.SetValue( pGrid->size );
|
|
m_gridScale.SetValue( pGrid->scale );
|
|
m_snapToGrid.SetCheck( (pGrid->IsEnabled())?BST_CHECKED:BST_UNCHECKED );
|
|
|
|
m_angleSnap.SetCheck( (pGrid->IsAngleSnapEnabled())?BST_CHECKED:BST_UNCHECKED );
|
|
m_angleSnapScale.SetValue( pGrid->GetAngleSnap() );
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
void CGridSettingsDialog::OnOK()
|
|
{
|
|
CGrid *pGrid = GetIEditor()->GetViewManager()->GetGrid();
|
|
|
|
pGrid->Enable( m_snapToGrid.GetCheck() == BST_CHECKED );
|
|
pGrid->size = m_gridSize.GetValue();
|
|
pGrid->scale = m_gridScale.GetValue();
|
|
pGrid->bAngleSnapEnabled = m_snapToGrid.GetCheck() == BST_CHECKED;
|
|
pGrid->angleSnap = m_angleSnapScale.GetValue();
|
|
|
|
CDialog::OnOK();
|
|
} |