#ifndef __INDEX_CHOOSER
#define __INDEX_CHOOSER
// NOTE ON THE FORMAT OF THE INPUT AND OUTPUT STRINGS TO THIS CLASS
//
// The Pipe(|) character represents '\0x00'
//
// The format of the string to set up the list boxes is as follows
//	 String|String|String||String|String|String||
//
// the pipe | symbol is replaced with 0 as the first step to separate the
// list box strings.  The lists are separated by a pipe also.
// The first set of strings go into the search box and the rest go into the
// not to search box. An additional pipe is also added to the end of the string
// Example : "String1|String2||String3|String4||"
//			  Strings 1 and 2 go into the Search list
//			  Strings 3 and 4 go into the Not to Search box
//
// Example : "String1|String2|String3|String4|||"
//			  Strings 1,2,3,4 go into the Search list
//			  No Strings go into the Not to Search box
//
// Example : "|String1|String2|String3|String4||"
//			  No String go into the Search list
//			  Strings 1,2,3,4 go into the Not to Search box
//

class CIndexChooser
{

public:
	CIndexChooser(HWND hwndParent);

	int  DoModal();
	// See the comment at the begining of this class for details
	void SetLists	(PSZ pszList ) { m_pszSearch  = pszList ; }
	BOOL	m_bPhraseSearch;
	BOOL	m_bPhraseFeedback;
	BOOL	m_bSimilarity;
	BOOL	m_bUntitled;

protected:

private:
	HWND	m_hParent;
	HWND	m_hDlg;
	HWND	m_hSearch;
	HWND	m_hNoSearch;
	PSTR	m_pszSearch;
	PSTR	m_pszNoSearch;

	BOOL	OnInitDialog();
	void	OnOK();
	void	OnMove(BOOL bAddfile);

	static BOOL CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
};

#endif