Changeset 45093 in webkit


Ignore:
Timestamp:
Jun 24, 2009 12:22:12 PM (15 years ago)
Author:
hyatt@apple.com
Message:

WebCore:

2009-06-24 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=26687

Add basic back-end column support to datagrid.

Added fast/dom/HTMLDataGridElement/ column tests.

  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • html/DataGridColumn.cpp: Added. (WebCore::DataGridColumn::setPrimary):
  • html/DataGridColumn.h: Added. (WebCore::DataGridColumn::create): (WebCore::DataGridColumn::id): (WebCore::DataGridColumn::setId): (WebCore::DataGridColumn::label): (WebCore::DataGridColumn::setLabel): (WebCore::DataGridColumn::type): (WebCore::DataGridColumn::setType): (WebCore::DataGridColumn::sortable): (WebCore::DataGridColumn::setSortable): (WebCore::DataGridColumn::sortDirection): (WebCore::DataGridColumn::setSortDirection): (WebCore::DataGridColumn::primary): (WebCore::DataGridColumn::detachFromColumnList): (WebCore::DataGridColumn::DataGridColumn):
  • html/DataGridColumn.idl: Added.
  • html/DataGridColumnList.cpp: Added. (WebCore::DataGridColumnList::~DataGridColumnList): (WebCore::DataGridColumnList::itemWithName): (WebCore::DataGridColumnList::add): (WebCore::DataGridColumnList::remove): (WebCore::DataGridColumnList::move): (WebCore::DataGridColumnList::clear): (WebCore::DataGridColumnList::primaryColumnChanged):
  • html/DataGridColumnList.h: Added. (WebCore::DataGridColumnList::create): (WebCore::DataGridColumnList::length): (WebCore::DataGridColumnList::item): (WebCore::DataGridColumnList::primaryColumn): (WebCore::DataGridColumnList::sortColumn):
  • html/DataGridColumnList.idl: Added.
  • html/HTMLDataGridColElement.cpp: (WebCore::HTMLDataGridColElement::sortable): (WebCore::HTMLDataGridColElement::setSortable): (WebCore::HTMLDataGridColElement::sortDirection): (WebCore::HTMLDataGridColElement::setSortDirection):
  • html/HTMLDataGridColElement.h:
  • html/HTMLDataGridColElement.idl:
  • html/HTMLDataGridElement.cpp: (WebCore::HTMLDataGridElement::HTMLDataGridElement):
  • html/HTMLDataGridElement.h: (WebCore::HTMLDataGridElement::columns):
  • html/HTMLDataGridElement.idl:
  • rendering/RenderDataGrid.cpp: (WebCore::RenderDataGrid::paintObject): (WebCore::RenderDataGrid::paintColumnHeaders): (WebCore::RenderDataGrid::rebuildColumns):
  • rendering/RenderDataGrid.h: (WebCore::RenderDataGrid::gridElement):

LayoutTests:

2009-06-24 David Hyatt <hyatt@apple.com>

Reviewed by Sam Weinig.

Add test for https://bugs.webkit.org/show_bug.cgi?id=26687.

  • fast/dom/HTMLDataGridElement/DataGridColumns-basic-expected.txt: Added.
  • fast/dom/HTMLDataGridElement/DataGridColumns-basic.html: Added.
Location:
trunk
Files:
8 added
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r45078 r45093  
     12009-06-24  David Hyatt  <hyatt@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        Add test for https://bugs.webkit.org/show_bug.cgi?id=26687.
     6
     7        * fast/dom/HTMLDataGridElement/DataGridColumns-basic-expected.txt: Added.
     8        * fast/dom/HTMLDataGridElement/DataGridColumns-basic.html: Added.
     9
    1102009-06-24  Oliver Hunt  <oliver@apple.com>
    211
  • trunk/WebCore/ChangeLog

    r45087 r45093  
     12009-06-24  David Hyatt  <hyatt@apple.com>
     2
     3        Reviewed by Sam Weinig.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=26687
     6
     7        Add basic back-end column support to datagrid.
     8
     9        Added fast/dom/HTMLDataGridElement/ column tests.
     10
     11        * DerivedSources.cpp:
     12        * DerivedSources.make:
     13        * WebCore.pro:
     14        * WebCore.vcproj/WebCore.vcproj:
     15        * WebCore.xcodeproj/project.pbxproj:
     16        * WebCoreSources.bkl:
     17        * html/DataGridColumn.cpp: Added.
     18        (WebCore::DataGridColumn::setPrimary):
     19        * html/DataGridColumn.h: Added.
     20        (WebCore::DataGridColumn::create):
     21        (WebCore::DataGridColumn::id):
     22        (WebCore::DataGridColumn::setId):
     23        (WebCore::DataGridColumn::label):
     24        (WebCore::DataGridColumn::setLabel):
     25        (WebCore::DataGridColumn::type):
     26        (WebCore::DataGridColumn::setType):
     27        (WebCore::DataGridColumn::sortable):
     28        (WebCore::DataGridColumn::setSortable):
     29        (WebCore::DataGridColumn::sortDirection):
     30        (WebCore::DataGridColumn::setSortDirection):
     31        (WebCore::DataGridColumn::primary):
     32        (WebCore::DataGridColumn::detachFromColumnList):
     33        (WebCore::DataGridColumn::DataGridColumn):
     34        * html/DataGridColumn.idl: Added.
     35        * html/DataGridColumnList.cpp: Added.
     36        (WebCore::DataGridColumnList::~DataGridColumnList):
     37        (WebCore::DataGridColumnList::itemWithName):
     38        (WebCore::DataGridColumnList::add):
     39        (WebCore::DataGridColumnList::remove):
     40        (WebCore::DataGridColumnList::move):
     41        (WebCore::DataGridColumnList::clear):
     42        (WebCore::DataGridColumnList::primaryColumnChanged):
     43        * html/DataGridColumnList.h: Added.
     44        (WebCore::DataGridColumnList::create):
     45        (WebCore::DataGridColumnList::length):
     46        (WebCore::DataGridColumnList::item):
     47        (WebCore::DataGridColumnList::primaryColumn):
     48        (WebCore::DataGridColumnList::sortColumn):
     49        * html/DataGridColumnList.idl: Added.
     50        * html/HTMLDataGridColElement.cpp:
     51        (WebCore::HTMLDataGridColElement::sortable):
     52        (WebCore::HTMLDataGridColElement::setSortable):
     53        (WebCore::HTMLDataGridColElement::sortDirection):
     54        (WebCore::HTMLDataGridColElement::setSortDirection):
     55        * html/HTMLDataGridColElement.h:
     56        * html/HTMLDataGridColElement.idl:
     57        * html/HTMLDataGridElement.cpp:
     58        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
     59        * html/HTMLDataGridElement.h:
     60        (WebCore::HTMLDataGridElement::columns):
     61        * html/HTMLDataGridElement.idl:
     62        * rendering/RenderDataGrid.cpp:
     63        (WebCore::RenderDataGrid::paintObject):
     64        (WebCore::RenderDataGrid::paintColumnHeaders):
     65        (WebCore::RenderDataGrid::rebuildColumns):
     66        * rendering/RenderDataGrid.h:
     67        (WebCore::RenderDataGrid::gridElement):
     68
    1692009-06-24  Jessie Berlin  <jberlin@apple.com>
    270
  • trunk/WebCore/DerivedSources.cpp

    r44946 r45093  
    5555#include "JSCSSVariablesRule.cpp"
    5656#include "JSDatabase.cpp"
     57#include "JSDataGridColumn.cpp"
     58#include "JSDataGridColumnList.cpp"
    5759#include "JSDocument.cpp"
    5860#include "JSDocumentFragment.cpp"
  • trunk/WebCore/DerivedSources.make

    r44946 r45093  
    7676    Coordinates \
    7777    Counter \
     78    DataGridColumn \
     79    DataGridColumnList \
    7880    DOMApplicationCache \
    7981    DOMCoreException \
  • trunk/WebCore/WebCore.pro

    r45018 r45093  
    460460    bindings/js/JSCustomVoidCallback.cpp \
    461461    bindings/js/JSCustomXPathNSResolver.cpp \
     462    bindings/js/JSDataGridColumn.cpp \
     463    bindings/js/JSDataGridColumnList.cpp \
     464    bindings/js/JSDataGridColumnListCustom.cpp \
    462465    bindings/js/JSDataGridDataSource.cpp \
    463466    bindings/js/JSDocumentCustom.cpp \
     
    743746    html/CanvasStyle.cpp \
    744747    html/CollectionCache.cpp \
     748    html/DataGridColumn.cpp \
     749    html/DataGridColumnList.cpp \
    745750    html/File.cpp \
    746751    html/FileList.cpp \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r45018 r45093  
    18561856                        <File
    18571857                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDatabase.h"
     1858                                >
     1859                        </File>
     1860                        <File
     1861                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDataGridColumn.cpp"
     1862                                >
     1863                                <FileConfiguration
     1864                                        Name="Debug|Win32"
     1865                                        ExcludedFromBuild="true"
     1866                                        >
     1867                                        <Tool
     1868                                                Name="VCCLCompilerTool"
     1869                                        />
     1870                                </FileConfiguration>
     1871                                <FileConfiguration
     1872                                        Name="Release|Win32"
     1873                                        ExcludedFromBuild="true"
     1874                                        >
     1875                                        <Tool
     1876                                                Name="VCCLCompilerTool"
     1877                                        />
     1878                                </FileConfiguration>
     1879                                <FileConfiguration
     1880                                        Name="Debug_Internal|Win32"
     1881                                        ExcludedFromBuild="true"
     1882                                        >
     1883                                        <Tool
     1884                                                Name="VCCLCompilerTool"
     1885                                        />
     1886                                </FileConfiguration>
     1887                                <FileConfiguration
     1888                                        Name="Debug_Cairo|Win32"
     1889                                        ExcludedFromBuild="true"
     1890                                        >
     1891                                        <Tool
     1892                                                Name="VCCLCompilerTool"
     1893                                        />
     1894                                </FileConfiguration>
     1895                                <FileConfiguration
     1896                                        Name="Release_Cairo|Win32"
     1897                                        ExcludedFromBuild="true"
     1898                                        >
     1899                                        <Tool
     1900                                                Name="VCCLCompilerTool"
     1901                                        />
     1902                                </FileConfiguration>
     1903                        </File>
     1904                        <File
     1905                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDataGridColumn.h"
     1906                                >
     1907                        </File>
     1908                        <File
     1909                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDataGridColumnList.cpp"
     1910                                >
     1911                                <FileConfiguration
     1912                                        Name="Debug|Win32"
     1913                                        ExcludedFromBuild="true"
     1914                                        >
     1915                                        <Tool
     1916                                                Name="VCCLCompilerTool"
     1917                                        />
     1918                                </FileConfiguration>
     1919                                <FileConfiguration
     1920                                        Name="Release|Win32"
     1921                                        ExcludedFromBuild="true"
     1922                                        >
     1923                                        <Tool
     1924                                                Name="VCCLCompilerTool"
     1925                                        />
     1926                                </FileConfiguration>
     1927                                <FileConfiguration
     1928                                        Name="Debug_Internal|Win32"
     1929                                        ExcludedFromBuild="true"
     1930                                        >
     1931                                        <Tool
     1932                                                Name="VCCLCompilerTool"
     1933                                        />
     1934                                </FileConfiguration>
     1935                                <FileConfiguration
     1936                                        Name="Debug_Cairo|Win32"
     1937                                        ExcludedFromBuild="true"
     1938                                        >
     1939                                        <Tool
     1940                                                Name="VCCLCompilerTool"
     1941                                        />
     1942                                </FileConfiguration>
     1943                                <FileConfiguration
     1944                                        Name="Release_Cairo|Win32"
     1945                                        ExcludedFromBuild="true"
     1946                                        >
     1947                                        <Tool
     1948                                                Name="VCCLCompilerTool"
     1949                                        />
     1950                                </FileConfiguration>
     1951                        </File>
     1952                        <File
     1953                                RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSDataGridColumnList.h"
    18581954                                >
    18591955                        </File>
     
    2417924275                                >
    2418024276                        </File>
     24277                        <File
     24278                                RelativePath="..\html\DataGridColumn.cpp"
     24279                                >
     24280                        </File>
     24281                        <File
     24282                                RelativePath="..\html\DataGridColumn.h"
     24283                                >
     24284                        </File>
     24285                        <File
     24286                                RelativePath="..\html\DataGridColumnList.cpp"
     24287                                >
     24288                        </File>
     24289                        <File
     24290                                RelativePath="..\html\DataGridColumnList.h"
     24291                                >
     24292                        </File>
    2418124293                        <File
    2418224294                                RelativePath="..\html\DataGridDataSource.h"
     
    2794828060                                <File
    2794928061                                        RelativePath="..\bindings\js\JSDocumentCustom.cpp"
     28062                                        >
     28063                                </File>
     28064                                <File
     28065                                        RelativePath="..\bindings\js\JSDataGridColumnListCustom.cpp"
    2795028066                                        >
    2795128067                                </File>
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r45018 r45093  
    40544054                BC77CEB30FF017F20070887B /* RenderDataGrid.h in Headers */ = {isa = PBXBuildFile; fileRef = BC77CEB20FF017F20070887B /* RenderDataGrid.h */; };
    40554055                BC77CEC80FF01CBE0070887B /* RenderDataGrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77CEC70FF01CBE0070887B /* RenderDataGrid.cpp */; };
     4056                BC77CF990FF172420070887B /* DataGridColumnList.idl in Resources */ = {isa = PBXBuildFile; fileRef = BC77CF980FF172420070887B /* DataGridColumnList.idl */; };
     4057                BC77CF9F0FF172B30070887B /* DataGridColumn.idl in Resources */ = {isa = PBXBuildFile; fileRef = BC77CF9E0FF172B30070887B /* DataGridColumn.idl */; };
     4058                BC77CFAC0FF173D30070887B /* DataGridColumnList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC77CFAB0FF173D30070887B /* DataGridColumnList.h */; };
     4059                BC77CFC20FF175550070887B /* DataGridColumn.h in Headers */ = {isa = PBXBuildFile; fileRef = BC77CFC10FF175550070887B /* DataGridColumn.h */; };
     4060                BC77D1520FF19C730070887B /* JSDataGridColumnListCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77D1510FF19C730070887B /* JSDataGridColumnListCustom.cpp */; };
     4061                BC77D1690FF19F560070887B /* JSDataGridColumn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77D1650FF19F550070887B /* JSDataGridColumn.cpp */; };
     4062                BC77D16A0FF19F560070887B /* JSDataGridColumn.h in Headers */ = {isa = PBXBuildFile; fileRef = BC77D1660FF19F550070887B /* JSDataGridColumn.h */; };
     4063                BC77D16B0FF19F560070887B /* JSDataGridColumnList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77D1670FF19F550070887B /* JSDataGridColumnList.cpp */; };
     4064                BC77D16C0FF19F560070887B /* JSDataGridColumnList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC77D1680FF19F550070887B /* JSDataGridColumnList.h */; };
     4065                BC77D1FD0FF28D9B0070887B /* DataGridColumnList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77D1FC0FF28D9B0070887B /* DataGridColumnList.cpp */; };
     4066                BC77D2390FF298080070887B /* DataGridColumn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC77D2380FF298080070887B /* DataGridColumn.cpp */; };
    40564067                BC7F44A80B9E324E00A9D081 /* ImageObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7F44A70B9E324E00A9D081 /* ImageObserver.h */; settings = {ATTRIBUTES = (Private, ); }; };
    40574068                BC7FA6200D1F0CBD00DB22A9 /* DynamicNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7FA61E0D1F0CBD00DB22A9 /* DynamicNodeList.cpp */; };
     
    88598870                BC77CEB20FF017F20070887B /* RenderDataGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderDataGrid.h; sourceTree = "<group>"; };
    88608871                BC77CEC70FF01CBE0070887B /* RenderDataGrid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderDataGrid.cpp; sourceTree = "<group>"; };
     8872                BC77CF980FF172420070887B /* DataGridColumnList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DataGridColumnList.idl; sourceTree = "<group>"; };
     8873                BC77CF9E0FF172B30070887B /* DataGridColumn.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DataGridColumn.idl; sourceTree = "<group>"; };
     8874                BC77CFAB0FF173D30070887B /* DataGridColumnList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataGridColumnList.h; sourceTree = "<group>"; };
     8875                BC77CFC10FF175550070887B /* DataGridColumn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DataGridColumn.h; sourceTree = "<group>"; };
     8876                BC77D1510FF19C730070887B /* JSDataGridColumnListCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDataGridColumnListCustom.cpp; sourceTree = "<group>"; };
     8877                BC77D1650FF19F550070887B /* JSDataGridColumn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDataGridColumn.cpp; sourceTree = "<group>"; };
     8878                BC77D1660FF19F550070887B /* JSDataGridColumn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDataGridColumn.h; sourceTree = "<group>"; };
     8879                BC77D1670FF19F550070887B /* JSDataGridColumnList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDataGridColumnList.cpp; sourceTree = "<group>"; };
     8880                BC77D1680FF19F550070887B /* JSDataGridColumnList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDataGridColumnList.h; sourceTree = "<group>"; };
     8881                BC77D1FC0FF28D9B0070887B /* DataGridColumnList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DataGridColumnList.cpp; sourceTree = "<group>"; };
     8882                BC77D2380FF298080070887B /* DataGridColumn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DataGridColumn.cpp; sourceTree = "<group>"; };
    88618883                BC7B2AF80450824100A8000F /* Scrollbar.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = Scrollbar.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
    88628884                BC7F44A70B9E324E00A9D081 /* ImageObserver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ImageObserver.h; sourceTree = "<group>"; };
     
    1162211644                                93C441EE0F813A1A00C1A634 /* CollectionCache.h */,
    1162311645                                93C441FF0F813AE100C1A634 /* CollectionType.h */,
     11646                                BC77CFC10FF175550070887B /* DataGridColumn.h */,
     11647                                BC77CF9E0FF172B30070887B /* DataGridColumn.idl */,
     11648                                BC77D1FC0FF28D9B0070887B /* DataGridColumnList.cpp */,
     11649                                BC77D2380FF298080070887B /* DataGridColumn.cpp */,
     11650                                BC77CFAB0FF173D30070887B /* DataGridColumnList.h */,
     11651                                BC77CF980FF172420070887B /* DataGridColumnList.idl */,
    1162411652                                BCBCAE360FF19385000762AE /* DataGridDataSource.h */,
    1162511653                                BCDBB8CC0E08958400C60FF6 /* File.cpp */,
     
    1191911947                                65DF323709D1DE65000BE325 /* JSCanvasRenderingContext2D.cpp */,
    1192011948                                65DF323809D1DE65000BE325 /* JSCanvasRenderingContext2D.h */,
     11949                                BC77D1650FF19F550070887B /* JSDataGridColumn.cpp */,
     11950                                BC77D1660FF19F550070887B /* JSDataGridColumn.h */,
     11951                                BC77D1670FF19F550070887B /* JSDataGridColumnList.cpp */,
     11952                                BC77D1680FF19F550070887B /* JSDataGridColumnList.h */,
    1192111953                                BC00F0100E0A189500FD04E3 /* JSFile.cpp */,
    1192211954                                BC00F0110E0A189500FD04E3 /* JSFile.h */,
     
    1351213544                                1A3417C80CECFF250049CBDE /* JSCustomVoidCallback.cpp */,
    1351313545                                1A3417C70CECFF250049CBDE /* JSCustomVoidCallback.h */,
     13546                                BC77D1510FF19C730070887B /* JSDataGridColumnListCustom.cpp */,
     13547                                1AE830420CAB0ED1002237AE /* JSDatabaseCustom.cpp */,
     13548                                929264760B61FC7200B41D34 /* JSDocumentCustom.cpp */,
     13549                                BC1DEA4E0E268EB60083A73F /* JSDocumentFragmentCustom.cpp */,
    1351413550                                1AE830420CAB0ED1002237AE /* JSDatabaseCustom.cpp */,
    1351513551                                929264760B61FC7200B41D34 /* JSDocumentCustom.cpp */,
     
    1687916915                                BC77CDCF0FEFF33B0070887B /* JSHTMLDataGridCellElement.h in Headers */,
    1688016916                                BC77CEB30FF017F20070887B /* RenderDataGrid.h in Headers */,
     16917                                BC77CFAC0FF173D30070887B /* DataGridColumnList.h in Headers */,
     16918                                BC77CFC20FF175550070887B /* DataGridColumn.h in Headers */,
     16919                                BC77D16A0FF19F560070887B /* JSDataGridColumn.h in Headers */,
     16920                                BC77D16C0FF19F560070887B /* JSDataGridColumnList.h in Headers */,
    1688116921                                BCBCAE370FF19385000762AE /* DataGridDataSource.h in Headers */,
    1688216922                                BCBCAE3D0FF19399000762AE /* JSDataGridDataSource.h in Headers */,
     
    1698717027                                BC77CC6C0FEC3D5F0070887B /* HTMLDataGridRowElement.idl in Resources */,
    1698817028                                BC77CDA30FEFEB530070887B /* HTMLDataGridCellElement.idl in Resources */,
     17029                                BC77CF990FF172420070887B /* DataGridColumnList.idl in Resources */,
     17030                                BC77CF9F0FF172B30070887B /* DataGridColumn.idl in Resources */,
    1698917031                        );
    1699017032                        runOnlyForDeploymentPostprocessing = 0;
     
    1888718929                                BC77CDCE0FEFF33B0070887B /* JSHTMLDataGridCellElement.cpp in Sources */,
    1888818930                                BC77CEC80FF01CBE0070887B /* RenderDataGrid.cpp in Sources */,
     18931                                BC77D1520FF19C730070887B /* JSDataGridColumnListCustom.cpp in Sources */,
     18932                                BC77D1690FF19F560070887B /* JSDataGridColumn.cpp in Sources */,
     18933                                BC77D16B0FF19F560070887B /* JSDataGridColumnList.cpp in Sources */,
    1888918934                                BCBCAE3C0FF19399000762AE /* JSDataGridDataSource.cpp in Sources */,
    1889018935                                BCBCAE540FF1A29E000762AE /* JSHTMLDataGridElementCustom.cpp in Sources */,
     18936                                BC77D1FD0FF28D9B0070887B /* DataGridColumnList.cpp in Sources */,
     18937                                BC77D2390FF298080070887B /* DataGridColumn.cpp in Sources */,
    1889118938                        );
    1889218939                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/WebCoreSources.bkl

    r45018 r45093  
    7272        bindings/js/JSCustomXPathNSResolver.cpp
    7373        bindings/js/JSDatabaseCustom.cpp
     74        bindings/js/JSDataGridColumn.cpp
     75        bindings/js/JSDataGridColumnList.cpp
     76        bindings/js/JSDataGridColumnListCustom.cpp
    7477        bindings/js/JSDataGridDataSource.cpp
    7578        bindings/js/JSDOMApplicationCacheCustom.cpp
  • trunk/WebCore/html/HTMLDataGridColElement.cpp

    r44937 r45093  
    5959}
    6060
    61 bool HTMLDataGridColElement::sortable() const
     61unsigned short HTMLDataGridColElement::sortable() const
    6262{
    6363    return hasAttribute(sortableAttr);
    6464}
    6565
    66 void HTMLDataGridColElement::setSortable(bool sortable)
     66void HTMLDataGridColElement::setSortable(unsigned short sortable)
    6767{
    6868    setAttribute(sortableAttr, sortable ? "" : 0);
    6969}
    7070
    71 String HTMLDataGridColElement::sortDirection() const
     71unsigned short HTMLDataGridColElement::sortDirection() const
    7272{
    73     return getAttribute(sortdirectionAttr);
     73    String sortDirection = getAttribute(sortdirectionAttr);
     74    if (equalIgnoringCase(sortDirection, "ascending"))
     75        return 1;
     76    if (equalIgnoringCase(sortDirection, "descending"))
     77        return 2;
     78    return 0;
    7479}
    7580
    76 void HTMLDataGridColElement::setSortDirection(const String& sortDirection)
     81void HTMLDataGridColElement::setSortDirection(unsigned short sortDirection)
    7782{
    78     setAttribute(sortdirectionAttr, sortDirection);
     83    // FIXME: Check sortable rules.
     84    if (sortDirection == 0)
     85        setAttribute(sortdirectionAttr, "natural");
     86    else if (sortDirection == 1)
     87        setAttribute(sortdirectionAttr, "ascending");
     88    else if (sortDirection == 2)
     89        setAttribute(sortdirectionAttr, "descending");
    7990}
    8091
  • trunk/WebCore/html/HTMLDataGridColElement.h

    r44937 r45093  
    4545    void setType(const String&);
    4646   
    47     bool sortable() const;
    48     void setSortable(bool);
     47    unsigned short sortable() const;
     48    void setSortable(unsigned short);
    4949   
    50     String sortDirection() const;
    51     void setSortDirection(const String&);
     50    unsigned short sortDirection() const;
     51    void setSortDirection(unsigned short);
    5252   
    5353    bool primary() const;
  • trunk/WebCore/html/HTMLDataGridColElement.idl

    r44937 r45093  
    3030    attribute DOMString type; // The type of data displayed in this column.
    3131
    32     attribute boolean sortable; // Whether or not the column can be sorted.
    33     attribute DOMString sortDirection; // The sort direction for the column.  Valid values are ascending, descending and natural (no sort applied).
     32    attribute unsigned short sortable; // Whether or not the column can be sorted.  Values are none, ascending/descending, and ascending/descending/na
     33    attribute unsigned short sortDirection; // The sort direction for the column.  Valid values are ascending, descending and natural (no sort applied).
    3434   
    3535    attribute boolean primary; // Whether or not this is the primary column of the tree (this will be where the disclosure triangle and connecting tree lines will display)
  • trunk/WebCore/html/HTMLDataGridElement.cpp

    r45018 r45093  
    3939    , m_initializationTimer(this, &HTMLDataGridElement::initializationTimerFired)
    4040{
     41    m_columns = DataGridColumnList::create();
    4142}
    4243
  • trunk/WebCore/html/HTMLDataGridElement.h

    r45018 r45093  
    2727#define HTMLDataGridElement_h
    2828
     29#include "DataGridColumnList.h"
    2930#include "DataGridDataSource.h"
    3031#include "HTMLElement.h"
     
    5152    bool multiple() const;
    5253    void setMultiple(bool);
    53 
     54       
    5455    void setDataSource(PassRefPtr<DataGridDataSource>);
    5556    DataGridDataSource* dataSource() const { return m_dataSource.get(); }
     57
     58    DataGridColumnList* columns() const { return m_columns.get(); }
    5659
    5760private:
     
    6063    Timer<HTMLDataGridElement> m_initializationTimer;
    6164    RefPtr<DataGridDataSource> m_dataSource;
     65   
     66    RefPtr<DataGridColumnList> m_columns;
    6267};
    6368
  • trunk/WebCore/html/HTMLDataGridElement.idl

    r45018 r45093  
    3030    ] HTMLDataGridElement : HTMLElement {
    3131        attribute [Custom] DataGridDataSource dataSource;
     32       
     33        readonly attribute DataGridColumnList columns;
    3234
    3335        attribute boolean autofocus; // Whether or not the datagrid should autofocus.
  • trunk/WebCore/rendering/RenderDataGrid.cpp

    r44964 r45093  
    8383        return;
    8484
    85     // FIXME: Column and cell foregrounds will paint here.
    86    
    8785    // Paint our background and border.
    8886    RenderBlock::paintObject(paintInfo, tx, ty);
    8987   
    90     // FIXME: Row, cell and column backgrounds will paint here.
     88    if (paintInfo.phase != PaintPhaseForeground)
     89        return;
     90
     91    // Paint our column headers first.
     92    paintColumnHeaders(paintInfo, tx, ty);
     93}
     94
     95void RenderDataGrid::paintColumnHeaders(PaintInfo&, int, int)
     96{
     97    gridElement()->columns();
     98   
     99}
     100
     101void RenderDataGrid::rebuildColumns()
     102{
    91103}
    92104
  • trunk/WebCore/rendering/RenderDataGrid.h

    r44964 r45093  
    2727#define RenderDataGrid_h
    2828
     29#include "HTMLDataGridElement.h"
    2930#include "RenderBlock.h"
    3031#include "ScrollbarClient.h"
     32#include "StyleImage.h"
     33#include <wtf/RefPtr.h>
     34#include <wtf/Vector.h>
    3135
    3236namespace WebCore {
     
    4549    virtual void paintObject(PaintInfo&, int tx, int ty);
    4650
     51    void columnsChanged();
     52
    4753private:
     54    void paintColumnHeaders(PaintInfo&, int tx, int ty);
     55    void rebuildColumns();
     56
     57    HTMLDataGridElement* gridElement() const { return static_cast<HTMLDataGridElement*>(node()); }
     58
    4859    // ScrollbarClient interface.
    4960    virtual void valueChanged(Scrollbar*);
Note: See TracChangeset for help on using the changeset viewer.