/* * Copyright 2015, Rene Gollent, rene@gollent.com. * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #include "EnumerationValueFormatter.h" #include "EnumerationValue.h" #include "Type.h" EnumerationValueFormatter::EnumerationValueFormatter(Config* config) : IntegerValueFormatter(config) { } EnumerationValueFormatter::~EnumerationValueFormatter() { } status_t EnumerationValueFormatter::FormatValue(Value* _value, BString& _output) { Config* config = GetConfig(); if (config != NULL && config->IntegerFormat() == INTEGER_FORMAT_DEFAULT) { EnumerationValue* value = dynamic_cast(_value); if (value == NULL) return B_BAD_VALUE; if (EnumeratorValue* enumValue = value->GetType()->ValueFor(value->GetValue())) { _output.SetTo(enumValue->Name()); return B_OK; } } return IntegerValueFormatter::FormatValue(_value, _output); }