]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - contrib/bobtoolz/dialogs/StairDialog.cpp
uncrustify! now the code is only ugly on the *inside*
[xonotic/netradiant.git] / contrib / bobtoolz / dialogs / StairDialog.cpp
1 /*
2    BobToolz plugin for GtkRadiant
3    Copyright (C) 2001 Gordon Biggans
4
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.
9
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.
14
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
18  */
19
20 // StairDialog.cpp : implementation file
21 //
22
23 #include "../StdAfx.h"
24 #include "StairDialog.h"
25
26 #ifdef _DEBUG
27 #define new DEBUG_NEW
28 #undef THIS_FILE
29 static char THIS_FILE[] = __FILE__;
30 #endif
31
32 /////////////////////////////////////////////////////////////////////////////
33 // CStairDialog dialog
34
35
36 CStairDialog::CStairDialog( CWnd* pParent /*=NULL*/ )
37         : CDialog( CStairDialog::IDD, pParent ){
38         //{{AFX_DATA_INIT(CStairDialog)
39         m_nStairHeight = 8;
40         m_StairDir = 0;
41         m_StairStyle = 0;
42         m_riserTexture = _T( "" );
43         m_bDetail = TRUE;
44         //}}AFX_DATA_INIT
45 }
46
47 void CStairDialog::DoDataExchange( CDataExchange* pDX ){
48         CDialog::DoDataExchange( pDX );
49         //{{AFX_DATA_MAP(CStairDialog)
50         DDX_Text( pDX, IDC_EDIT1, m_nStairHeight );
51         DDV_MinMaxUInt( pDX, m_nStairHeight, 1, 256 );
52         DDX_Radio( pDX, IDC_DIR_N_RADIO, m_StairDir );
53         DDX_Radio( pDX, IDC_STYLE_ORIG_RADIO, m_StairStyle );
54         DDX_Text( pDX, IDC_RISER_EDIT, m_riserTexture );
55         DDV_MaxChars( pDX, m_riserTexture, 256 );
56         DDX_Check( pDX, IDC_DETAIL_CHK, m_bDetail );
57         //}}AFX_DATA_MAP
58 }
59
60
61 BEGIN_MESSAGE_MAP( CStairDialog, CDialog )
62 //{{AFX_MSG_MAP(CStairDialog)
63 ON_BN_CLICKED( IDC_STYLE_BOB_RADIO, OnStyleBobClicked )
64 ON_BN_CLICKED( IDC_STYLE_ORIG_RADIO, OnStyleOrigClicked )
65 ON_BN_CLICKED( IDC_STYLE_CORNER_RADIO, OnStyleCornerClicked )
66 //}}AFX_MSG_MAP
67 END_MESSAGE_MAP()
68
69 /////////////////////////////////////////////////////////////////////////////
70 // CStairDialog message handlers
71
72 void CStairDialog::OnStyleBobClicked(){
73         EnableDetail( TRUE );
74 }
75
76 void CStairDialog::OnStyleOrigClicked(){
77         EnableDetail( FALSE );
78 }
79
80 void CStairDialog::EnableDetail( BOOL bEnable ){
81         CWnd* dtlChk = GetDlgItem( IDC_DETAIL_CHK );
82         if ( dtlChk ) {
83                 dtlChk->EnableWindow( bEnable );
84         }
85 }
86
87
88 BOOL CStairDialog::OnInitDialog(){
89         CDialog::OnInitDialog();
90
91         EnableDetail( m_StairStyle == 1 );
92
93         return TRUE;  // return TRUE unless you set the focus to a control
94                       // EXCEPTION: OCX Property Pages should return FALSE
95 }
96
97 void CStairDialog::OnStyleCornerClicked(){
98         EnableDetail( FALSE );
99 }