////////////////////////////////////////////////////////////////////////////////
//
// parmacro.h -  
//
////////////////////////////////////////////////////////////////////////////////
#ifndef __PARMACRO_H
#define __PARMACRO_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "stdafx.h"
#include <afxtempl.h>

//-------------------------------------------------------------------------------
// 
// ---
enum parMacroItemType {  pmFloat, pmInt, pmChar, pmWChar };

#ifdef _UNICODE
#define mpCharT pmChar
#else
#define mpCharT pmWChar
#endif

//-------------------------------------------------------------------------------
//
// ---
class ParMacroItem 
{
public :
	void*						 v;
	parMacroItemType type;
	int							 columnId;
	ParMacroItem() : v( NULL ), type( pmFloat ), columnId( 0 ) {}
	ParMacroItem( void * _v,  parMacroItemType _type, int  _columnId ) 
    : v( _v ), type( _type ),	columnId( _columnId ) {}
	LPCTSTR GetString();
};


//-------------------------------------------------------------------------------
//
// ---
class ParMacroListView : public CListCtrl 
{
protected :
CArray<ParMacroItem,ParMacroItem> arrItem;

public :
  ParMacroListView() : CListCtrl() {}
  void AddParItem( void* v, parMacroItemType par, int columnId );
  void SetupView();
  void Show();
  void Flush();
};


//-------------------------------------------------------------------------------
// 
// ---
typedef ParMacroListView CParamList;

#endif  // !defined(__PARMACRO_H)

