Hi Scott,

Sure. One thing to mention is that the CDateTime widget has a databinding 
IObservable implementation in its jface bundle.

Met vriendelijke groet,

Wim

On 30 mrt. 2012, at 21:24, Scott Klein <[email protected]> wrote:

> Aha. I actually had one of those links in my "to read" list -- probably 
> should have done that a long time ago.
>  
> On first look this seems the way to go to finally rid myself of a variety of 
> custom, home brew (aka ugly!) frameworks.
>  
>  
> Much appreciated,
>  
>  
> scott
>  
>  
>  
> From: [email protected] [mailto:[email protected]] 
> On Behalf Of Wim Jongman
> Sent: Friday, March 30, 2012 11:50 AM
> To: Nebula Dev
> Subject: Re: [nebula-dev] Control design discussion (CDateTime, FormattedText)
>  
> Hi Scott,
>  
> Interesting case.. I think you want to take a look at the databinding 
> framework [1][2]. 
>  
> Best regards,
>  
> Wim Jongman
>  
> [1] 
> http://www.vogella.de/articles/EclipseDataBinding/article.html#swtdatabinding_validation
> [2] http://wiki.eclipse.org/index.php/JFace_Data_Binding
>  
>  
> On Fri, Mar 30, 2012 at 8:09 PM, Scott Klein <[email protected]> 
> wrote:
> Data Validation/Integrity - Proper design
>  
> Overview:
>  
> My application requires, what I term, "Data Validation" which will not allow 
> a user to enter data which does not fit specific parameters based on its 
> application context. For example, a CDateTime that is asking for a Date of 
> Birth may not want to allow future dates nor dates prior to, say, 1900. Or a 
> FormattedText control asking for a body temperature may only be allowed to 
> accept numeric entries in a given range ( 32 to 110 step by 0.5 -> which 
> means 98.5 is fine, but 98.6 is not)
>  
> In addition, my application must have, what I call, "Data Integrity" -- that 
> is the data in the control (view) must always match the data in the model, 
> and vise versa. The rule we currently live by is that the control must not 
> "accept" data that is improper for that control in a given context - the 
> "change" must not be accepted and the event must not be triggered by the 
> control for invalid data, rather it should alert the user (somehow) and 
> revert to the last valid value.
>  
>  
> Design Options:
>  
> Obviously, there are several options to do this a few of which are:
> 1. Extend the control for yourself to include validation -- this can be 
> tricky because you have to override very complicated methods in the parent 
> and also you rely on the protected methods exposed
> 2. Have your listener validate the data before accepting it to your model -- 
> this can be tricky because you do not always have access to the "interior" 
> controls for things like "blinking" the control or setting alert colored 
> backgrounds
> 3. Have the control itself accept "validation" rules, and only when these all 
> pass will a data change be accepted and a "change" event triggered - this is 
> a pretty big task as well given the complexity of some of these controls
>  
>  
>  
> Given all of this, what is the recommended way to implement this, or other 
> similar functionality for a Nebula control? I am open to changing my mindset 
> on having the control do this for me, but if that were the case I would want 
> a standard interface to utilize across multiple controls which allow the 
> developer to perform specific "validate" and "invalidate" display 
> functionality.
>  
> Feedback is much appreciated!!
>  
>  
> scott
>  
>  
>  
>  
>  
> __________ Information from ESET NOD32 Antivirus, version of virus signature 
> database 7014 (20120330) __________
>  
> The message was checked by ESET NOD32 Antivirus.
>  
> http://www.eset.com
>  
> 
> _______________________________________________
> nebula-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/nebula-dev
> 
>  
>  
> __________ Information from ESET NOD32 Antivirus, version of virus signature 
> database 7014 (20120330) __________
> 
>  
> The message was checked by ESET NOD32 Antivirus.
> 
>  
> http://www.eset.com
> 
> 
> 
> __________ Information from ESET NOD32 Antivirus, version of virus signature 
> database 7014 (20120330) __________
> 
> The message was checked by ESET NOD32 Antivirus.
> 
> http://www.eset.com
> _______________________________________________
> nebula-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/nebula-dev

Reply via email to