/*-----------------------------------------------------------------------------
[名称]	AAListView.h
[概要]	AA情報一覧表示クラスのヘッダ
[備考]	なし
[履歴]	2003-03-27	NC		新規作成(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_AALISTVIEW_H_INCLUDED_)
#define AFX_AALISTVIEW_H_INCLUDED_

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


//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include "ListViewCtrlEx.h"
class CCategoryNode;


/*-----------------------------------------------------------------------------
[名称]	AA情報一覧表示クラス
[用途]	カテゴリツリー中の特定ノードのAA情報一覧表示用ビュー。
[備考]	ツリーへのDnDが可能。
-----------------------------------------------------------------------------*/
class CAAListView : public CListViewEx
{
protected:
	// 生成
	CAAListView();           // 動的生成に使用されるプロテクト コンストラクタ
	DECLARE_DYNCREATE(CAAListView)

// アトリビュート
public:

// オペレーション
public:
	// 内容更新
	void ReflectView(
		CCategoryNode*	pNode
	);

	// 選択項目削除
	void DeleteSelectedItemz();

	// 関連ノード情報の取得
	CCategoryNode*	Node(){ return( m_pNode ); };

	// 要素比較
	static int CALLBACK CompareAA(LPARAM lParam1, LPARAM lParam2, 
                                      LPARAM lParamSort);

// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。

	//{{AFX_VIRTUAL(CAAListView)
	protected:
	virtual void OnDraw(CDC* pDC);      // このビューを描画するためにオーバーライドしました。
	//}}AFX_VIRTUAL

// インプリメンテーション
protected:
	virtual ~CAAListView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	CCategoryNode*	m_pNode;		// 表示対象カテゴリノード [-] (-)
	int				m_iSortedBy;	// ソート情報 [-] (0:ありえない、1〜:昇順カラム+1、マイナス:降順カラム-1)

	// 生成されたメッセージ マップ関数
protected:
	//{{AFX_MSG(CAAListView)
	afx_msg void OnItemchanged(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnListDeleteindex();
	afx_msg void OnListEditaa();
	afx_msg void OnListAddaa();
	afx_msg void OnEditAppend();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_AALISTVIEW_H_INCLUDED_)
