Exemplo n.º 1
0
 private void NoCommandAdd(ParameterModel toAdd, int index)
 {
     lock (ParameterModelsLock)
     {
         string error = null;
         ParameterModels.Insert(index, toAdd);
         RealLinkedParameter.Add(toAdd.RealParameter, ref error);
         toAdd.UpdateValueFromReal();
         toAdd.SignalIsLinkedChanged();
     }
 }
Exemplo n.º 2
0
 private int NoCommandRemove(ParameterModel toRemove)
 {
     lock (ParameterModelsLock)
     {
         var    index = ParameterModels.IndexOf(toRemove);
         string error = null;
         ParameterModels.RemoveAt(index);
         RealLinkedParameter.Remove(toRemove.RealParameter, ref error);
         toRemove.UpdateValueFromReal();
         toRemove.SignalIsLinkedChanged();
         return(index);
     }
 }
Exemplo n.º 3
0
 private bool NoCommandAdd(ParameterModel toAdd, int index, ref string error)
 {
     lock (ParameterModelsLock)
     {
         ParameterModels.Insert(index, toAdd);
         // Try to add the linked parameter
         if (!RealLinkedParameter.Add(toAdd.RealParameter, ref error))
         {
             //if the add failed return that fact
             ParameterModels.RemoveAt(index);
             return(false);
         }
         toAdd.UpdateValueFromReal();
         toAdd.SignalIsLinkedChanged();
         return(true);
     }
 }
Exemplo n.º 4
0
 /// <summary>
 /// Internally set the value of the linked parameter without using a command in the session.
 /// </summary>
 /// <param name="newValue">The value to set it to</param>
 /// <param name="error">An error message in case of failure</param>
 /// <returns>True if successful, false if there is an error.</returns>
 internal bool SetWithoutCommand(string newValue, ref string error)
 {
     lock (ParameterModelsLock)
     {
         foreach (var parameter in ParameterModels)
         {
             if (!ArbitraryParameterParser.Check(parameter.RealParameter.Type, newValue, ref error))
             {
                 return(false);
             }
         }
         if (!RealLinkedParameter.SetValue(newValue, ref error))
         {
             return(false);
         }
         foreach (var parameter in ParameterModels)
         {
             parameter.UpdateValueFromReal();
         }
     }
     return(true);
 }