Esempio n. 1
0
 void RefreshDistances()
 {   // wird aufgerufen, wenn sich die Anzahl geändert hat
     // alle Längen werden gleich vorbesetzt.
     if (sections.Count < number)
     {   // nur verlängern, nicht kürzen
         for (int i = sections.Count; i < number; ++i)
         {
             sections.Add(0.0);
         }
     }
     for (int i = 0; i < sections.Count; ++i)
     {
         sections[i] = 1.0 / (double)number;
     }
     // die Untereinträge mit den Längen werden erzeugt
     DoubleProperty[] doubleproperties = new DoubleProperty[number];
     for (int i = 0; i < number; ++i)
     {
         DoubleProperty doubleProperty = new DoubleProperty("Constr.SplitCurve.Distance", Frame);
         doubleProperty.LabelText = StringTable.GetFormattedString("Constr.SplitCurve.Distance" + ".Label", i + 1);
         doubleProperty.UserData.Add("Index", i);
         doubleProperty.GetDoubleEvent += new DoubleProperty.GetDoubleDelegate(OnGetDistance);
         doubleProperty.SetDoubleEvent += new DoubleProperty.SetDoubleDelegate(OnSetDistance);
         doubleproperties[i]            = doubleProperty;
     }
     distances.SetShowProperties(doubleproperties);
     for (int i = 0; i < number; ++i)
     {
         DoubleProperty doubleProperty = doubleproperties[i] as DoubleProperty;
         doubleProperty.Refresh();
     }
 }