Project Plan For Nebula NatTable, version 1.0.0

Introduction

NatTable project plan

Release Deliverables

NatTable is composed of a core project and several optional extension projects.

Table of Contents

Release Milestones

1.0.03/23/2013
First non-incubation release of NatTable at Eclipse

Table of Contents

Target Environments

Every platform where SWT can run.

Internationalization

Project uses English (en) for default resource strings. German (de) resource strings are also provided.

Table of Contents

Compatibility with Previous Releases

Table of Contents

Themes and Priorities

NatTable

  • Committed

    • Imported: GroupByObject must implement equals and include column index [379880] (target milestone: 1.0.0)
    • Imported: Multi cell update. Increment/decrement via popup UI. [379891] (target milestone: 1.0.0)
    • Imported: Editing cells in frozen area - only with mouseClick / KeyEditAction does not work [379911] (target milestone: 1.0.0)
    • Imported: Freeze layer does not persist state [379917] (target milestone: 1.0.0)
    • Imported: Filter does not support != [379918] (target milestone: 1.0.0)
    • Imported: InlineCellEditEvent does not properly implement cloneEvent() [379920] (target milestone: 1.0.0)
    • Imported: Copy logic needs to be reworked [379921] (target milestone: 1.0.0)
    • Imported: Discontiguous selection ranges are not copied to the clipboard correctly [379935] (target milestone: 1.0.0)
    • Imported: Choosing "Hide column" when all columns are selected is not recoverable. [379938] (target milestone: 1.0.0)
    • Imported: Allow NatCombo to accept freeform values outside of specified items [379955] (target milestone: 1.0.0)
    • Imported: Support for commit editing of cell + automatically open adjacent cell in edit mode [379956] (target milestone: 1.0.0)
    • For custom colors, unpersisted colors show up as white [390943] (target milestone: 1.0.0)
    • Minor: Add GuiHelper.COLOR_LIST_SELECTION_TEXT. [390944] (target milestone: 1.0.0)
    • NullPointerException in SelectCellCommandHandler.selectCell() at line 67 when clicking the column header for an empty grid. [391732] (target milestone: 1.0.0)
    • Make text decorations configurable via cell Style [391899] (target milestone: 1.0.0)
    • NPE When Copying from Table [393344] (target milestone: 1.0.0)
    • Copy of multiple rows with RowSelectionModel is not possible [393631] (target milestone: 1.0.0)
    • TreeLayer indents first column even if there is no tree structure [395150] (target milestone: 1.0.0)
    • Edit style clears off previous overrides and keeps the latest modification only. [395664] (target milestone: 1.0.0)
    • StyleInheritanceTest fails on build with console [396720] (target milestone: 1.0.0)
    • Support automatic shrinking of row heights [396732] (target milestone: 1.0.0)
    • Add support for more flexible drawing of cell borders [396774] (target milestone: 1.0.0)
    • Add support for default view configuration management [397036] (target milestone: 1.0.0)
    • Allow commiting of values by skipping validation [398357] (target milestone: 1.0.0)
    • No SelectionChangedListener notification when selected rows are unchanged [399254] (target milestone: 1.0.0)
    • Update project compiler compliance level to 1.6 [399307] (target milestone: 1.0.0)
    • Major edit behaviour refactoring [399313] (target milestone: 1.0.0)
    • Support multiple selection in NatCombo [399316] (target milestone: 1.0.0)
    • Make icon of the ComboBoxCellEditor configurable [399317] (target milestone: 1.0.0)
    • Using tick update actions can exploit validation rules [399322] (target milestone: 1.0.0)
    • Performing tick update on non double values will cause exception [399323] (target milestone: 1.0.0)
    • PasswordCellEditor allows to copy the value [399325] (target milestone: 1.0.0)
    • Refactoring of ICellEditor [399326] (target milestone: 1.0.0)
    • Add support for opening cell editors always in a subdialog [399327] (target milestone: 1.0.0)
    • ICellEditHandler does more than it should [399328] (target milestone: 1.0.0)
    • Add support for dialog cell editors [399329] (target milestone: 1.0.0)
    • Allow value change of CheckboxCellEditor on pressing Space [399330] (target milestone: 1.0.0)
    • Allow configuration of error rendering in TextCellEditor [399332] (target milestone: 1.0.0)
    • KeyMatcher for activating a cell by keypress needs to react on more keys [399333] (target milestone: 1.0.0)
    • Wrong implementation of equals() and hashCode() for LetterOrDigitKeyEventMatcher [399334] (target milestone: 1.0.0)
    • Improve registering of ICellEditors in UIBindingRegistry [399335] (target milestone: 1.0.0)
    • Add multi line text editor [399338] (target milestone: 1.0.0)
    • It is not possible to deselect all items in a multi select combo [399387] (target milestone: 1.0.0)
    • NullPointerException if key is pressed on a NatTable without selection [399393] (target milestone: 1.0.0)
    • NatTableContentTooltip shows passwords [399682] (target milestone: 1.0.0)
    • Edit bindings override binding configurations of other layers [400445] (target milestone: 1.0.0)
    • 'Ungroup By' doesn't work if there is something above the GroupByHeaderLayer [400446] (target milestone: 1.0.0)
    • Add support for custom configuration of (multi) cell edit dialogs [400808] (target milestone: 1.0.0)
    • ColumnReorderDragMode and subclasses API need to be cleaned up [401064] (target milestone: 1.0.0)
    • Not possible to extend FreezeCommandHandler [401073] (target milestone: 1.0.0)
    • Update freeze state on already frozen grid [401095] (target milestone: 1.0.0)
    • Add freeze row support [401096] (target milestone: 1.0.0)
    • java.lang.ArithmeticException: / by zero + strange behavior when ComboBoxCellEditor has no item to display [401316] (target milestone: 1.0.0)
    • ColumnGroupExpandCollapseCommandHandler fires events with wrong information [401425] (target milestone: 1.0.0)
    • Add convenience methods to ColumnGroupModel [401428] (target milestone: 1.0.0)
    • ComboBoxCellEditor and NatCombo : request to open Nattable API concerning the ComboBox [401431] (target milestone: 1.0.0)
    • Change visibility of methods and members in NatTableContentTooltip [401971] (target milestone: 1.0.0)
    • Loading a view configuration with a sorted state does not apply the sort header icon correctly [402014] (target milestone: 1.0.0)
    • Allow configuration to always show an icon in the filter row [402107] (target milestone: 1.0.0)
    • Add support for cross validation [402193] (target milestone: 1.0.0)
    • Provide convenience methods to request the row/column index/position from the current active cell editor [402284] (target milestone: 1.0.0)
    • RowHideShowLayer does not restore its state correctly [402471] (target milestone: 1.0.0)
    • Abstract*HideShowLayer fire unnecessary events on loading state [402475] (target milestone: 1.0.0)
    • Add row hide and show all rows command to the row header menu [402477] (target milestone: 1.0.0)
    • Missing RowHideCommand transformation in SelectionLayer [402479] (target milestone: 1.0.0)
    • Multi-edit issue when columns are selected/deselected in specific order. [402739] (target milestone: 1.0.0)
    • TreeTable custom TreeImagePainter [402919] (target milestone: 1.0.0)
    • NatTableContentTooltip [403005] (target milestone: 1.0.0)
    • RowDeleteEvent and RowInsertEvent always return empty diff [403142] (target milestone: 1.0.0)
    • AbstractLayerTransform.underlyingToLocal returns -1 if layers are not equal [403143] (target milestone: 1.0.0)
    • AbstractRowHideShowLayer.getStartYOfRowPosition() doesn't check underlying hidden states [403145] (target milestone: 1.0.0)
    • GlazedListsEventLayer does not transport detail informations on list changes [403146] (target milestone: 1.0.0)
    • Hiding a row in a tree does not hide the child rows [403150] (target milestone: 1.0.0)
    • Multi...ShowCommand transports int[] instead of Collection<Integer> [403152] (target milestone: 1.0.0)
    • RowHideShowLayer in inconsistent state after row delete/add [403160] (target milestone: 1.0.0)
    • Add row hide/show for GlazedLists based NatTables [403175] (target milestone: 1.0.0)
    • FilterRowDataProvider does not restore its state correctly [403300] (target milestone: 1.0.0)
    • CellPainterDecorator returns wrong ICellPainter [403349] (target milestone: 1.0.0)
    • Add row reorder support [403447] (target milestone: 1.0.0)
    • VerticalTextPainter returns wrong preferred width [403493] (target milestone: 1.0.0)
    • Automatic resize only works in grid [403498] (target milestone: 1.0.0)
    • If you do a multi cell update in a column that is sorted, then sometimes only half is changed [403630] (target milestone: 1.0.0)
    • Add support for automatic cell spanning [403651] (target milestone: 1.0.0)
    • Automatic size calculation when using TextPainter/VerticalTextPainter is not always working correctly [403836] (target milestone: 1.0.0)
    • Conversion/validation error styles override default error styling in RenderErrorHandling [404127] (target milestone: 1.0.0)
    • Add Excel like filter row [404891] (target milestone: 1.0.0)
    • Imagepainter does not allow null-images [405383] (target milestone: 1.0.0)
    • DefaultComparator returns 0 if objects are not of type Comparable [405406] (target milestone: 1.0.0)
    • GroupByDataLayer creates new TreeList instance on group by [405407] (target milestone: 1.0.0)
    • CellPainterMouseEventMatcher is not working correctly with PaddingDecorator [405851] (target milestone: 1.0.0)
    • DetailGlazedListsEventLayer sometimes in incorrect state [405949] (target milestone: 1.0.0)
    • Clarify how to enable editing [406061] (target milestone: 1.0.0)
    • Copy binding is incorrect on OSX [406308] (target milestone: 1.0.0)
    • RowSelectionProvider adds selection instead of set [406677] (target milestone: 1.0.0)
    • NPE in disableScrollBar() [406787] (target milestone: 1.0.0)
    • NullPointerException in CellPainterMouseEventMatcher [407598] (target milestone: 1.0.0)
    • Key navigation broken in ComboBoxCellEditor [408130] (target milestone: 1.0.0)
    • ComboBoxCellEditor freeEdit key binding missing [408135] (target milestone: 1.0.0)
    • Imported: Export To Excel command handler does not work if Save As dialog is exited/cancelled [379923] (target milestone: 1.0.0)
    • Imported: single column does not scroll [379931] (target milestone: 1.0.0)
    • AbstractRowHideShowLayer.underlyingToLocalRowPosition doesn't work for deleted positions [383056] (target milestone: 1.0.0)
    • Copy/Paste only copies visible headers [393352] (target milestone: 1.0.0)
    • Copy/Paste borks on empty selection [393355] (target milestone: 1.0.0)
    • Export leads to wrong scroll bar state [393390] (target milestone: 1.0.0)
    • Column group header: LEFT+DOUBLE+CLICK on group header sorts the column [396470] (target milestone: 1.0.0)
    • DataLayer consumes ClientAreaResizeCommand even if no resize has occurred [396910] (target milestone: 1.0.0)
    • Use Orbit for Apache POI dependency [399475] (target milestone: 1.0.0)
    • Scroll behavior is no longer working [400124] (target milestone: 1.0.0)
    • CompositeFreezeLayer does not use correct base layer for frozen column, row layers [400325] (target milestone: 1.0.0)
    • TreeLayer should use config labels instead of position to detect when to render expand/collapse control [400330] (target milestone: 1.0.0)
    • Add poi bundle to NatTable examples jar [401112] (target milestone: 1.0.0)
    • Allow multiple filter rows to share the same filter configuration [401947] (target milestone: 1.0.0)
    • In CompositeLayer.getChildLayerInfoByPosition(x,y) alwas returns null [402816] (target milestone: 1.0.0)
    • Update build to use dependencies in Orbit [403194] (target milestone: 1.0.0)
    • NPE when trying to move the selection when selection anchor is not valid [404023] (target milestone: 1.0.0)
    • Generate Javadoc [404807] (target milestone: 1.0.0)
    • Allow smooth scrolling of Viewport [405738] (target milestone: 1.0.0)
    • ColumnReorderEvent values incorrect [408598] (target milestone: 1.0.0)
    • opening ColumnCategories ends in ClassNotFoundException [411332] (target milestone: 1.0.0)
    • GroupByObject.compareTo() needs to gracefully handle nulls [411510] (target milestone: 1.0.0)
    • Add possibility to change row height of filter row [398270] (target milestone: 1.0.0)
    • NatTable default bindings use CONTROL modifier on Mac instead of COMMAND [407586] (target milestone: 1.0.0)
    • Imported: SpanningDataLayer has no spanning effect within frozen areas [379929] (target milestone: 1.0.0)
    • Selection Not Cleared when deleting first row [392667] (target milestone: 1.0.0)
    • Freezing all the columns in NatTable throws exception [393239] (target milestone: 1.0.0)
    • Large spanned cells are not painted correctly [393921] (target milestone: 1.0.0)
    • All table cells not painted when one row has zero height [404880] (target milestone: 1.0.0)
  • Proposed

    • Refactor UI binding registration/unregistration [379712] (target milestone: ---)
    • Imported: Additional Cell Editors (Spinner, Image, Link, Button, etc) [379882] (target milestone: ---)
    • Imported: Mouse : Column group header cell : Select column group bindings [379893] (target milestone: ---)
    • Imported: Mouse : Column header cell : RIGHT CLICK : popup menu : Freeze column bindings [379894] (target milestone: ---)
    • Imported: Switch to long values to support very large data sets [379896] (target milestone: ---)
    • Imported: Scale cell rendering with zoom [379900] (target milestone: ---)
    • Imported: Adjust client area for zoom [379901] (target milestone: ---)
    • Imported: Allow semi-transparent color configuration [379902] (target milestone: ---)
    • Imported: Multiple actions bindings invocation [379904] (target milestone: ---)
    • Imported: Creating column group from non sequential columns [379906] (target milestone: ---)
    • Imported: User guide [379913] (target milestone: ---)
    • Imported: Selection events should include deselected regions [379932] (target milestone: ---)
    • Imported: Layer query api [379933] (target milestone: ---)
    • Imported: Consolidate column choosers [379936] (target milestone: ---)
    • Imported: Support n levels of column groups [379940] (target milestone: ---)
    • Imported: Convert all layers to use registerCommandHandlers method [379941] (target milestone: ---)
    • Imported: Make ConfigRegistry accessible [379953] (target milestone: ---)
    • Imported: Support selection movement in filter row [379957] (target milestone: ---)
    • Imported: Selection does not take into account structural changes [379961] (target milestone: ---)
    • Be able to pass certain commands through layers that have no area [383573] (target milestone: ---)
    • Combine configuration of cell editor and cell painter [385206] (target milestone: ---)
    • Refactor event mechanism [388959] (target milestone: ---)
    • Add accessibility layer to support assistive technologies [399477] (target milestone: ---)
    • Webstart fails on Linux [418806] (target milestone: ---)
    • [CSS] Support CSS Styling in NatTable [384924] (target milestone: ---)
  • Deferred

    • Add API for layers which is independent of the orientation [413207] (target milestone: Future)
    • Rework viewport layer - objectives: improved smooth scrolling, scalability [413209] (target milestone: Future)
    • Rework selection layer - objectives: scalability [413224] (target milestone: Future)

Table of Contents

Appendix Project Refactoring

Table of Contents