Advanced SWT widget Eclipse project, NatTable proposed

A new open source project that aims to simplify the SWT data
grid has been proposed under Eclipse’s supplementary SWT
widget Nebula project

Distributed as an OSGi bundle, NatTable is a custom SWT data grid
widget designed to handle sophisticated, performance-sensitive data
visualisation requirements, aiming to do what others cannot and
much, much more. The proposal recognises the other options
available but cites ‘lack of features and flexibility in complex
and customisable interfaces and resource utilization issues
when attempting to display very large result sets’. NatTable aims
to eradicates these issues once and for all.

The goal of NatTable within Nebula is to continue
to provide a powerful and flexible data grid implementation
for applications with complex data grid requirements and a
framework that can be altered to the user’s desire.

NatTable already has plenty of history behind it. Started as an
open source project by Andy Tsoi in 2007 and currently led by Edwin
Park, NatTable has more than a dozen committers from various
companies contributing to the codebase over the years.

It was originally targeted towards implementing financial
trading systems, and some of its initial design goals were to
support operation over data sets with hundreds of thousands of rows
and hundreds of columns, with data being updated in realtime with
no perceived slowdown in performance. A monumental task, but
NatTable has also been leveraged in other applications.

Eclipse was chosen due to its role at the centre of SWT activity
and being an ideal community to harness clients. Initial module
contribution for the NatTable core will come from:

SWT (EPL)

JFace (EPL)

Eclipse Core Commands (EPL)

Eclipse Core Runtime (EPL)

Apache Commons-Lang (Apache License V2.0)

Apache Commons-Logging (Apache License V2.0)

In terms of architecture, NatTable is designed around the
concepts of layers being placed on top of each other or next to one
another.

The project is currently in the
proposal stage and is canvassing for feedback from the Eclipse
community.