Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] Date submissions - Eric and Jeremy

Hi Chris, Jeremy,

I passed a few hours to study Jeremy's implementation to try to find
differences between our two submissions.
I will try to give you my vision of the differences I have noticed.
Jeremy, please correct me if I made mistakes. Complete me also if I
missed something.

First, I think that basically the calendar (CCalendar vs CDatePicker)
and the combo (DateChooser vs CDatePickerCombo) have the same main
features :
- calendar : date selection, month navigation, locale support.
- combo : controlled input of date values, with field navigation and
support for different formats and locales.

Differences on the technologies used
------------------------------------
- Comp4SWT : Java 5.0 / Eclipse 3.1 (not tested on 3.0).
- AspenCloud : Java 1.4 / Eclipse 3.2 (incompatible with 3.1, caused by
the use of the Spinner widget).

Differences between calendars
-----------------------------
CCalendar :
- Implementation based only on basis SWT widgets : labels and buttons.
- Colors customisation (header, days labels, day cells...), based on
color themes, with 3 default themes provided and possibility to create
new ones.
- Possibility to set the font used.
- A look that match more to this kind of control in other technologies
(I know, it's subjective).

CDatePicker :
- The clock !!!
- Direct selection of month and input of year.
- Implementation based on custon widgets for days grid, navigation buttons.
- "Go today" button.

Differences between combos
--------------------------
I just test CDatePickerCombo with its snippet. Not with custom patterns,
so can not say if exotic patterns are fully supported.

DateChooser :
- Date input in the Text widget is delegated to a FormattedText /
DateFormatter. So it supports differents input and display patterns.
- No support for the moment of long format for months input (month names
with pattern MMM or MMMM).
- Calendar used for input is in lenient mode. So the increment /
decrement with arrows on a field has effect on the superior field.
- Limited to date values (its not a DateTimeChooser ;-) But time and
datetime input are supported by FormattedText with the corresponding
formatters.
- Button with an image, with the possibility to change the image used.
- Possibility to set the font used, common to the text widget and the
calendar.

CDatePickerCombo :
- Field selection does not allow to select the full content of the Text
widget for copy / paste operations.
- Possibility to use month names for input, limited to increment /
decrement by the arrows. Input by keyboard is impossible.
- Support time input.
- Spinner

Comp4SWT FormattedText
----------------------
In complement, Comp4SWT has FormattedText with its formatters. And I
think that is the main difference.
FormattedText is a decorator based on the same principles that JFace
viewers. It acts as a controller, delegating the formatting features to
formatters (the model). This gives the possibility to associate
formatters on a Text widget in function of values to edit. Formatters
can be instanciated and passed in parameter of FormattedText. They can
also be created automatically when a value is setted and no formatter
has been provided. This is realized by a customizable factory.
Text widget is created by the FormattedText, or can be passed in
parameter. Then it is possible to use FormattedText in UI Forms.

Formatters provided actually are :
- DateTimeFormatter : date and time values. Support two patterns : one
for input and one for display (when focus is outside the Text widget).
- DateFormatter : extends DateTimeFormatter to limit patterns to date.
- TimeFormatter : extends DateTimeFormatter to limit patterns to time.
- NumberFormatter : Number values. Support too input and display patterns.
- MaskFormatter : Mask input for strings, allowing to control the format
of strings like phone numbers.

FormattedText gives a consistent way to create forms with input and
display formatting features for differents kinds of values. Formatters
model is extendable and the factory allowes to replace default
formatters for standard types, or add new ones.

To end this comparison, I think that DateChooser and CDatePickerCombo
have two differents and incompatible implementations of the text input.
On the other hand, I think really possible to use, with a minimum
effort, both calendars. It is also possible to extend DateChooser to
support time pattern, with support of Jeremy's clock.

Last, but not least, congratulations to Jeremy for the clock. It's
really a good job!

Regards,

Eric

Christopher J Gross a écrit :
> 
> Hi Eric,
> Hi Jeremy,
> 
> I'm excited that more and more widgets being offered up to Nebula, but
> I'm also a little concerned about the overlap.  Users who come to the
> Nebula webpage will be confused if they are confronted with multiple
> widgets of the same type.  I am not strictly against that, but if there
> are multiple similar widgets I'd like to see them differentiate
> themselves in some way.  The table widgets we have, all take somewhat
> different approaches.  
> 
> Can you guys let us know what differentiates the date widgets?  Why
> would someone use one over the other?  If they are similar, could you
> guys combine efforts?
> 
> Regards,
> -Chris
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> nebula-dev mailing list
> nebula-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/nebula-dev


Back to the top