1 using Mesen.GUI.Config;
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7 
8 namespace Mesen.GUI.Debugger.Controls
9 {
SetNextStatementEventHandler(AddressEventArgs args)10 	public delegate void SetNextStatementEventHandler(AddressEventArgs args);
ShowInSplitViewEventHandler(ICodeViewer sender, GoToDestination dest)11 	public delegate void ShowInSplitViewEventHandler(ICodeViewer sender, GoToDestination dest);
SwitchToSourceEventHandler(ICodeViewer sender)12 	public delegate void SwitchToSourceEventHandler(ICodeViewer sender);
13 
14 	public interface ICodeViewer
15 	{
ScrollToLineNumber(int lineNumber, bool scrollToTop = false)16 		void ScrollToLineNumber(int lineNumber, bool scrollToTop = false);
ScrollToAddress(AddressTypeInfo addressInfo, bool scrollToTop = false)17 		void ScrollToAddress(AddressTypeInfo addressInfo, bool scrollToTop = false);
SetConfig(DebugViewInfo config, bool disableActions = false)18 		void SetConfig(DebugViewInfo config, bool disableActions = false);
EditSubroutine()19 		void EditSubroutine();
EditSelectedCode()20 		void EditSelectedCode();
EditSourceFile()21 		void EditSourceFile();
22 
SetMessage(TextboxMessageInfo message)23 		void SetMessage(TextboxMessageInfo message);
24 
25 		CodeViewerActions CodeViewerActions { get; }
26 		ctrlScrollableTextbox CodeViewer { get; }
27 		Ld65DbgImporter SymbolProvider { get; set; }
28 
29 		UInt32? ActiveAddress { get; }
30 
FindAllOccurrences(Ld65DbgImporter.SymbolInfo symbol)31 		void FindAllOccurrences(Ld65DbgImporter.SymbolInfo symbol);
FindAllOccurrences(string text, bool matchWholeWord, bool matchCase)32 		void FindAllOccurrences(string text, bool matchWholeWord, bool matchCase);
33 
SelectActiveAddress(UInt32 activeAddress)34 		void SelectActiveAddress(UInt32 activeAddress);
ClearActiveAddress()35 		void ClearActiveAddress();
GetAddressInfo(int lineIndex)36 		AddressTypeInfo GetAddressInfo(int lineIndex);
37 	}
38 
39 	public class AddressEventArgs : EventArgs
40 	{
41 		public UInt32 Address { get; set; }
42 	}
43 }
44