Added Int64TableColumn.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30385 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-04-24 22:45:39 +00:00
parent 106fd6b5cb
commit 3355e888b1
2 changed files with 49 additions and 0 deletions
+33
View File
@@ -122,6 +122,39 @@ Int32TableColumn::CompareValues(const Variant& a, const Variant& b)
}
// #pragma mark - Int64TableColumn
Int64TableColumn::Int64TableColumn(int32 modelIndex, const char* title,
float width, float minWidth, float maxWidth, uint32 truncate,
alignment align)
:
StringTableColumn(modelIndex, title, width, minWidth, maxWidth, truncate,
align)
{
}
BField*
Int64TableColumn::PrepareField(const Variant& value) const
{
char buffer[32];
snprintf(buffer, sizeof(buffer), "%lld", value.ToInt64());
return StringTableColumn::PrepareField(
Variant(buffer, VARIANT_DONT_COPY_DATA));
}
int
Int64TableColumn::CompareValues(const Variant& a, const Variant& b)
{
int64 diff = a.ToInt64() - b.ToInt64();
if (diff == 0)
return 0;
return diff < 0 ? -1 : 1;
}
// #pragma mark - BigtimeTableColumn
+16
View File
@@ -72,6 +72,22 @@ protected:
};
class Int64TableColumn : public StringTableColumn {
public:
Int64TableColumn(int32 modelIndex,
const char* title, float width,
float minWidth, float maxWidth,
uint32 truncate = B_TRUNCATE_MIDDLE,
alignment align = B_ALIGN_RIGHT);
protected:
virtual BField* PrepareField(const Variant& value) const;
virtual int CompareValues(const Variant& a,
const Variant& b);
};
class BigtimeTableColumn : public StringTableColumn {
public:
BigtimeTableColumn(int32 modelIndex,