int GetInsertIndex(MetadataAndOrder<IAdornmentLayersMetadata> info) { for (int i = 0; i < adornmentLayers.Count; i++) { if (info.Order < adornmentLayers[i].Info.Order) return i; } return adornmentLayers.Count; }
AdornmentLayer Create(MetadataAndOrder<IAdornmentLayersMetadata> info) { var layer = new AdornmentLayer(wpfTextView, layerKind, info); int index = GetInsertIndex(info); adornmentLayers.Insert(index, layer); Children.Insert(index, layer); return layer; }
HexAdornmentLayerImpl Create(MetadataAndOrder<IAdornmentLayersMetadata> info) { var layer = new HexAdornmentLayerImpl(wpfHexView, layerKind, info); int index = GetInsertIndex(info); adornmentLayers.Insert(index, layer); Children.Insert(index, layer.VisualElement); return layer; }
public AdornmentLayer(IWpfTextView textView, LayerKind layerKind, MetadataAndOrder<IAdornmentLayersMetadata> info) { if (textView == null) throw new ArgumentNullException(nameof(textView)); TextView = textView; this.layerKind = layerKind; Info = info; adornmentLayerElements = new List<AdornmentLayerElement>(); }
public HexAdornmentLayerImpl(WpfHexView hexView, HexLayerKind layerKind, MetadataAndOrder<IAdornmentLayersMetadata> info) { if (hexView == null) throw new ArgumentNullException(nameof(hexView)); canvas = new Canvas(); HexView = hexView; this.layerKind = layerKind; Info = info; adornmentLayerElements = new List<HexAdornmentLayerElementImpl>(); }
public IAdornmentLayer GetAdornmentLayer(MetadataAndOrder<IAdornmentLayersMetadata> info) { var layer = adornmentLayers.FirstOrDefault(a => a.Info.Metadata == info.Metadata); if (layer == null) layer = Create(info); return layer; }