From 131b3f0152ac069731af3ad69633da2e3c0b1815 Mon Sep 17 00:00:00 2001 From: Luigi Thirty Date: Sun, 6 Dec 2015 12:51:52 -0500 Subject: [PATCH] more settings window hookups --- .../6502EmulatorFrontend/MainWindow.xaml.cs | 17 ++++--- .../6502EmulatorFrontend/MainWindowEvents.cs | 5 +- .../6502EmulatorFrontend/SettingsWindow.xaml | 15 ++++-- .../SettingsWindow.xaml.cs | 51 ++++++++++++++++++- .../SettingsWindowViewModel.cs | 14 +++++ 5 files changed, 87 insertions(+), 15 deletions(-) diff --git a/6502EmulatorFrontend/6502EmulatorFrontend/MainWindow.xaml.cs b/6502EmulatorFrontend/6502EmulatorFrontend/MainWindow.xaml.cs index f3a5dbd..7013ca5 100644 --- a/6502EmulatorFrontend/6502EmulatorFrontend/MainWindow.xaml.cs +++ b/6502EmulatorFrontend/6502EmulatorFrontend/MainWindow.xaml.cs @@ -28,10 +28,11 @@ namespace _6502EmulatorFrontend { Thread M6502WorkerThread; MainWindowViewModel vm = new MainWindowViewModel(); - byte[] videoRom = File.ReadAllBytes("C:/apple/apple1.vid"); string monitorRomPath; string basicRomPath; + string characterRomPath; SettingsWindow settingsWindow; + byte[] videoRom; public MainWindow() { @@ -58,13 +59,9 @@ namespace _6502EmulatorFrontend vm.Processor.ExecutionStopped += new M6502.ExecutionStoppedEventHandler(onExecutionStopped); TextCompositionManager.AddTextInputHandler(this, new TextCompositionEventHandler(OnTextComposition)); - //Set up settings window - settingsWindow = new SettingsWindow(); - settingsWindow.RomPathsSaved += new SettingsWindow.RomPathsSavedEventHandler(OnRomPathsSaved); - settingsWindow.swvm.BasicRomPath = @"C:\apple\apple1basic.bin"; - settingsWindow.swvm.MonitorRomPath = @"C:\apple\apple1.rom"; basicRomPath = @"C:\apple\apple1basic.bin"; monitorRomPath = @"C:\apple\apple1.rom"; + characterRomPath = @"C:\apple\apple1.vid"; //Set up window InitializeComponent(); @@ -76,6 +73,7 @@ namespace _6502EmulatorFrontend { Interop.loadBinary(monitorRomPath, 0xFF00); Interop.loadBinary(basicRomPath, 0xE000); + videoRom = File.ReadAllBytes(characterRomPath); decodeGraphics(); Interop.resetProcessor(); @@ -195,7 +193,12 @@ namespace _6502EmulatorFrontend private void MenuItem_Click(object sender, RoutedEventArgs e) { - settingsWindow.ShowDialog(); + settingsWindow = new SettingsWindow(); + settingsWindow.RomPathsSaved += new SettingsWindow.RomPathsSavedEventHandler(OnRomPathsSaved); + settingsWindow.swvm.BasicRomPath = basicRomPath; + settingsWindow.swvm.MonitorRomPath = monitorRomPath; + settingsWindow.swvm.CharacterRomPath = characterRomPath; + settingsWindow.Show(); } } } \ No newline at end of file diff --git a/6502EmulatorFrontend/6502EmulatorFrontend/MainWindowEvents.cs b/6502EmulatorFrontend/6502EmulatorFrontend/MainWindowEvents.cs index a9f50d2..4ffdece 100644 --- a/6502EmulatorFrontend/6502EmulatorFrontend/MainWindowEvents.cs +++ b/6502EmulatorFrontend/6502EmulatorFrontend/MainWindowEvents.cs @@ -16,11 +16,13 @@ namespace _6502EmulatorFrontend { public readonly string MonitorPath; public readonly string BasicPath; + public readonly string CharacterPath; - public RomPathEventArgs(string monitorPath, string basicPath) + public RomPathEventArgs(string monitorPath, string basicPath, string characterPath) { MonitorPath = monitorPath; BasicPath = basicPath; + CharacterPath = characterPath; } } @@ -28,6 +30,7 @@ namespace _6502EmulatorFrontend { monitorRomPath = e.MonitorPath; basicRomPath = e.BasicPath; + characterRomPath = e.CharacterPath; } private void OnTextComposition(object sender, TextCompositionEventArgs e) diff --git a/6502EmulatorFrontend/6502EmulatorFrontend/SettingsWindow.xaml b/6502EmulatorFrontend/6502EmulatorFrontend/SettingsWindow.xaml index 276018f..6ff623b 100644 --- a/6502EmulatorFrontend/6502EmulatorFrontend/SettingsWindow.xaml +++ b/6502EmulatorFrontend/6502EmulatorFrontend/SettingsWindow.xaml @@ -9,8 +9,10 @@ - - + + + + @@ -20,9 +22,12 @@