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