diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/html/DataGridColumn.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/html/DataGridColumn.h | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/src/3rdparty/webkit/WebCore/html/DataGridColumn.h b/src/3rdparty/webkit/WebCore/html/DataGridColumn.h index 8e63cd6bf5..3d480a9656 100644 --- a/src/3rdparty/webkit/WebCore/html/DataGridColumn.h +++ b/src/3rdparty/webkit/WebCore/html/DataGridColumn.h @@ -26,7 +26,10 @@ #ifndef DataGridColumn_h #define DataGridColumn_h +#if ENABLE(DATAGRID) + #include "AtomicString.h" +#include "RenderStyle.h" #include <wtf/PassRefPtr.h> #include <wtf/RefCounted.h> @@ -36,34 +39,49 @@ class DataGridColumnList; class DataGridColumn : public RefCounted<DataGridColumn> { public: - static PassRefPtr<DataGridColumn> create(DataGridColumnList* columns, const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable) + static PassRefPtr<DataGridColumn> create(const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable) { - return new DataGridColumn(columns, columnID, label, type, primary, sortable); + return adoptRef(new DataGridColumn(columnID, label, type, primary, sortable)); } const AtomicString& id() const { return m_id; } - void setId(const AtomicString& id) { m_id = id; } + void setId(const AtomicString& id) { m_id = id; columnChanged(); } const AtomicString& label() const { return m_label; } - void setLabel(const AtomicString& label) { m_label = label; } + void setLabel(const AtomicString& label) { m_label = label; columnChanged(); } const AtomicString& type() const { return m_type; } - void setType(const AtomicString& type) { m_type = type; } + void setType(const AtomicString& type) { m_type = type; columnChanged(); } unsigned short sortable() const { return m_sortable; } - void setSortable(unsigned short sortable) { m_sortable = sortable; } + void setSortable(unsigned short sortable) { m_sortable = sortable; columnChanged(); } unsigned short sortDirection() const { return m_sortDirection; } - void setSortDirection(unsigned short sortDirection) { m_sortDirection = sortDirection; } + void setSortDirection(unsigned short sortDirection) { m_sortDirection = sortDirection; columnChanged(); } bool primary() const { return m_primary; } void setPrimary(bool); - void detachFromColumnList() { m_columns = 0; } + void setColumnList(DataGridColumnList* list) + { + m_columns = list; + m_columnStyle = 0; + m_headerStyle = 0; + m_rect = IntRect(); + } + + RenderStyle* columnStyle() const { return m_columnStyle.get(); } + void setColumnStyle(PassRefPtr<RenderStyle> style) { m_columnStyle = style; } + + RenderStyle* headerStyle() const { return m_headerStyle.get(); } + void setHeaderStyle(PassRefPtr<RenderStyle> style) { m_headerStyle = style; } + + const IntRect& rect() const { return m_rect; } + void setRect(const IntRect& rect) { m_rect = rect; } private: - DataGridColumn(DataGridColumnList* columns, const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable) - : m_columns(columns) + DataGridColumn(const String& columnID, const String& label, const String& type, bool primary, unsigned short sortable) + : m_columns(0) , m_id(columnID) , m_label(label) , m_type(type) @@ -73,6 +91,8 @@ private: { } + void columnChanged(); + DataGridColumnList* m_columns; // Not refcounted. The columns list will null out our reference when it goes away. AtomicString m_id; @@ -83,8 +103,15 @@ private: unsigned short m_sortable; unsigned short m_sortDirection; + + RefPtr<RenderStyle> m_columnStyle; // The style used to render the column background behind the row cells. + RefPtr<RenderStyle> m_headerStyle; // The style used to render the column header above the row cells. + + IntRect m_rect; }; } // namespace WebCore +#endif + #endif // DataGridColumn_h |