#ifndef _TK_ORIENT_OPTION_H_
#define _TK_ORIENT_OPTION_H_

#include "tk_enumoption.h"
#include <string>

using namespace std;

/**
 * \brief For widgets that can lay themselves out with either a horizontal or vertical orientation,  such as scrollbars.
 *
 * This option specifies which orientation should be used. Must be either horizontal or vertical or an abbreviation of one of these. 
 *
 * \date 01-13-2006
 *
 * \author Ondrej Svejdar
 *
 * \todo 
 *
 * \bug 
 *
 */
class TkOrientOption:public TkEnumOption
{
public:
	static TXmlObject* newObject()
	{
		return new TkOrientOption(0);
	}

	static const char* E_VERTICAL;
	static const char* E_HORIZONTAL;

	static const char* type;
	static const char* enums[];

	/// C++ representation of this enumeration
	typedef enum opts
	{
		/// widget layed out vericaly
		vertical	=0,
		/// widget layed out horizontaly
		horizontal	=1
	};

	const char* getType() const;
	
	/**
	 * ctor
	 * \param value One of following : "vertical","horizontal"
	 * or you can use static const members of TkOrientOption :
	 * E_VERTICAL, E_HORIZONTAL
	 */
	inline TkOrientOption(const char* value):TkEnumOption(value,enums)
	{
	}

	/**
	 * ctor, use this constructor if you can, because it is faster
	 * \param value One of following : vertical, horizontal
	 */
	inline TkOrientOption(opts value):TkEnumOption((int)value,enums)
	{
	}
};

#endif/*_TK_ORIENT_OPTION_H_*/
