1/*
2 * Copyright 2010, Rene Gollent, rene@gollent.com
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "StringValueHandler.h"
8
9#include <new>
10
11#include <stdio.h>
12
13#include "StringValue.h"
14#include "TableCellStringRenderer.h"
15
16
17StringValueHandler::StringValueHandler()
18{
19}
20
21
22StringValueHandler::~StringValueHandler()
23{
24}
25
26
27status_t
28StringValueHandler::Init()
29{
30	return B_OK;
31}
32
33
34float
35StringValueHandler::SupportsValue(Value* value)
36{
37	return dynamic_cast<StringValue*>(value) != NULL ? 0.8f : 0;
38}
39
40
41status_t
42StringValueHandler::GetValueFormatter(Value* value,
43	ValueFormatter*& _formatter)
44{
45	// TODO:...
46	return B_UNSUPPORTED;
47}
48
49
50status_t
51StringValueHandler::GetTableCellValueRenderer(Value* value,
52	TableCellValueRenderer*& _renderer)
53{
54	if (dynamic_cast<StringValue*>(value) == NULL)
55		return B_BAD_VALUE;
56
57	// create the renderer
58	TableCellValueRenderer* renderer = new(std::nothrow)
59		TableCellStringRenderer;
60	if (renderer == NULL)
61		return B_NO_MEMORY;
62
63	_renderer = renderer;
64	return B_OK;
65}
66