예제 #1
0
        void UpdateCurrentLineMarker(bool moveCaret)
        {
            editor.Document.RemoveMarker(currentDebugLineMarker);
            StackFrame sf = DebuggingService.CurrentFrame;
            int        line;

            if (addressLines.TryGetValue(GetAddrId(sf.Address, sf.AddressSpace), out line))
            {
                editor.Document.AddMarker(line, currentDebugLineMarker);
                if (moveCaret)
                {
                    editor.Caret.Line = line;
                    GLib.Timeout.Add(100, delegate {
                        editor.CenterToCaret();
                        return(false);
                    });
                }
                editor.QueueDraw();
            }
        }