Skip to content

Commit e1841c8

Browse files
committed
Add preliminary Flags dock to interface
1 parent 2076a7a commit e1841c8

5 files changed

Lines changed: 72 additions & 10 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<UserControl xmlns="https://github.com/avaloniaui"
2+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
3+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
4+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5+
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
6+
x:Class="ZXBasicStudio.DebuggingTools.Flags.Controls.ZXFlagsView">
7+
<Grid ColumnDefinitions="*,*" RowDefinitions="*,*">
8+
<Border BorderThickness="0,0,1,0" BorderBrush="#000" Background="#303030">
9+
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">Total</TextBlock>
10+
</Border>
11+
<Border Grid.Column="1" BorderThickness="1,0,0,0" BorderBrush="#000" Background="#303030">
12+
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center">Step</TextBlock>
13+
</Border>
14+
<Border Grid.Row="1" Background="#606060" BorderThickness="0,0,1,0" BorderBrush="#000">
15+
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Row="2" Name="flag1">--</TextBlock>
16+
</Border>
17+
<Border Grid.Row="1" Grid.Column="1" Background="#606060" BorderThickness="1,0,0,0" BorderBrush="#000">
18+
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Row="2" Grid.Column="1" Name="flag2">--</TextBlock>
19+
</Border>
20+
</Grid>
21+
</UserControl>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Avalonia.Controls;
2+
using Avalonia.Markup.Xaml;
3+
4+
namespace ZXBasicStudio.DebuggingTools.Flags.Controls
5+
{
6+
public partial class ZXFlagsView : UserControl
7+
{
8+
9+
public ZXFlagsView()
10+
{
11+
InitializeComponent();
12+
}
13+
14+
public void Update()
15+
{
16+
flag1.Text = "HH";
17+
flag2.Text = "HH";
18+
}
19+
20+
public void Clear()
21+
{
22+
flag1.Text = "**";
23+
flag2.Text = "**";
24+
}
25+
}
26+
}

ZXBStudio/MainWindow.axaml

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
xmlns:zxdtr="using:ZXBasicStudio.DebuggingTools.Registers.Controls"
1010
xmlns:zxdtm="using:ZXBasicStudio.DebuggingTools.Memory.Controls"
1111
xmlns:zxdtt="using:ZXBasicStudio.DebuggingTools.TStates.Controls"
12+
xmlns:zxdfl="using:ZXBasicStudio.DebuggingTools.Flags.Controls"
1213
xmlns:wnd="using:ZXBasicStudio.Classes"
1314
xmlns:svg="using:Avalonia.Svg.Skia"
1415
mc:Ignorable="d" d:DesignWidth="1024" d:DesignHeight="600"
@@ -189,25 +190,37 @@
189190
<TabControl Grid.Column="2" Grid.Row="2" Name="tcEditors" ItemsSource="{Binding EditItems}" />
190191
<zxd:ZXCollapseButton CollapseDirection="Right" GridColumn="4" Grid.Column="3" Grid.Row="2"></zxd:ZXCollapseButton>
191192
<GridSplitter Classes="vertical" Grid.Column="3" Grid.Row="2" Grid.RowSpan="3" ResizeDirection="Columns"></GridSplitter>
192-
<zxd:ZXDockingContainer Grid.Column="4" Grid.Row="2" RowDefinitions="*,4,0.3*,4,*" Grid.RowSpan="3" Name="dockRight">
193-
<zxd:ZXDockingControl Title="Variables" Name="varsDock">
193+
194+
<zxd:ZXDockingContainer Grid.Column="4" Grid.Row="2" RowDefinitions="*,4,0.3*,4,.3*,4,*" Grid.RowSpan="4" Name="dockRight">
195+
196+
<zxd:ZXDockingControl Grid.Row="0" Title="Variables" Name="varsDock">
194197
<zxd:ZXDockingControl.DockedControl>
195198
<zxdtv:ZXVariablesView Name="varsView"></zxdtv:ZXVariablesView>
196199
</zxd:ZXDockingControl.DockedControl>
197200
</zxd:ZXDockingControl>
201+
198202
<GridSplitter Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></GridSplitter>
199-
<zxd:ZXDockingControl Title="T-States" Grid.Row="2" Name="tstatesDock">
203+
<zxd:ZXDockingControl Grid.Row="2" Title="T-States" Name="tstatesDock">
200204
<zxd:ZXDockingControl.DockedControl>
201205
<zxdtt:ZXTStatesView Name="statesView"></zxdtt:ZXTStatesView>
202206
</zxd:ZXDockingControl.DockedControl>
203207
</zxd:ZXDockingControl>
208+
204209
<GridSplitter Grid.Row="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></GridSplitter>
205-
<zxd:ZXDockingControl Title="Registers" Grid.Row="4" Name="regsDock">
210+
<zxd:ZXDockingControl Grid.Row="4" Title="Z80 Flags" Name="flagsDock">
211+
<zxd:ZXDockingControl.DockedControl>
212+
<zxdfl:ZXFlagsView Name="flagsView"></zxdfl:ZXFlagsView>
213+
</zxd:ZXDockingControl.DockedControl>
214+
</zxd:ZXDockingControl>
215+
216+
<GridSplitter Grid.Row="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></GridSplitter>
217+
<zxd:ZXDockingControl Grid.Row="6" Title="Registers" Name="regsDock">
206218
<zxd:ZXDockingControl.DockedControl>
207219
<zxdtr:ZXRegistersView Name="regView" AllowEdit="{Binding EmulatorInfo.CanStep}"></zxdtr:ZXRegistersView>
208220
</zxd:ZXDockingControl.DockedControl>
209221
</zxd:ZXDockingControl>
210222
</zxd:ZXDockingContainer>
223+
211224
<GridSplitter Classes="horizontal" Grid.Column="2" Grid.ColumnSpan="1" Grid.Row="3" ResizeDirection="Rows"></GridSplitter>
212225
<zxd:ZXTabDockingContainer Name="dockBottom" Grid.Column="2" Grid.ColumnSpan="1" Grid.Row="4" TabsPosition="Bottom">
213226
<zxd:ZXTabDockingContainer.DockedControls>

ZXBStudio/MainWindow.axaml.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1050,6 +1050,7 @@ private void StopEmulator(object? sender, Avalonia.Interactivity.RoutedEventArgs
10501050
UnblockEditors();
10511051
varsView.EndEdit();
10521052
statesView.Clear();
1053+
flagsView.Clear();
10531054
}
10541055
private async void PauseEmulator(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
10551056
{
@@ -1067,6 +1068,7 @@ private async void PauseEmulator(object? sender, Avalonia.Interactivity.RoutedEv
10671068
regView.Update();
10681069
varsView.BeginEdit();
10691070
statesView.Update(emu.TStates);
1071+
flagsView.Update();
10701072
}
10711073
}
10721074
private void ResumeEmulator(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
@@ -1179,6 +1181,7 @@ private async void AssemblerStepEmulator(object? sender, Avalonia.Interactivity.
11791181
regView.Update();
11801182
varsView.BeginEdit();
11811183
statesView.Update(emu.TStates);
1184+
flagsView.Update();
11821185
}
11831186
private void Emu_ProgramReady(object? sender, EventArgs e)
11841187
{
@@ -1235,6 +1238,7 @@ private void Emu_Breakpoint(object? sender, BreakpointEventArgs e)
12351238
varsView.BeginEdit();
12361239
regView.Update();
12371240
statesView.Update(emu.TStates);
1241+
flagsView.Update();
12381242
outLog.Writer.WriteLine($"Breakpoint: file {Path.GetFileName(line.File)}, line {line.LineNumber + 1}, address {line.Address}");
12391243

12401244
});
@@ -2170,6 +2174,7 @@ void Cleanup()
21702174

21712175
varsView.EndEdit();
21722176
statesView.Clear();
2177+
flagsView.Clear();
21732178
currentBp = null;
21742179
emu.UpdateBreakpoints(null);
21752180
EmulatorInfo.IsRunning = false;

ZXBStudio/ZXBasicStudio.csproj

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@
1515
<AssemblyVersion>1.0.*</AssemblyVersion>
1616
<Deterministic>False</Deterministic>
1717
</PropertyGroup>
18-
<ItemGroup>
19-
<AvaloniaXaml Remove="LanguageDefinitions\**" />
20-
<Compile Remove="LanguageDefinitions\**" />
21-
<EmbeddedResource Remove="LanguageDefinitions\**" />
22-
<None Remove="LanguageDefinitions\**" />
23-
</ItemGroup>
2418
<ItemGroup>
2519
<AvaloniaXaml Remove="Controls\ZXLocalVariablesView.axaml" />
2620
<AvaloniaXaml Remove="Controls\ZXVariableView.axaml" />
@@ -573,6 +567,9 @@
573567
<Compile Update="Emulator\Controls\ZXKeyView.axaml.cs">
574568
<DependentUpon>ZXKeyView.axaml</DependentUpon>
575569
</Compile>
570+
<Compile Update="DebuggingTools\Flags\Controls\ZXFlagsView.axaml.cs">
571+
<DependentUpon>ZXFlagsView.axaml</DependentUpon>
572+
</Compile>
576573
<Compile Update="DebuggingTools\Registers\Controls\ZXRegisterView.axaml.cs">
577574
<DependentUpon>ZXRegisterView.axaml</DependentUpon>
578575
</Compile>

0 commit comments

Comments
 (0)