示例#1
0
 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 { }
 }
示例#2
0
        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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
 public static void AddQuickInfo(ITextView view, QuickInfo info) => view.Properties[typeof(QuickInfo)] = info;