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"
30 static char THIS_FILE[] = __FILE__;
33 /////////////////////////////////////////////////////////////////////////////
34 // CPolygonDialog dialog
37 CPolygonDialog::CPolygonDialog(CWnd* pParent /*=NULL*/)
38 : CDialog(CPolygonDialog::IDD, pParent)
40 //{{AFX_DATA_INIT(CPolygonDialog)
49 void CPolygonDialog::DoDataExchange(CDataExchange* pDX)
51 CDialog::DoDataExchange(pDX);
52 //{{AFX_DATA_MAP(CPolygonDialog)
53 DDX_Text(pDX, IDC_EDIT1, m_nSideCount);
54 DDV_MinMaxUInt(pDX, m_nSideCount, 3, MAX_POLYGON_FACES);
55 DDX_Check(pDX, IDC_INVERSE_CHK, m_bInverse);
56 DDX_Check(pDX, IDC_BORDER_CHK, m_bBorder);
57 DDX_Text(pDX, IDC_BORDER_EDIT, m_nBorderSize);
58 DDV_MinMaxUInt(pDX, m_nBorderSize, 1, 1024);
59 DDX_Check(pDX, IDC_ALIGN_CHK, m_bAlignTop);
64 BEGIN_MESSAGE_MAP(CPolygonDialog, CDialog)
65 //{{AFX_MSG_MAP(CPolygonDialog)
66 ON_BN_CLICKED(IDC_BORDER_CHK, OnBorderChkClicked)
67 ON_BN_CLICKED(IDC_INVERSE_CHK, OnInverseChkClickrd)
71 /////////////////////////////////////////////////////////////////////////////
72 // CPolygonDialog message handlers
74 BOOL CPolygonDialog::OnInitDialog()
76 CDialog::OnInitDialog();
78 EnableBordered(!GetChkBool(IDC_INVERSE_CHK));
79 EnableBorderEdit(!GetChkBool(IDC_INVERSE_CHK) && GetChkBool(IDC_BORDER_CHK));
81 return TRUE; // return TRUE unless you set the focus to a control
82 // EXCEPTION: OCX Property Pages should return FALSE
85 void CPolygonDialog::EnableBordered(BOOL bEnable)
87 CWnd* dtlChk = GetDlgItem(IDC_BORDER_CHK);
89 dtlChk->EnableWindow(bEnable);
92 void CPolygonDialog::EnableBorderEdit(BOOL bEnable)
94 CWnd* dtlChk = GetDlgItem(IDC_BORDER_EDIT);
96 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();