/*
 * Copyright (c) 2000, Red Hat, Inc.
 * Copyright (c) 2003 Robert Collins <rbtcollins@hotmail.com>
 * Copyright (c) 2005-2006 Tom N Harris <telliamed@whoopdedo.org>
 *
 *     This program is free software; you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation; either version 2 of the License, or
 *     (at your option) any later version.
 *
 *     A copy of the GNU General Public License can be found at
 *     http://www.gnu.org/
 *
 * Written by Robert Collins <rbtcollins@hotmail.com>
 * Written by Tom N Harris <telliamed@whoopdedo.org>
 *
 */

#ifndef SETUP_CHOOSE_H
#define SETUP_CHOOSE_H

#include <ext/hash_map>
#include "string_hash_fun.h"

#include "PropPage.h"
#include "PickView.h"
#include "ControlAdjuster.h"


namespace Setup
{

class Installer;

class ChooserPage : public PropertyPage
{
public:
	ChooserPage(Installer&);
	virtual ~ChooserPage();

	virtual bool onMessageCmd(int id, HWND hwndctl, UINT code);

	bool create();
	virtual void onInit();
	virtual long onNext();
	virtual long onBack();
	virtual void onActivate();
	virtual long onUnattended()
	{
		return onNext();
	}; 

private:
	RECT getDefaultListViewSize();
	void createListView();
	void loadInstallInfo();

	static String GameString(int game);

	//SizeProcessor m_sizeProcessor;
	PickView * m_chooser;

	Installer& m_installer;

	static String m_gameT1;
	static String m_gameT2;
	static String m_gameSS2;
	static String m_gameALL;
};

};

#endif /* SETUP_CHOOSE_H */
