2 BobToolz plugin for GtkRadiant
3 Copyright (C) 2001 Gordon Biggans
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // PolygonDialog.cpp : implementation file
23 #include "../StdAfx.h"
24 #include "PolygonDialog.h"
25 #include "../shapes.h"
27 /////////////////////////////////////////////////////////////////////////////
28 // CPolygonDialog dialog
31 CPolygonDialog::CPolygonDialog(CWnd *pParent /*=NULL*/ )
32 : CDialog(CPolygonDialog::IDD, pParent)
34 //{{AFX_DATA_INIT(CPolygonDialog)
43 void CPolygonDialog::DoDataExchange(CDataExchange *pDX)
45 CDialog::DoDataExchange(pDX);
46 //{{AFX_DATA_MAP(CPolygonDialog)
47 DDX_Text(pDX, IDC_EDIT1, m_nSideCount);
48 DDV_MinMaxUInt(pDX, m_nSideCount, 3, MAX_POLYGON_FACES);
49 DDX_Check(pDX, IDC_INVERSE_CHK, m_bInverse);
50 DDX_Check(pDX, IDC_BORDER_CHK, m_bBorder);
51 DDX_Text(pDX, IDC_BORDER_EDIT, m_nBorderSize);
52 DDV_MinMaxUInt(pDX, m_nBorderSize, 1, 1024);
53 DDX_Check(pDX, IDC_ALIGN_CHK, m_bAlignTop);
58 BEGIN_MESSAGE_MAP( CPolygonDialog, CDialog
60 //{{AFX_MSG_MAP(CPolygonDialog)
61 ON_BN_CLICKED( IDC_BORDER_CHK, OnBorderChkClicked
63 ON_BN_CLICKED( IDC_INVERSE_CHK, OnInverseChkClickrd
69 /////////////////////////////////////////////////////////////////////////////
70 // CPolygonDialog message handlers
72 BOOL CPolygonDialog::OnInitDialog()
74 CDialog::OnInitDialog();
76 EnableBordered(!GetChkBool(IDC_INVERSE_CHK));
77 EnableBorderEdit(!GetChkBool(IDC_INVERSE_CHK) && GetChkBool(IDC_BORDER_CHK));
79 return TRUE; // return TRUE unless you set the focus to a control
80 // EXCEPTION: OCX Property Pages should return FALSE
83 void CPolygonDialog::EnableBordered(BOOL bEnable)
85 CWnd *dtlChk = GetDlgItem(IDC_BORDER_CHK);
87 dtlChk->EnableWindow(bEnable);
91 void CPolygonDialog::EnableBorderEdit(BOOL bEnable)
93 CWnd *dtlChk = GetDlgItem(IDC_BORDER_EDIT);
95 dtlChk->EnableWindow(bEnable);
99 void CPolygonDialog::OnBorderChkClicked()
101 EnableBorderEdit(!GetChkBool(IDC_INVERSE_CHK) && GetChkBool(IDC_BORDER_CHK));
104 void CPolygonDialog::OnInverseChkClickrd()
106 EnableBordered(!GetChkBool(IDC_INVERSE_CHK));
107 EnableBorderEdit(!GetChkBool(IDC_INVERSE_CHK) && GetChkBool(IDC_BORDER_CHK));
110 BOOL CPolygonDialog::GetChkBool(int nID)
112 CButton *btn = (CButton *) GetDlgItem(nID);
114 return btn->GetCheck();