From 7137f9df0436c041a2698bf73f9e22d47caa84c1 Mon Sep 17 00:00:00 2001
From: "francois.grand" <francois.grand@irstea.fr>
Date: Mon, 26 Mar 2018 12:18:53 +0200
Subject: [PATCH]  #44 classe BaseParam : remplacement du membre _value
 (DefinedNumber) par _paramValues (ParamValues)

---
 src/param/param-base.ts | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/param/param-base.ts b/src/param/param-base.ts
index 2a5415e9..b5ee3c26 100644
--- a/src/param/param-base.ts
+++ b/src/param/param-base.ts
@@ -4,6 +4,7 @@ import { Message, MessageCode } from "../util/message";
 
 import { JalhydObject } from "../jalhyd_object"
 import { ParamDomain, ParamDomainValue } from "./param-domain";
+import { ParamValues, ParamValueMode } from "./param-values";
 
 /**
  * paramètre avec symbole et domaine de définition
@@ -21,14 +22,16 @@ export class BaseParam extends JalhydObject {
     private _domain: ParamDomain;
 
     /**
-     * valeur numérique (éventuellement non définie)
+     * valeur(s) prise(s)
      */
-    private _value: DefinedNumber;
+    private _paramValues: ParamValues;
 
     constructor(symb: string, d: ParamDomain | ParamDomainValue, val?: number) {
         super();
         this._symbol = symb;
-        this._value = new DefinedNumber(val);
+
+        this._paramValues = new ParamValues();
+        this._paramValues.singleValue = val;
 
         if (d instanceof ParamDomain) {
             this._domain = d;
@@ -51,33 +54,37 @@ export class BaseParam extends JalhydObject {
         return this._domain.interval;
     }
 
+    public get paramValues(): ParamValues {
+        return this._paramValues;
+    }
+
     /**
      * gestion de la valeur
      */
 
     public get isDefined(): boolean {
-        return this._value.isDefined;
+        return this._paramValues.isDefined;
     }
 
     public getValue(): number {
-        if (!this._value.isDefined) {
+        if (!this._paramValues.isDefined) {
             const e = new Message(MessageCode.ERROR_PARAMDEF_VALUE_UNDEFINED);
             e.extraVar.symbol = this.symbol;
             throw e;
         }
 
-        return this._value.value;
+        return this._paramValues.singleValue;
     }
 
     public setValue(val: number) {
         this.checkValue(val);
-        this._value.value = val;
+        this._paramValues.singleValue = val;
 
         //        console.log("setting param " + this._symbol + " id=" + this._id + " to " + val); // A VIRER
     }
 
     public get uncheckedValue(): number {
-        return this._value.uncheckedValue;
+        return this._paramValues.uncheckedValue;
     }
 
     public checkValue(v: number) {
@@ -133,4 +140,8 @@ export class BaseParam extends JalhydObject {
                 throw e;
         }
     }
+
+    public get valueMode() {
+        return this._paramValues.valueMode;
+    }
 }
-- 
GitLab