Skip to content

Commit fde2706

Browse files
committed
Change to allow edit emulated/host device windows to not be "modal". This allows for easier editing.
1 parent bdfabcf commit fde2706

1 file changed

Lines changed: 36 additions & 8 deletions

File tree

MainWindow.xaml.cs

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ private void SetInputPack(Data.DynamicInputPack pack)
3737

3838
private string _saved_document = null;
3939

40+
private Window _edit_emulated_devices_window;
41+
private Window _edit_host_devices_window;
42+
4043
private Data.DynamicInputPack InputPack
4144
{
4245
get
@@ -62,32 +65,40 @@ private void QuitProgram_Click(object sender, RoutedEventArgs e)
6265

6366
private void EditHostDevices_Click(object sender, RoutedEventArgs e)
6467
{
65-
var user_control = new Controls.EditHostDevices { DataContext = InputPack };
66-
Window window = new Window
68+
if (_edit_host_devices_window != null)
69+
{
70+
_edit_host_devices_window.Close();
71+
}
72+
73+
_edit_host_devices_window = new Window
6774
{
6875
Title = "Editing Host Devices",
69-
Content = user_control,
7076
ResizeMode = ResizeMode.NoResize,
7177
SizeToContent = SizeToContent.WidthAndHeight,
7278
Owner = Application.Current.MainWindow
7379
};
7480

75-
window.ShowDialog();
81+
UpdateEditWindows();
82+
_edit_host_devices_window.Show();
7683
}
7784

7885
private void EditEmulatedDevices_Click(object sender, RoutedEventArgs e)
7986
{
80-
var user_control = new Controls.EditEmulatedDevices { DataContext = InputPack };
81-
Window window = new Window
87+
if (_edit_emulated_devices_window != null)
88+
{
89+
_edit_emulated_devices_window.Close();
90+
}
91+
92+
_edit_emulated_devices_window = new Window
8293
{
8394
Title = "Editing Emulated Devices",
84-
Content = user_control,
8595
ResizeMode = ResizeMode.NoResize,
8696
SizeToContent = SizeToContent.WidthAndHeight,
8797
Owner = Application.Current.MainWindow
8898
};
8999

90-
window.ShowDialog();
100+
UpdateEditWindows();
101+
_edit_emulated_devices_window.Show();
91102
}
92103

93104
public static RoutedUICommand SaveAsCmd = new RoutedUICommand("Save as...", "SaveAsCmd", typeof(MainWindow));
@@ -124,6 +135,7 @@ private void OpenData_Click(object sender, RoutedEventArgs e)
124135
var settings = new JsonSerializerSettings() { ObjectCreationHandling = ObjectCreationHandling.Replace };
125136
SetInputPack(JsonConvert.DeserializeObject<Data.DynamicInputPack>(input, settings));
126137
_saved_document = dialog.FileName;
138+
UpdateEditWindows();
127139
}
128140
}
129141

@@ -137,6 +149,7 @@ private void OpenData_CanExecute(object sender, CanExecuteRoutedEventArgs e)
137149
private void NewData_Click(object sender, RoutedEventArgs e)
138150
{
139151
SetInputPack(new Data.DynamicInputPack());
152+
UpdateEditWindows();
140153
_saved_document = null;
141154
}
142155

@@ -165,5 +178,20 @@ private void SaveDataAs_CanExecute(object sender, CanExecuteRoutedEventArgs e)
165178
e.CanExecute = true;
166179
}
167180
#endregion
181+
182+
private void UpdateEditWindows()
183+
{
184+
if (_edit_emulated_devices_window != null)
185+
{
186+
var user_control = new Controls.EditEmulatedDevices { DataContext = InputPack };
187+
_edit_emulated_devices_window.Content = user_control;
188+
}
189+
190+
if (_edit_host_devices_window != null)
191+
{
192+
var user_control = new Controls.EditHostDevices { DataContext = InputPack };
193+
_edit_host_devices_window.Content = user_control;
194+
}
195+
}
168196
}
169197
}

0 commit comments

Comments
 (0)