/* * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. * Distributed under the terms of the MIT License. */ #ifndef TABLE_COLUMN_H #define TABLE_COLUMN_H #include #include #include class BString; class BView; class TableColumn { public: TableColumn(int32 modelIndex, float width, float minWidth, float maxWidth, alignment align); virtual ~TableColumn(); int32 ModelIndex() const { return fModelIndex; } float Width() const { return fWidth; } float MinWidth() const { return fMinWidth; } float MaxWidth() const { return fMaxWidth; } alignment Alignment() const { return fAlignment; } virtual void GetColumnName(BString* into) const; virtual void DrawTitle(BRect rect, BView* targetView); virtual void DrawValue(const BVariant& value, BRect rect, BView* targetView); virtual int CompareValues(const BVariant& a, const BVariant& b); virtual float GetPreferredWidth(const BVariant& value, BView* parent) const; private: int32 fModelIndex; float fWidth; float fMinWidth; float fMaxWidth; alignment fAlignment; }; #endif // TABLE_COLUMN_H