/* ** AreaEditor - a program for editing SMAUG and ROM area files. ** Author: Nick Gammon ** http://www.gammon.com.au/ ** See Copyright Notice at the end of AreaEditor.h */ // ObjectSummaryPage.cpp : implementation file // #include "stdafx.h" #include "AreaEditor.h" #include "AreaEditorDoc.h" #include "defaults.h" #include "ObjectSummaryPage.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CObjectSummaryPage dialog CObjectSummaryPage::CObjectSummaryPage(CWnd* pParent /*=NULL*/) : CDialog(CObjectSummaryPage::IDD, pParent) { //{{AFX_DATA_INIT(CObjectSummaryPage) m_vnum = 0; m_type = _T(""); m_name = _T(""); m_short_descr = _T(""); m_description = _T(""); m_strExtraFlags = _T(""); m_strWearFlags = _T(""); m_cost = 0; m_layers = 0; m_rent = 0; m_value1 = 0; m_value2 = 0; m_value3 = 0; m_value4 = 0; m_value5 = 0; m_value6 = 0; m_weight = 0; m_strAffects = _T(""); m_strValueMeanings = _T(""); m_iLevel = 0; m_iCondition = 0; //}}AFX_DATA_INIT m_object = NULL; } #undef LOAD_VALUE #define LOAD_VALUE(field, value) \ field = m_object->value void CObjectSummaryPage::DoDataExchange(CDataExchange* pDX) { if (!pDX->m_bSaveAndValidate) { m_type = ObjectItemList.ReturnName (m_object->item_type, false); m_strExtraFlags = convert_object_flags (m_object->extra_flags); m_strWearFlags = convert_wear_flags (m_object->wear_flags); m_strValueMeanings = m_object->ValueSummary (); LOAD_VALUE (m_vnum, vnum); LOAD_VALUE (m_name, name); LOAD_VALUE (m_short_descr, short_descr); LOAD_VALUE (m_description, description); LOAD_VALUE (m_cost, cost); LOAD_VALUE (m_layers, layers); LOAD_VALUE (m_rent, rent); LOAD_VALUE (m_value1, value [0]); LOAD_VALUE (m_value2, value [1]); LOAD_VALUE (m_value3, value [2]); LOAD_VALUE (m_value4, value [3]); LOAD_VALUE (m_value5, value [4]); LOAD_VALUE (m_value6, value [5]); LOAD_VALUE (m_weight, weight); LOAD_VALUE (m_iLevel, level); LOAD_VALUE (m_iCondition, condition); // list the affects caused by this object POSITION affectPos; CAffect * affect; m_strAffects.Empty (); for (affectPos = m_object->affectlist.GetHeadPosition (); affectPos; ) { affect = m_object->affectlist.GetNext (affectPos); if (!m_strAffects.IsEmpty ()) m_strAffects += ", "; m_strAffects += affect->Summary (); } // end of adding each affect item } // end of not saving and validating CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CObjectSummaryPage) DDX_Control(pDX, IDC_CONDITION, m_ctlCondition); DDX_Control(pDX, IDC_LEVEL, m_ctlLevel); DDX_Control(pDX, IDC_CONDITION_LABEL, m_ctlConditionLabel); DDX_Control(pDX, IDC_LEVEL_LABEL, m_ctlLevelLabel); DDX_Text(pDX, IDC_VNUM, m_vnum); DDX_Text(pDX, IDC_TYPE, m_type); DDX_Text(pDX, IDC_NAME, m_name); DDX_Text(pDX, IDC_SHORT_DESCRIPTION, m_short_descr); DDX_Text(pDX, IDC_LONG_DESCRIPTION, m_description); DDX_Text(pDX, IDC_EXTRA_FLAGS, m_strExtraFlags); DDX_Text(pDX, IDC_WEAR_FLAGS, m_strWearFlags); DDX_Text(pDX, IDC_COST, m_cost); DDX_Text(pDX, IDC_LAYERS, m_layers); DDX_Text(pDX, IDC_RENT, m_rent); DDX_Text(pDX, IDC_VALUE1, m_value1); DDX_Text(pDX, IDC_VALUE2, m_value2); DDX_Text(pDX, IDC_VALUE3, m_value3); DDX_Text(pDX, IDC_VALUE4, m_value4); DDX_Text(pDX, IDC_VALUE5, m_value5); DDX_Text(pDX, IDC_VALUE6, m_value6); DDX_Text(pDX, IDC_WEIGHT, m_weight); DDX_Text(pDX, IDC_AFFECTS, m_strAffects); DDX_Text(pDX, IDC_VALUE_MEANINGS, m_strValueMeanings); DDX_Text(pDX, IDC_LEVEL, m_iLevel); DDX_Text(pDX, IDC_CONDITION, m_iCondition); //}}AFX_DATA_MAP if (!pDX->m_bSaveAndValidate) { if (m_object->m_pDoc->m_AreaType != eROM) { m_ctlLevelLabel.ShowWindow (SW_HIDE); m_ctlLevel.ShowWindow (SW_HIDE); m_ctlConditionLabel.ShowWindow (SW_HIDE); m_ctlCondition.ShowWindow (SW_HIDE); } // end of not ROM } } BEGIN_MESSAGE_MAP(CObjectSummaryPage, CDialog) //{{AFX_MSG_MAP(CObjectSummaryPage) // NOTE: the ClassWizard will add message map macros here //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CObjectSummaryPage message handlers