private void FormServer_FormClosing(object sender, FormClosingEventArgs e) { try { if (server.Active && MetroFramework.MetroMessageBox.Show(this, "\n\nServer attivo. Uscire ?", "Attenzione", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { ShutdownServer(); } QuickInfo.Visible = false; QuickInfo.Dispose(); } catch { } }
public async System.Threading.Tasks.Task <object> TextDocumentHoverName(JToken arg) { if (trace) { System.Console.Error.WriteLine("<-- TextDocumentHover"); System.Console.Error.WriteLine(arg.ToString()); } TextDocumentPositionParams request = arg.ToObject <TextDocumentPositionParams>(); Document document = CheckDoc(request.TextDocument.Uri); Position position = request.Position; int line = position.Line; int character = position.Character; int index = LanguageServer.Module.GetIndex(line, character, document); if (trace) { System.Console.Error.WriteLine("position index = " + index); (int, int)back = LanguageServer.Module.GetLineColumn(index, document); System.Console.Error.WriteLine("back to l,c = " + back.Item1 + "," + back.Item2); } QuickInfo quick_info = LanguageServer.Module.GetQuickInfo(index, document); if (quick_info == null) { return(null); } Hover hover = new Hover { Contents = new MarkupContent { Kind = MarkupKind.PlainText, Value = quick_info.Display } }; int index_start = quick_info.Range.Start.Value; int index_end = quick_info.Range.End.Value; (int, int)lcs = LanguageServer.Module.GetLineColumn(index_start, document); (int, int)lce = LanguageServer.Module.GetLineColumn(index_end, document); hover.Range = new Microsoft.VisualStudio.LanguageServer.Protocol.Range { Start = new Position(lcs.Item1, lcs.Item2), End = new Position(lce.Item1, lce.Item2) }; System.Console.Error.WriteLine("returning " + quick_info.Display.ToString()); return(hover); }
/// <summary> /// Fills a QuickInfo objects and skips all information that is not necessary. /// </summary> /// <returns></returns> public QuickInfo Get_quick_info() { var de = new DiDataElement(); var qi = new QuickInfo(); VrFormat = DiFile.VrExplicit; Endianess = DiFile.EndianLittle; // // media stored sop // de = scan_for(0x00020002); // if (de!=null) { // qi._media_stored_sop_class_uid = de.get_value_as_string(); // } else { // return null; // } // transfer syntax de = Scan_for(0x00020010); if (de != null) { var tsUid = de.GetValueAsString(); VrFormat = DiDictonary.get_ts_uid_vr_format(tsUid); Endianess = DiDictonary.get_ts_uid_endianess(tsUid); if (VrFormat == DiFile.EndianUnknown) { Debug.Log("DiFileInputStream::get_quick_info Warning: Unknown Transfer Syntax UID \"" + tsUid + "\". Endianess & VR format will be guessed."); } } // image type de = Scan_for(0x00080008); if (de != null) { var imageType = de.GetValueAsString(); var split = imageType.Split(new [] { "\\\\" }, StringSplitOptions.None); if (split.Length > 2 && split[2].Equals("SCOUT")) { qi.Scout = true; } else { qi.Scout = false; } } // series uid de = Scan_for(0x0020000e); if (de != null) { qi.SeriesUid = de.GetValueAsString(); } else { return(null); } // image number de = Scan_for(0x00200013); qi.ImageNumber = de?.GetInt() ?? 0; return(qi); }
public static void AddQuickInfo(ITextView view, QuickInfo info) => view.Properties[typeof(QuickInfo)] = info;