it.csi.mddtools.guigen

## Interface Slider

- All Superinterfaces:
    DataWidget, org.eclipse.emf.ecore.EObject, MultiDataWidget, org.eclipse.emf.common.notify.Notifier, Widget

      public interface Slider
      extends DataWidget, MultiDataWidget

  A representation of the model object 'Slider'.

  Widget che permette di selezionare uno o due valori in un range numerico continuo.

  aspetto grafico

  - E' dotato di etichetta come tutti gli altri widget a lato del widget;
  - appare come un classico slider, ad orientamento orizzontale
  - contestualmente allo slider è visualizzato il valore correntemente selezionato
  - in caso di slider a selezione singola appare solo un elemento spostabile che determinerà il valore selezionato
  - in caso di slider a selezione multipla appaiono due elementi spostabili,uno per l'estremo inferiore ed uno per l'estremo superiore del range e le due posizioni determineranno la coppia di valori che rappresenteranno gli estremi del range

  binding con dati

  - lo slider è un DataWidget, pertanto il suo valore sarà sincronizzato con un ApplicationData tramite data-binding:
    - se il tipo dell'application data collegato è un tipo semplice (non array) lo slider sarà da considerarsi a selezione puntuale, e il valore selezionato sarà sincronizzato con il valore di tale application data
    - se il tipo dell'application data collegato è un array di tipi semplici lo slider sarà da considerarsi a selezione di intervallo e il range selezionato darà origine ad un array di due elementi che conterranno l'estremo inferiore e l'estremo superiore dell'intervallo
    - può essere definito un collection binding, che viene interpretato diversamente a seconda del valore dell'opzione useCollectionDataAs
    - se useCollectionBindingAs="values": gli elementi dell'application data collegato saranno presi come valori discreti selezionabili (e saranno considerati ordinati secondo l'ordinamento dell'array) N.B: FEATURE NON ANCORA IMPLEMENTATA
    - useCollectionDataAs="range": gli elementi 0 e 1 dell'array (che devono essere necessariamente numerici ed ordinati in modo crescente) rappresentano gli estremi inferiore e superiore del range selezionabile

  opzioni di configurazione

  - il tipo del binding determina se lo slider è da considerarsi puntuale o di intervallo
  - l'opzione useCollectionDataAs determina come considerare i dati del collection binding:
    - "values" -> valori discreti selezionabili verrà implementato in futuro
    - "range" -> estremi dell'intervallo (continuo/numerico) selezionabile

  The following features are supported:

  - `Use Collection Data As`
  - `Static Lower Bound`
  - `Static Upper Bound`
  - `Static Step`
  See Also:
    `GuigenPackage.getSlider()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Float` | `getStaticLowerBound()` Returns the value of the 'Static Lower Bound' attribute
    `java.lang.Float` | `getStaticStep()` Returns the value of the 'Static Step' attribute.
    `java.lang.Float` | `getStaticUpperBound()` Returns the value of the 'Static Upper Bound' attribute
    `SliderCollectionValuesUsageTypes` | `getUseCollectionDataAs()` Returns the value of the 'Use Collection Data As' attribute.
    `void` | `setStaticLowerBound(java.lang.Float value)` Sets the value of the '`Static Lower Bound`' attribute
    `void` | `setStaticStep(java.lang.Float value)` Sets the value of the '`Static Step`' attribute
    `void` | `setStaticUpperBound(java.lang.Float value)` Sets the value of the '`Static Upper Bound`' attribute
    `void` | `setUseCollectionDataAs(SliderCollectionValuesUsageTypes value)` Sets the value of the '`Use Collection Data As`' attribute

    - ### Methods inherited from interface it.csi.mddtools.guigen.DataWidget

      `getDatabinding, getDataType, getDataTypeModifier, isRequired, setDatabinding, setDataType, setDataTypeModifier, setRequired`

    - ### Methods inherited from interface it.csi.mddtools.guigen.MultiDataWidget

      `getMultiDataBinding, setMultiDataBinding`

    - ### Methods inherited from interface it.csi.mddtools.guigen.Widget

      `getEnableEnrichment, getEventHandlers, getLabel, getLayoutSpec, getName, getSecurityConstraints, getTooltip, isDefaultEnabled, isDefaultVisible, setDefaultEnabled, setDefaultVisible, setEnableEnrichment, setLabel, setLayoutSpec, setName, setTooltip`

    - ### Methods inherited from interface org.eclipse.emf.ecore.EObject

      `eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

    - ### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

      `eAdapters, eDeliver, eNotify, eSetDeliver`

- - ### Method Detail

    - #### getUseCollectionDataAs

          SliderCollectionValuesUsageTypes getUseCollectionDataAs()

      Returns the value of the 'Use Collection Data As' attribute. The literals are from the enumeration `SliderCollectionValuesUsageTypes`.

      If the meaning of the 'Use Collection Data As' attribute isn't clear, there really should be more of a description here...

      Permette di decidere come utilizzare il contenuto del collection data binding. Attualmente l'unico valore ammissibile è "range" e indica al generatore di utilizzare i primi due elementi (numerici) dell'array collegato tramite collection data binding come estremi inferiore e superiore del range di valori selezionabili. N.B: serve nei casi in cui sia necessario un range dinamico; nel caso in cui invece sia sufficiente un range statico definito a tempo di modellazione è necessario modellare le due property staticLowerBound e staticUpperBound

      Returns:
        the value of the 'Use Collection Data As' attribute.
      See Also:
        `SliderCollectionValuesUsageTypes`, `setUseCollectionDataAs(SliderCollectionValuesUsageTypes)`, `GuigenPackage.getSlider_UseCollectionDataAs()`

    - #### setUseCollectionDataAs

          void setUseCollectionDataAs(SliderCollectionValuesUsageTypes value)

      Sets the value of the '`Use Collection Data As`' attribute.
      Parameters:
        `value` - the new value of the 'Use Collection Data As' attribute.
      See Also:
        `SliderCollectionValuesUsageTypes`, `getUseCollectionDataAs()`

    - #### getStaticLowerBound

          java.lang.Float getStaticLowerBound()

      Returns the value of the 'Static Lower Bound' attribute.

      If the meaning of the 'Static Lower Bound' attribute isn't clear, there really should be more of a description here...

      Nel caso di range staticamente definito a tempo di modellazione il valore di questa property viene utilizzato come estremo inferiore del range di valori selezionabili

      Returns:
        the value of the 'Static Lower Bound' attribute.
      See Also:
        `setStaticLowerBound(Float)`, `GuigenPackage.getSlider_StaticLowerBound()`

    - #### setStaticLowerBound

          void setStaticLowerBound(java.lang.Float value)

      Sets the value of the '`Static Lower Bound`' attribute.
      Parameters:
        `value` - the new value of the 'Static Lower Bound' attribute.
      See Also:
        `getStaticLowerBound()`

    - #### getStaticUpperBound

          java.lang.Float getStaticUpperBound()

      Returns the value of the 'Static Upper Bound' attribute.

      If the meaning of the 'Static Upper Bound' attribute isn't clear, there really should be more of a description here...

      Nel caso di range staticamente definito a tempo di modellazione il valore di questa property viene utilizzato come estremo superiore del range di valori selezionabili

      Returns:
        the value of the 'Static Upper Bound' attribute.
      See Also:
        `setStaticUpperBound(Float)`, `GuigenPackage.getSlider_StaticUpperBound()`

    - #### setStaticUpperBound

          void setStaticUpperBound(java.lang.Float value)

      Sets the value of the '`Static Upper Bound`' attribute.
      Parameters:
        `value` - the new value of the 'Static Upper Bound' attribute.
      See Also:
        `getStaticUpperBound()`

    - #### getStaticStep

          java.lang.Float getStaticStep()

      Returns the value of the 'Static Step' attribute. The default value is `"1"`.

      If the meaning of the 'Static Step' attribute isn't clear, there really should be more of a description here...

      se configurato definisce di quanto aumenta/diminuisce il valore selezionato a fronte di uno spostamento unitario del selettore

      Returns:
        the value of the 'Static Step' attribute.
      See Also:
        `setStaticStep(Float)`, `GuigenPackage.getSlider_StaticStep()`

    - #### setStaticStep

          void setStaticStep(java.lang.Float value)

      Sets the value of the '`Static Step`' attribute.
      Parameters:
        `value` - the new value of the 'Static Step' attribute.
      See Also:
        `getStaticStep()`