public ILabelModelParameter CreateParameterFromTarget(int segmentIndex, double segmentRatio, bool rightOfEdge) { RotatedSliderEdgeLabelModel model = rightOfEdge ? rightModel : leftModel; return (new RotatedSideSliderParameter(model.CreateParameterFromTarget(segmentIndex, segmentRatio), this)); }
/// <summary> /// Initializes a new instance of the <see cref="RotatedSideSliderEdgeLabelModel"/> class. /// </summary> private RotatedSideSliderEdgeLabelModel(double distance, double angle, bool distanceRelativeToEdge, bool autoRotationEnabled) { double dist = distance; if (distance == 0.0) { dist += Double.Epsilon; } leftModel = new RotatedSliderEdgeLabelModel(-dist, angle, distanceRelativeToEdge, autoRotationEnabled); rightModel = new RotatedSliderEdgeLabelModel(dist, angle, distanceRelativeToEdge, autoRotationEnabled); }
public override object ProvideValue(IServiceProvider serviceProvider) { RotatedSliderEdgeLabelModel exModel = Model as RotatedSliderEdgeLabelModel ?? new RotatedSliderEdgeLabelModel(); bool fromSource = (Location & SliderParameterLocation.FromSource) == SliderParameterLocation.FromSource; if (fromSource) { return(exModel.CreateParameterFromSource(SegmentIndex, SegmentRatio)); } else { return(exModel.CreateParameterFromTarget(SegmentIndex, SegmentRatio)); } }