⛏️ index : haiku.git

/*
 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
 * Distributed under the terms of the MIT License.
 */
#ifndef ENUMERATION_VALUE_HANDLER_H
#define ENUMERATION_VALUE_HANDLER_H


#include "IntegerValueHandler.h"


class EnumerationValueHandler : public IntegerValueHandler {
public:
								EnumerationValueHandler();
								~EnumerationValueHandler();

			status_t			Init();

	virtual	float				SupportsValue(Value* value);
	virtual	status_t			GetValueFormatter(Value* value,
									ValueFormatter*& _formatter);
	virtual	status_t			GetTableCellValueEditor(Value* value,
									Settings* settings,
									TableCellValueEditor*& _editor);

protected:
	virtual	integer_format		DefaultIntegerFormat(IntegerValue* value);
	virtual	status_t			CreateValueFormatter(
									IntegerValueFormatter::Config* config,
									ValueFormatter*& _formatter);
	virtual	status_t			AddIntegerFormatSettingOptions(
									IntegerValue* value,
									OptionsSettingImpl* setting);
	virtual	status_t			CreateTableCellValueRenderer(
									IntegerValue* value,
									IntegerValueFormatter::Config* config,
									TableCellValueRenderer*& _renderer);
};


#endif	// ENUMERATION_VALUE_HANDLER_H