#if !defined(AFX_CHOOSECHARACTERISTICSDLG_H__78F9A4C7_029B_11D4_98D1_C4B1FFCBA14E__INCLUDED_)
#define AFX_CHOOSECHARACTERISTICSDLG_H__78F9A4C7_029B_11D4_98D1_C4B1FFCBA14E__INCLUDED_

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

//#include <aplStepManager.h>
//#include "apl_gui.h"
#include "resource.h"
#include "ResizableDialog.h"
#include "InstPropertyCtrl.h"
#include "apl_api.h"


/////////////////////////////////////////////////////////////////////////////
// CChooseCharacteristicsDlg dialog

class CChooseCharacteristicsDlg : public CResizableDialog
{
// Construction
public:
	
	CChooseCharacteristicsDlg(CWnd* pParent = NULL);   // standard constructor

	CString m_dialog_name;
	
	CUIntArray *m_Mask;
	CaplTAggr<CStringArray*,CStringArray*,APLAGGR_AUTOKILLREF|APLAGGR_LIST> *m_Items;

	CStringArray *m_Columns;
	CaplTAggr<SItemStringData*,SItemStringData*,APLAGGR_LIST_OR_AUTOKILLREF> m_ItemsVisible;
	CaplTAggr<SItemStringData*,SItemStringData*,APLAGGR_LIST_OR_AUTOKILLREF> m_ItemsInvisible;

// Dialog Data
	//{{AFX_DATA(CChooseCharacteristicsDlg)
	enum { IDD = IDD_CHOOSE_CHARACTERISTICS };
	CaplButton	m_BtnOk;
	CaplButton	m_BtnCancel;
	CaplButton	m_BtnTop;
	CaplButton	m_BtnOneRight;
	CaplButton	m_BtnOneLeft;
	CaplButton	m_BtnBottom;
	CaplButton	m_BtnAllRight;
	CaplButton	m_BtnAllLeft;
	CaplButton	m_BtnSaveChar;
	CaplButton	m_BtnLoadChar;
	CInstPropertyCtrl	m_invisible_charact;
	CInstPropertyCtrl	m_visible_charact;
	CString	m_left_name;
	CString	m_right_name;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CChooseCharacteristicsDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	void MoveGroupLeft(CUIntArray &array);
	void Redraw();
	// Generated message map functions
	//{{AFX_MSG(CChooseCharacteristicsDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnAllLeft();
	afx_msg void OnOneLeft();
	afx_msg void OnAllRight();
	afx_msg void OnOneRight();
	afx_msg void OnTop();
	afx_msg void OnBottom();
	virtual void OnOK();
	afx_msg void OnSaveCharactList();
	afx_msg void OnLoadCharactList();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CHOOSECHARACTERISTICSDLG_H__78F9A4C7_029B_11D4_98D1_C4B1FFCBA14E__INCLUDED_)
