/*
 *  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:04 1999
 *
 */


/*
 * File: ObjEd.h
 *
 * 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... :-)
 *
 */


#if !defined(AFX_OBJED_H__0279EA2A_01BC_11D3_803D_00002168229C__INCLUDED_)
#define AFX_OBJED_H__0279EA2A_01BC_11D3_803D_00002168229C__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// ObjEd.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CObjEd dialog

#include "RoomData.h"
#include "ArcaedDoc.h"

class CObjEd : public CDialog
{
// Construction
public:
	void MakeAffList();
	void SetAffFlags();
	void GetAffects();
	void SetAffects();
	void SetValueButtons();
	void ReadValues();
	void SetValues();
	int m_item_type;
	int m_extra_flags;
	int m_wear_flags;
	int m_curvalue;
	int m_value_num[5];
	CString m_value_str[5];
	CImageList m_imagelist;
	CArray< CExtraDescr*, CExtraDescr* > m_extradescr;
	CArcaedDoc *m_doc;
	int m_index;
	CArray< CAffectData*, CAffectData* > m_affects;
	int m_curaff;
	CArray< CTrainData*, CTrainData* > m_traindata;

	HACCEL m_accel;
	virtual void OnOK();

	CObjEd(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CObjEd)
	enum { IDD = IDD_OBJED };
	CComboBox	m_AffType;
	CSpinButtonCtrl	m_AffModifySpin;
	CComboBox	m_AffLocation;
	CComboBox	m_AffList;
	CListCtrl	m_AffFlags;
	CComboBox	m_ExtraEdList;
	CSpinButtonCtrl	m_PesoSpin;
	CSpinButtonCtrl	m_NivelSpin;
	CSpinButtonCtrl	m_CostoSpin;
	CSpinButtonCtrl	m_ValueSpin2;
	CEdit	m_ValueEdit2;
	CEdit	m_ValueEdit;
	CSpinButtonCtrl	m_ValueSpin;
	CListCtrl	m_ValueList;
	CComboBox	m_ValueCombo;
	CListCtrl	m_WearFlags;
	CListCtrl	m_ExtraFlags;
	CComboBox	m_ObjType;
	CSpinButtonCtrl	m_VnumSpin;
	CString	m_Description;
	CString	m_Material;
	CString	m_Name;
	CString	m_ShortDescr;
	int		m_Vnum;
	BOOL	m_Value1;
	BOOL	m_Value2;
	BOOL	m_Value3;
	BOOL	m_Value4;
	BOOL	m_Value5;
	CString	m_Condicion;
	int		m_Costo;
	int		m_Nivel;
	int		m_Peso;
	CString	m_ExtraEd;
	int		m_AffModify;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CObjEd)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CObjEd)
	virtual BOOL OnInitDialog();
	afx_msg void OnSelchangeObjedObjtype();
	afx_msg void OnClickObjedExtraFlags(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnClickObjedWearFlags(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnObjedValue();
	afx_msg void OnClickObjedValueList(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnChangeObjedExtraed();
	afx_msg void OnObjedExtraedAdd();
	afx_msg void OnObjedExtraedBorrar();
	afx_msg void OnSelchangeObjedExtraedList();
	afx_msg void OnSelchangeObjedAffList();
	afx_msg void OnObjedAffAgregar();
	afx_msg void OnObjedAffBorrar();
	afx_msg void OnSelchangeObjedAffType();
	afx_msg void OnClickObjedAffFlags(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnObjedTrained();
	afx_msg void OnEditCopiarobj();
	afx_msg void OnEditPegarobj();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_OBJED_H__0279EA2A_01BC_11D3_803D_00002168229C__INCLUDED_)