Supplemental Widgets for SWT (Nebula)


The project has been created. Please visit the project page.

Introduction

The Supplemental Widgets for SWT (Nebula) is a proposed open source project under the Technology Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology newsgroup. 

Background

Through use of both Eclipse RCP and SWT, the development of applications based upon the Eclipse platform is growing. These developers will require new and custom widgets to use within their applications. The SWT team does an excellent job of producing and maintaining SWT, but there is an endless list of new widget requests and new feature requests. This project will attempt to answer some of those requests, while working closely with the main SWT team.

Description

This project will provide new custom/emulated widgets built upon SWT. The project will work as a proving ground for these new widgets. If/when each new widget is deemed useful and complete, and is approved by the main SWT team, the widget will graduate into the main SWT project.

An initial code contribution will be made to Nebula. Chris Gross is donating his personal code from the SWTPlus project. SWTPlus was conceived provide custom SWT widgets for SWT/RCP developers. The initial code contribution will include:

  • An expandable group widget with 3 existing drawing strategies
  • hyperlink widget
  • combo widget with 4 drawing strategies includes a Tree, Table, and Color combo
  • list widget with 3 drawing strategies
  • a tab-like shelf widget with 2 drawing strategies
  • an attachable auto complete
A web start demo of these widgets can be viewed at http://www.swtplus.com/jws2/swtplusExamples2.jnlp.

Future widgets under consideration include:

  • Table widget
  • Calendar widget
  • Property sheet widget

Principles

The project will be based upon the following principles:
  • Flexibility (the ability to override default drawing/painting behavior)
  • SWT-ish API (following SWT paradigms and idioms)
  • Fewer components, higher quality

Concerns

There is a potential for overlap between Nebula and the main SWT development. The Nebula project will endeavor to minimize this overlap. Nebula's focus is not on widgets offered by the native operating systems, but rather higher level custom components. Only in rare situations, where there is a significant demand and it does not overlap with any existing or upcoming SWT work, will Nebula develop counterparts to existing SWT/native widgets.

Additionally, the project committers will work closely with the SWT team to ensure that the widgets follow the Eclipse and SWT vision in order to be approved for inclusion into the main SWT project.

Organization

We propose this project should be undertaken as a sub-project within the Eclipse Technology Project. It is intended to augment the existing SWT project and has the potential to be utilized within the Eclipse Platform itself.

Proposed project lead and initial committers

  • Chris Gross (IBM)
  • Veronika Irvine (IBM, existing SWT committer)
  • Additional committers to be picked up as project progresses.

Code Contributions

Initial code contribution from Chris Gross.