1/*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "TableCellFloatRenderer.h"
8
9#include <stdio.h>
10
11#include "FloatValue.h"
12#include "TableCellValueRendererUtils.h"
13
14
15void
16TableCellFloatRenderer::RenderValue(Value* _value, BRect rect, BView* targetView)
17{
18	FloatValue* value = dynamic_cast<FloatValue*>(_value);
19	if (value == NULL)
20		return;
21
22	char buffer[64];
23	snprintf(buffer, sizeof(buffer), "%g", value->GetValue());
24
25	TableCellValueRendererUtils::DrawString(targetView, rect, buffer,
26		B_ALIGN_RIGHT, true);
27}
28
29
30float
31TableCellFloatRenderer::PreferredValueWidth(Value* _value, BView* targetView)
32{
33	FloatValue* value = dynamic_cast<FloatValue*>(_value);
34	if (value == NULL)
35		return 0;
36
37	char buffer[64];
38	snprintf(buffer, sizeof(buffer), "%g", value->GetValue());
39
40	return TableCellValueRendererUtils::PreferredStringWidth(targetView,
41		buffer);
42}
43