// EventEditView_SelectParameter.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "EtActionTool.h" #include "EventEditView_SelectParameter.h" #include "UnionValueProperty.h" // CEventEditView_SelectParameter IMPLEMENT_DYNCREATE(CEventEditView_SelectParameter, CFormView) CEventEditView_SelectParameter::CEventEditView_SelectParameter() : CFormView(CEventEditView_SelectParameter::IDD) { m_bActivate = false; } CEventEditView_SelectParameter::~CEventEditView_SelectParameter() { } void CEventEditView_SelectParameter::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); DDX_Control(pDX, IDC_LIST1, m_ListCtrl); } BEGIN_MESSAGE_MAP(CEventEditView_SelectParameter, CFormView) END_MESSAGE_MAP() // CEventEditView_SelectParameter Áø´ÜÀÔ´Ï´Ù. #ifdef _DEBUG void CEventEditView_SelectParameter::AssertValid() const { CFormView::AssertValid(); } #ifndef _WIN32_WCE void CEventEditView_SelectParameter::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif #endif //_DEBUG // CEventEditView_SelectParameter ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù. CWizardCommon::VIEW_TYPE CEventEditView_SelectParameter::GetNextView() { switch( s_nStartType ) { case 4: return CREATE_PARAMETER; case 5: return FINISH; default: assert(0); } return UNKNOWN_TYPE; } bool ParameterCompareProc( CUnionValueProperty *pVariable1, CUnionValueProperty *pVariable2 ) { return ( strcmp( pVariable1->GetDescription(), pVariable2->GetDescription() ) > 0 ) ? false : true; } void CEventEditView_SelectParameter::PreProcess() { m_ListCtrl.DeleteAllItems(); std::vector pVecList; for( DWORD i=0; iGetParameterCount(); i++ ) { pVecList.push_back( s_pCurrentSignalItem->GetParameter(i) ); } std::sort( pVecList.begin(), pVecList.end(), ParameterCompareProc ); CString szStr; for( DWORD i=0; iGetDescription() ); m_ListCtrl.SetItemText( i, 1, szStr ); switch( pItem->GetType() ) { case CUnionValueProperty::Integer: szStr = "INT"; if( _GetSubStrByCount( 3, (char*)pItem->GetSubDescription() ) ) szStr += " - min, max"; break; case CUnionValueProperty::Float: szStr = "FLOAT"; if( _GetSubStrByCount( 3, (char*)pItem->GetSubDescription() ) ) szStr += " - min, max"; break; case CUnionValueProperty::Color: szStr = "INT - Color"; break; case CUnionValueProperty::Integer_Combo: szStr = "INT - Combo"; break; case CUnionValueProperty::Vector3: szStr = "VECTOR3"; break; case CUnionValueProperty::Vector2: szStr = "VECTOR2"; break; case CUnionValueProperty::Vector4: szStr = "VECTOR4"; break; case CUnionValueProperty::Vector4Color: szStr = "VECTOR4 - Color"; break; case CUnionValueProperty::Boolean: szStr = "BOOL"; break; case CUnionValueProperty::String: szStr = "STRING"; break; case CUnionValueProperty::String_FileOpen: szStr = "STRING - FileName"; break; case CUnionValueProperty::Pointer: szStr = "PTR - Use Custom"; break; } m_ListCtrl.SetItemText( i, 1, szStr ); m_ListCtrl.SetItemText( i, 2, _GetSubStrByCount( 0, (char*)pItem->GetSubDescription() ) ); } } bool CEventEditView_SelectParameter::PostProcess() { POSITION p = m_ListCtrl.GetFirstSelectedItemPosition(); std::vector szVecSelectItemList; while(p) { int nIndex = m_ListCtrl.GetNextSelectedItem(p); szVecSelectItemList.push_back( m_ListCtrl.GetItemText( nIndex, 0 ) ); } if( szVecSelectItemList.size() == 0 ) { MessageBox( "°íÄ¥²¨ ¼±ÅÃÇØÁà~", "¿¡·¯", MB_OK ); return false; } switch( s_nStartType ) { case 4: { CUnionValueProperty *pVariable = s_pCurrentSignalItem->GetParameterFromName( szVecSelectItemList[0] ); s_szCurrentPropertyName = pVariable->GetDescription(); *s_pCurrentPropertyVariable = *pVariable; } break; case 5: { CUnionValueProperty *pVariable = s_pCurrentSignalItem->GetParameterFromName( szVecSelectItemList[0] ); s_szCurrentPropertyName = pVariable->GetDescription(); } break; } return true; } void CEventEditView_SelectParameter::OnInitialUpdate() { __super::OnInitialUpdate(); // TODO: ¿©±â¿¡ Ư¼öÈ­µÈ Äڵ带 Ãß°¡ ¹×/¶Ç´Â ±âº» Ŭ·¡½º¸¦ È£ÃâÇÕ´Ï´Ù. if( m_bActivate == true ) return; m_bActivate = true; m_ListCtrl.m_nColorColumnIndex = -1; m_ListCtrl.AddColumn( "Name", 150 ); m_ListCtrl.AddColumn( "Type", 100, LVCFMT_CENTER ); m_ListCtrl.AddColumn( "Description", 220, LVCFMT_LEFT ); m_ListCtrl.SetExtendedStyle( LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT|LVS_EX_FLATSB ); }