[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] Contributing

Hi Jeremy,

Again, I have to ask you the same things I asked Emil. I just want to make sure we wont have any legal problems with the submissions after they're voted on. You are the only author for the submission? If you are not employed by an Eclipse member company, will your employer be willing to sign an IP waiver?

CTableTree (and viewer), SearchHelper - +1

CButton seems to wrap a normal Button? I'm confused by the design. I'm also not sure that it provides enough features above and beyond a normal Button (especially now that Button can display an image).


Jeremy Dowdall wrote:
Dear Nebula Team,

I have been working on custom widgets and am interested in pursuing a contribution to the Nebula project.

the initial items:
- CTableTree
- CTableTreeViewer
- CButton
- SearchHelper

the code presently resides on SourceForge:
Project Page: http://sourceforge.net/projects/calypsorcp
anonymous / no password
Eclipse projects (most relevant):
 - org.aspencloud.widgets & org.aspencloud.viewers
 - org.aspencloud.widgets.test shows some example use code
 - org.aspencloud.calypso.ui contains more subclasses of CTableTreeCell

a description of each:
CTableTree is a "Tree with Columns" as is the SWT Tree widget, and is designed to be as pin-compatible with it, as possible. It is not intended to be used as a grid, like KTable.
Key differences with SWT Tree:
- the tree hierarchy can be in any column ( setTreeColumn(int) )
- it can optionally display a string when empty ( setEmptyMessage(String) )
- it is built upon CTableTreeCells which can be easily customized, subclassed, and maintained separately from the use of the actual CTableTree. There are three base styles to start from: 1. Normal, is like a regular SWT cell to which you set icons and text; 2. DropDown, which creates a toggle in the "regular" cell area, along with settable icons and text, and adds a child SWT Composite, to contain other SWT Controls, which will expand and collapse just like an ExpandableComposite; and 3. Simple, which puts a SWT Composite in the main cell area to contain other SWT Controls.
- it uses CTableTreeItems to separate the cells from the table so that CTableTreeItems can be added to the CTableTree just as SWT TreeItems are added to an SWT Tree, with the exception that an array of CTableTreeCell Classes are passed to the constructor to tell it how to build its cells - what cells to use, and in what order (if there are nulls in this array, or the length of the array is less than the number of columns, the item automatically fills it in with "Normal"-type cells).

CTableTreeViewer provides a JFace style viewer for using the CTableTree, and is designed to be as pin-compatible with JFace's TableViewer and TreeViewer as possible. With it, come some new providers: ICTableTreeLabelProvider extends ITableLabelProvider to allow multiple icons to be set for each column (though an ITableLabelProvider can be used if you don't want more than one image per cell), and ICTableTreeCellProvider which permits dynamic creation of CTableTreeItems with the appropriate cells for the data and column.

CButton is a button that acts visibly similar to a ToolItem - the button is drawn only when the mouse is over it - and allows the drawing of images, text, and polygons.

SearchHelper is an auto-complete delegate that can be attached to a Combo, ComboViewer, or Text (with the additional input of a String[] through which to search), with a single line of code: new SearchHelper(Combo, boolean);

sincerely, Jeremy Dowdall _______________________________________________ nebula-dev mailing list nebula-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/nebula-dev