private void InitSubEntries() { subEntries = null; // damit nicht noch die alten verwendet werden if (polesProperty != null) { polesProperty.ModifyWithMouseEvent -= new CADability.UserInterface.MultiGeoPointProperty.ModifyWithMouseIndexDelegate(OnModifyPolesWithMouse); polesProperty.GeoPointSelectionChangedEvent -= new CADability.UserInterface.GeoPointProperty.SelectionChangedDelegate(OnPointsSelectionChanged); polesProperty.PropertyEntryChangedStateEvent -= new PropertyEntryChangedStateDelegate(OnPolesPropertyStateChanged); } polesProperty = new MultiGeoPointProperty(new PolesIndexedGeoPoint(this), "BSpline.Poles", this.Frame); polesProperty.ModifyWithMouseEvent += new CADability.UserInterface.MultiGeoPointProperty.ModifyWithMouseIndexDelegate(OnModifyPolesWithMouse); polesProperty.GeoPointSelectionChangedEvent += new CADability.UserInterface.GeoPointProperty.SelectionChangedDelegate(OnPointsSelectionChanged); polesProperty.PropertyEntryChangedStateEvent += new PropertyEntryChangedStateDelegate(OnPolesPropertyStateChanged); if (bSpline.ThroughPoints3dExist) { if (throughPointsProperty != null) { // es nach einem Refresh wird er neu gemacht, der alte muss die Events hergeben throughPointsProperty.ModifyWithMouseEvent -= new CADability.UserInterface.MultiGeoPointProperty.ModifyWithMouseIndexDelegate(OnModifyThroughPointsWithMouse); throughPointsProperty.GeoPointSelectionChangedEvent -= new CADability.UserInterface.GeoPointProperty.SelectionChangedDelegate(OnPointsSelectionChanged); throughPointsProperty.PropertyEntryChangedStateEvent -= new PropertyEntryChangedStateDelegate(OnThroughPointsPropertyStateChanged); } throughPointsProperty = new MultiGeoPointProperty(new ThroughPointsIndexedGeoPoint(this), "BSpline.ThroughPoints", this.Frame); throughPointsProperty.ModifyWithMouseEvent += new CADability.UserInterface.MultiGeoPointProperty.ModifyWithMouseIndexDelegate(OnModifyThroughPointsWithMouse); throughPointsProperty.GeoPointSelectionChangedEvent += new CADability.UserInterface.GeoPointProperty.SelectionChangedDelegate(OnPointsSelectionChanged); throughPointsProperty.PropertyEntryChangedStateEvent += new PropertyEntryChangedStateDelegate(OnThroughPointsPropertyStateChanged); throughPointsProperty.GetInsertionPointEvent += new MultiGeoPointProperty.GetInsertionPointDelegate(OnThroughPointsGetInsertionPoint); } else { throughPointsProperty = null; } if (closedProperty != null) { closedProperty.GetBooleanEvent -= new CADability.UserInterface.BooleanProperty.GetBooleanDelegate(OnGetClosed); closedProperty.SetBooleanEvent -= new CADability.UserInterface.BooleanProperty.SetBooleanDelegate(OnSetClosed); } closedProperty = new BooleanProperty("Constr.BSpline.Mode", "Constr.BSpline.Mode.Values"); closedProperty.GetBooleanEvent += new CADability.UserInterface.BooleanProperty.GetBooleanDelegate(OnGetClosed); closedProperty.SetBooleanEvent += new CADability.UserInterface.BooleanProperty.SetBooleanDelegate(OnSetClosed); closedProperty.BooleanValue = bSpline.IsClosed; attributeProperties = bSpline.GetAttributeProperties(Frame); }