protected void OnShowValueQuery(IMapRangeItem e) { if (ShowValueQuery != null) { ShowValueQuery(e); } }
private void Instance_ShowValueQuery(IMapRangeItem obj) { if (colorizer.Data != null && obj != null) { Goto(colorizer.Data.Items.FirstOrDefault(it => it == obj)); } }
void Goto(IMapRangeItem item) { if (item == null) { return; } var iv = item as IMapValueItem; if (iv != null) { code.CaretOffset = iv.EditStart; code.Select(iv.EditStart, iv.EditEnd - iv.EditStart); code.ScrollToLine(code.Document.GetLineByOffset(iv.EditStart).LineNumber); } }
/// <summary> /// Просит отобразить строку подписчиков /// </summary> /// <param name="value">Строка для отображения</param> public void ShowValue(IMapRangeItem value) => OnShowValueQuery(value);
static Action <VisualLineElement> ValueTypeToAction(IMapRangeItem item) { if (item is IMapMethodItem) { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush(Brushes.BlueViolet); } } ; if (item is IMapUnitEntry) { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush(Brushes.OrangeRed); } } ; if (item is IMapUnitLink) { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush(Brushes.Orange); } } ; if (item is IMapValueItem) { if (item is IMapBackgroundColorRange) { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush(Brushes.Blue); var itv = item as IMapValueItem; if (itv != null && string.IsNullOrWhiteSpace((MappedData.GetValueRecord(itv.Value) as IMapValueRecord).Translation)) { element.TextRunProperties.SetTextDecorations(decorStrikethrough); } element.TextRunProperties.SetBackgroundBrush((item as IMapBackgroundColorRange).BackgroundColor); } } } ; else { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush(Brushes.Blue); var itv = item as IMapValueItem; if (itv != null && string.IsNullOrWhiteSpace((MappedData.GetValueRecord(itv.Value) as IMapValueRecord).Translation)) { element.TextRunProperties.SetTextDecorations(decorStrikethrough); } } }; else if (item is IMapForeColorRange) { if (item is IMapBackgroundColorRange) { return (VisualLineElement element) => { element.TextRunProperties.SetForegroundBrush((item as IMapForeColorRange).ForegroundColor); element.BackgroundBrush = (item as IMapBackgroundColorRange).BackgroundColor; } } } ; else { return((VisualLineElement element) => element.TextRunProperties.SetForegroundBrush((item as IMapForeColorRange).ForegroundColor)); }