Difference: DpHipeTools (39 vs. 40)

Revision 402009-05-19 - JaimeSaiz

Line: 1 to 1
 
META TOPICPARENT name="DpHipe"

Adding Tools to HIPE

Line: 137 to 137
  The Modifier for the first Parameter of the crop task:
crop_modifier.jpg
Changed:
<
<
Currently the system contains basic implementation for the simple types Integer, Float, Long, Double and few more, so there's still a lot of space for improvements and contribution.
>
>
Currently the system contains basic implementation for the simple types Boolean, Integer, Float, Long, Double, String and few more, so there's still a lot of space for improvements and contribution. You can find the general available modifiers in package herschel.ia.gui.apps.modifier.
 
Changed:
<
<
Warning, important The following behaviours and limitations are present in the provided modifiers:
  • If the value is unfilled or invalid (red) the parameter will not used (but see D'n'D). This has been retrofitted in a consistent manner after 1.0
  • While you can always in Console write "SomeTask(param = null)", with a Panel you will get "Task()": for GUIs "null is not allowed". The task machinery will take nulls as if the parameter has been ignored by the user.
  • Modifiers have no notion of the optionality of parameters: if they have a valid value they will return it. The task machinery will not generate a parameter assignment if the value equals the default.
  • All Modifiers accept D'n'D of variables and if a variable is D'n'Ded and stored it takes precedence over the filled value: currently only the default modifier has visual feedback about it's D'n'D state.
  • Speciallized modifiers:
    • Will only store variables compatible with the type.
    • They do not seem to accept variables set to None (to check)
    • Once a variable has been accepted the value the user edits will forever be ignored
    • Cannot forget the variable (default can't either but has no editor).
  • JDefaultModifier: (D'n'D can block some Drops, but basically accepts any type)
    • Initially they have no type
    • They accept the type of the first variable D'n'Ded and remember it (of any type!)
    • Now they only accept variables of the same type (or compatible)
    • You can erase the type D'n'Ding a None
  • Current floating point modifiers are incapable of parsing some special values like NaN, +-Infinite and -0, as parsing/checking is done via pure numeric patterns.

If your Task Parameter isn't one of the mentioned types, you could:

>
>
If your Task Parameter isn't one of the aforementioned types, you could:
 
  • Implement a Modifier
  • Register it to the system.

Alternatively, you could want to write your specific Modifier for one of the already available types. In that case, you could skip the registration, and just create your modifier in your Java code within a custom Signature Component.

Changed:
<
<
In package herschel.ia.gui.apps.modifier you can find the general available modifiers.
>
>
Warning, important NOTE:
The following behaviours and limitations are present in the provided modifiers:
  • While you can always write SomeTask(param = null) in Console, using a task dialog you will get SomeTask(): for GUIs "null is not allowed". The task machinery will take nulls as if the parameter has been ignored by the user.
  • Modifiers have no notion of the optionality of parameters: if they have a valid value, they will return it. The task machinery will not generate a parameter assignment if the value equals the default.
  • Specialized modifiers:
    • Will only store variables compatible with the type.
    • They do not to accept variables set to None.
 

Implement a Modifier
 
This site is powered by the TWiki collaboration platform Powered by Perl