/*
 *  Arcanum Editor - ROM area editor
 *  Copyright (C) 1999  Lucas Wall <kthulhu@usa.net>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *
 *  If you make changes to the source and want to make the public you can
 *  mail the diferences to me <kthulhu@usa.net> and I'll add them to the
 *  main distribution. Of course your name will be added to the program with
 *  information about the changes you made.
 *
 *
 *  Packed on Thu Aug 19 03:02:22 1999
 *
 */


/*
 * File: MobProgEd.cpp
 *
 * Changes:
 *
 * 19/08/99 Lucas Wall <kthulhu@usa.net>
 *          First source release. Its quite messy and has no
 *          comments. I never planed to release the source code... :-)
 *
 */


// MobProgEd.cpp : implementation file
//

#include "stdafx.h"
#include "arcaed.h"
#include "MobProgEd.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMobProgEd dialog


CMobProgEd::CMobProgEd(CWnd* pParent /*=NULL*/)
	: CDialog(CMobProgEd::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMobProgEd)
	m_Trigphrase = _T("");
	m_Vnum = 0;
	//}}AFX_DATA_INIT
}


void CMobProgEd::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMobProgEd)
	DDX_Control(pDX, IDOK, m_Ok);
	DDX_Control(pDX, IDC_MOBPROGED_VNUM_SPIN, m_VnumSpin);
	DDX_Control(pDX, IDC_MOBPROGED_TYPE, m_Type);
	DDX_Text(pDX, IDC_MOBPROGED_TRIGPHRASE, m_Trigphrase);
	DDX_Text(pDX, IDC_MOBPROGED_VNUM, m_Vnum);
	DDV_MinMaxInt(pDX, m_Vnum, 0, 32767);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMobProgEd, CDialog)
	//{{AFX_MSG_MAP(CMobProgEd)
	ON_CBN_SELCHANGE(IDC_MOBPROGED_TYPE, OnSelchangeMobprogedType)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMobProgEd message handlers

BOOL CMobProgEd::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	int i, index;

	m_VnumSpin.SetBuddy( GetDlgItem( IDC_MOBPROGED_VNUM ) );
	m_VnumSpin.SetRange( 0, 32767 );

	m_Ok.EnableWindow( FALSE );

	for ( i = 0; i < tables.m_mobprog_trigs.GetSize(); i++ )
	{
		index = m_Type.AddString( tables.m_mobprog_trigs[i]->m_text );
		ASSERT( index != CB_ERR && index != CB_ERRSPACE );
		m_Type.SetItemData( index, i );
		if ( m_seltype == tables.m_mobprog_trigs[i]->m_text )
		{
			m_Type.SetCurSel( index );
			m_Ok.EnableWindow();
		}
	}

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CMobProgEd::OnSelchangeMobprogedType() 
{
	int index;

	if ( ( index = m_Type.GetCurSel() ) == CB_ERR )
		return;

	m_Ok.EnableWindow();
	m_seltype = tables.m_mobprog_trigs[m_Type.GetItemData( index )]->m_text;
}