#pragma once
#include "workspaceaccess.h"

class CWorkspaceStringList :
	public CWorkspaceAccess
{
public:
	CWorkspaceStringList(CString listName);
	CWorkspaceStringList(CWorkspaceAccess &other, CString listName);
	virtual ~CWorkspaceStringList(void);

	//!	CWorkspaceAccess 設定
	void operator = (CWorkspaceAccess &other) {	CWorkspaceAccess::operator=(other); }

	//////////////////////////////////////////////////////////////////////////////
	//	取得
	//////////////////////////////////////////////////////////////////////////////
	//!	個数の取得
	int GetItemCount();

	//!	アイテムの取得
	CString GetItem(int index);

	//!	アイテムの設定
	void SetItem(int index, CString str);

	//!	アイテムを追加
	void AddNewItem(CString str, int checkExist = FALSE, int noCase = FALSE);

	//!	アイテムの削除
	void DeleteItem(int index);

	//!	まとめて追加
	void AddList(CStringArray &list, int checkExist = FALSE, int noCase = FALSE);

	//!	まとめて取得
	void GetList(CStringArray &list);

	//////////////////////////////////////////////////////////////////////////////
	//	検索
	//////////////////////////////////////////////////////////////////////////////
	//!	検索
	int FindIndex(CString str, int noCase = FALSE, int pathCompare = FALSE);

protected:
	/////////////////////////////////////////////////////////////////////////////
	//	メンバ変数
	/////////////////////////////////////////////////////////////////////////////
	//!	名前
	CString			m_listName;
};
