/*
 * Copyright (c) 2002 Robert Collins.
 * Copyright (c) 2005-2006 Tom N Harris.
 *
 *     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 <robertc@hotmail.com>
 * Written by Tom N Harris <telliamed@whoopdedo.org>
 *
 */

#ifndef SETUP_PICKITEMLINE_H
#define SETUP_PICKITEMLINE_H

#include <vector>

#include "win32.h"
#include "cString.h"
#include "PickLine.h"

namespace Setup
{

class PickView;

class PickItemLine : public PickLine
{
public:
	PickItemLine(PickView & aView, std::string const & aKey);

	virtual void paint(HDC hdc, int x, int y, int row, int indent);
	virtual int click(int myrow, int ClickedRow, int x, int indent);
	virtual void setColumn(int col, String const & text);
	virtual int itemCount() const
	{
		return 1;
	};
	virtual PickLine * getRow(int row)
	{
		return this;
	};
	virtual bool isContainer(void) const
	{
		return false;
	};
	virtual void insert(PickLine *)
	{
	};
	virtual CheckState getCheckState() const
		{ return m_checkstate; }
	virtual void setCheckState(CheckState checked)
		{ m_checkstate = checked; }

private:
	PickView & m_view;
	std::vector<String> m_columns;
	CheckState m_checkstate;

	//void DrawCheck(HDC hdc, HRGN clip, int x, int y);
};

};

#endif /* SETUP_PICKITEMLINE_H */
