aboutsummaryrefslogtreecommitdiffstatsci
path: root/Samples/DebugLogAnalyzer/ui
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-04-02 07:54:52 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-04-02 07:54:52 +0200
commit8c0f9d6b02eac97b7a45780f82f5683771745cf0 (patch)
tree7c638b9ace3bf6b86669eebaa8b4c9638f941f17 /Samples/DebugLogAnalyzer/ui
parent89a58fbf483a4b08309c640dfd07ddf8a58e8bd1 (diff)
DebugLog, event bindings resolutions, enumSelector bitfields, wip
Diffstat (limited to 'Samples/DebugLogAnalyzer/ui')
-rw-r--r--Samples/DebugLogAnalyzer/ui/Button.template12
-rw-r--r--Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp10
-rw-r--r--Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow12
-rw-r--r--Samples/DebugLogAnalyzer/ui/DebugLog.crow127
-rw-r--r--Samples/DebugLogAnalyzer/ui/EnumSelector.template14
-rw-r--r--Samples/DebugLogAnalyzer/ui/dbg.style15
-rw-r--r--Samples/DebugLogAnalyzer/ui/dbglog.crow8
-rw-r--r--Samples/DebugLogAnalyzer/ui/focused.crow17
-rw-r--r--Samples/DebugLogAnalyzer/ui/main.crow161
9 files changed, 364 insertions, 12 deletions
diff --git a/Samples/DebugLogAnalyzer/ui/Button.template b/Samples/DebugLogAnalyzer/ui/Button.template
new file mode 100644
index 00000000..c7e2fa06
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/Button.template
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<Border Background="{./Background}" MinimumSize="50,20" Name="Content"
+ Foreground="Transparent" CornerRadius="{../CornerRadius}" BorderWidth="1"
+ MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black};{caption.Foreground=White}"
+ MouseLeave="{Foreground=Transparent};{caption.Foreground=LightGrey}"
+ MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
+ MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}">
+ <HorizontalStack Margin="2">
+ <Image Style="Icon" Path="{./Icon}"/>
+ <Label Font="{./Font}" Name="caption" Margin="3" Foreground="LightGrey" Text="{./Caption}"/>
+ </HorizontalStack>
+</Border> \ No newline at end of file
diff --git a/Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp b/Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp
index 2f6fbfbf..96de2dc6 100644
--- a/Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp
+++ b/Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ItemTemplate Data="Events">
- <ListItem IsSelected="{²IsSelected}" Height="Fit"
+ <ListItem Height="Fit"
Selected="{/exp.Background=${ControlHighlight}}"
Unselected="{/exp.Background=Transparent}">
- <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" IsExpanded="{²IsExpanded}">
+ <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" >
<Template>
<VerticalStack>
<Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand"
@@ -34,10 +34,10 @@
</ListItem>
</ItemTemplate>
<ItemTemplate Data="Events" DataType="DbgWidgetEvent">
- <ListItem IsSelected="{²IsSelected}" Height="Fit"
+ <ListItem Height="Fit"
Selected="{/exp.Background=${ControlHighlight}}"
Unselected="{/exp.Background=Transparent}">
- <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" IsExpanded="{²IsExpanded}">
+ <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" >
<Template>
<VerticalStack>
<Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand"
@@ -53,7 +53,7 @@
MouseEnter="{Background=LightGrey}"
MouseLeave="{Background=Transparent}"/>
<Label Text="{./Caption}" Width="80" Font="mono, 8" />
- <Label Text="{Duration}" Width="40" Font="mono, 8" TextAlignment="Center" Background="DimGrey"/>
+ <Label Text="{DurationMS}" Width="40" Font="mono, 8" TextAlignment="Center" Background="DimGrey"/>
<Label Text="{InstanceIndex}" Width="40" Font="mono, 8" TextAlignment="Center" Background="DimGrey"/>
<DbgEventWidget Event="{}" Tooltip="#Dbg.DbgEvtTooltip.crow" Width="Stretched" Height="5"/>
</HorizontalStack>
diff --git a/Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow b/Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow
index 9d40f45d..2d5815e9 100644
--- a/Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow
+++ b/Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow
@@ -8,17 +8,21 @@
</HorizontalStack>
<HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
<Label Text="Duration:" Foreground="White" Width="50%" />
- <Label Text="{Duration}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Right"/>
+ <Label Text="{DurationMS}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Right"/>
</HorizontalStack>
<HorizontalStack Height="Fit" Width="Stretched" Spacing="2">
<Label Text="Begin:" Foreground="${TooltipForeground}" Width="50%"/>
- <Label Text="{begin}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
+ <Label Text="{BeginMS}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
</HorizontalStack>
<HorizontalStack Height="Fit" Width="Stretched" Spacing="2">
<Label Text="End:" Foreground="${TooltipForeground}" Width="50%"/>
- <Label Text="{end}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
+ <Label Text="{EndMS}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
</HorizontalStack>
- <VerticalStack Height="Fit" Width="Stretched" >
+ <VerticalStack Height="Fit" Width="Stretched" IsVisible="{IsLayoutEvent}" >
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="Layout:" Foreground="White" Width="50%" />
+ <Label Text="{layouting}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
<HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
<Label Text="Result:" Foreground="White" Width="50%" />
<Label Text="{result}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
diff --git a/Samples/DebugLogAnalyzer/ui/DebugLog.crow b/Samples/DebugLogAnalyzer/ui/DebugLog.crow
new file mode 100644
index 00000000..26839642
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/DebugLog.crow
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+<Window Caption="Debug Log" Background="0.05,0.05,0.1,0.9" Width="80%" Height="80%">
+ <VerticalStack>
+ <TabView>
+ <VerticalStack Name="LogGraph" Background="DarkGrey">
+ <EnumSelector RadioButtonStyle="CheckBox2" Template="#Dbg.EnumSelector.template"
+ Caption="Discarded Events" EnumValue="{²../dbv.Filter}" BitFieldExcludeMask="255" />
+ <HorizontalStack>
+ <DbgLogViewer Visible="true" Name="dbv" Events="{Events}" Widgets="{Widgets}" MouseWheelSpeed="3" Font="mono, 8"
+ CurrentEvent="{²CurrentEvent}" CurrentWidget="{²CurrentWidget}" Background="Onyx"/>
+ <ScrollBar Maximum="{../dbv.MaxScrollY}" Value="{²../dbv.ScrollY}" SmallIncrement="1" LargeIncrement="10"
+ CursorRatio="{../dbv.ChildHeightRatio}"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Maximum="{../dbv.MaxScrollX}" Value="{²../dbv.ScrollX}" SmallIncrement="1" LargeIncrement="10"
+ CursorRatio="{../dbv.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit" DataSource="{CurrentWidget}" Spacing="3">
+ <Label Style="smallLabValue" Text="{name}"/>
+ <Label Style="smallLabValue" Text="{listIndex}"/>
+ <Label Style="smallLabValue" Text="{treeIndex}"/>
+ <Label Style="smallLabValue" Text="{yIndex}"/>
+ <Label Style="smallLabValue" Text="{xLevel}"/>
+ <Label Style="smallLabCaption" Text="Width:"/>
+ <Label Style="smallLabValue" Text="{Width}"/>
+ <Label Style="smallLabCaption" Text="Height:" />
+ <Label Style="smallLabValue" Text="{Height}"/>
+ <Label Style="smallLabCaption" Text="ScrollX:" />
+ <Label Style="smallLabValue" Text="{../../dbv.ScrollX}"/>
+ <Label Style="smallLabCaption" Text="MaxScrollX:" />
+ <Label Style="smallLabValue" Text="{../../dbv.MaxScrollX}"/>
+ <Label Style="smallLabValue" Tooltip="XScale" Text="{../../dbv.XScale}"/>
+ <Label Style="smallLabValue" Tooltip="VisibleTicks" Text="{../../dbv.VisibleTicks}"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <VerticalStack Name="AllEvents" Width="Stretched" IsVisible="false">
+ <TreeView Height="Stretched" Name="dbgTV" Data="{Events}" SelectedItem="{²CurrentEvent}" Background="DarkGrey"
+ ItemTemplate="#Dbg.DbgEventTreeItems.itemp"/>
+ <ListBox Data="{CurWidgetEvents}" Height="100" SelectedItem="{²CurrentEvent}">
+ <ItemTemplate>
+ <ListItem Margin="0" Height="16" Width="Fit"
+ Selected="{Background=${ControlHighlight}}"
+ Unselected="{Background=Transparent}">
+ <DbgEventWidget Height="10" Width="Fit" Event="{}" Tooltip="#Dbg.DbgEvtTooltip.crow" TicksPerPixel="20" VerticalAlignment="Center"/>
+ </ListItem>
+ </ItemTemplate>
+ <Template>
+ <Wrapper Name="ItemsContainer" Spacing="1" Background="DarkGrey"/>
+ </Template>
+ </ListBox>
+ </VerticalStack>
+ <VerticalStack Name="CurWidgetEvents" Width="Stretched" IsVisible="false">
+ <TreeView Height="Stretched" Data="{CurWidgetEvents}" SelectedItem="{²CurrentEvent}" Background="DarkGrey"
+ ItemTemplate="#Dbg.DbgEventTreeItems.itemp"/>
+ </VerticalStack>
+ </TabView>
+ <Splitter/>
+ <HorizontalStack Height="30%">
+ <ListBox Data="{Widgets}" Width="50%" SelectedItem="{²CurrentWidget}">
+ <Template>
+ </Template>
+ </ListBox>
+ <Splitter/>
+ <VerticalStack>
+ <HorizontalStack Height="Fit" Background="Onyx" Spacing="5">
+ <Label Text="{CurrentWidget}"/>
+ <Label Text="events"/>
+ </HorizontalStack>
+ <ListBox Data="{CurWidgetEvents}" Background="Black" SelectedItem="{²CurrentEvent}">
+ <ItemTemplate>
+ <ListItem Margin="0" Height="16" IsSelected="{²IsSelected}" Width="Fit"
+ Selected="{Background=${ControlHighlight}}"
+ Unselected="{Background=Transparent}">
+ <DbgEventWidget Height="10" Width="Fit" Event="{}" Tooltip="#Dbg.DbgEvtTooltip.crow" TicksPerPixel="300" VerticalAlignment="Center"/>
+ </ListItem>
+ </ItemTemplate>
+ <Template>
+ <Wrapper Name="ItemsContainer" Spacing="1" Background="{./Background}"/>
+ </Template>
+ </ListBox>
+ <!--<TreeView Data="{Events}" SelectedItem="{²CurrentEvent}" Background="DarkGrey"
+ ItemTemplate="#Dbg.DbgEventTreeItems.itemp"/>-->
+ </VerticalStack>
+ <Splitter/>
+ <VerticalStack Height="Stretched" Width="20%" Margin="${TooltipMargin}" DataSource="{CurrentEvent}">
+ <Label Text="{type}" Background="{Color}" Foreground="Black" Width="200" TextAlignment="Center" Margin="6"/>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Visible="{IsWidgetEvent}" Background="DimGrey" Margin="2">
+ <Label Text="Instance:" Foreground="White" Width="50%" />
+ <Label Text="{InstanceIndex}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="Duration:" Foreground="White" Width="50%" />
+ <Label Text="{DurationMS}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Right"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2">
+ <Label Text="Begin:" Foreground="${TooltipForeground}" Width="50%"/>
+ <Label Text="{BeginMS}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2">
+ <Label Text="End:" Foreground="${TooltipForeground}" Width="50%"/>
+ <Label Text="{EndMS}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/>
+ </HorizontalStack>
+ <VerticalStack Height="Fit" Width="Stretched" IsVisible="{IsLayoutEvent}" >
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="Layout:" Foreground="White" Width="50%" />
+ <Label Text="{layouting}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="Result:" Foreground="White" Width="50%" />
+ <Label Text="{result}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="Old Slot:" Foreground="White" Width="50%" />
+ <Label Text="{OldSlot}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2">
+ <Label Text="New Slot:" Foreground="White" Width="50%" />
+ <Label Text="{NewSlot}" Foreground="White" Background="Onyx" Width="Stretched" TextAlignment="Center"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <DbgEventWidget Height="10" Width="Stretched" Event="{}" Tooltip="#Dbg.DbgEvtTooltip.crow" />
+ <GroupBox Caption="Parent Event" Height="Fit" >
+ <DbgEventWidget Height="10" Width="Stretched" Event="{parentEvent}" Tooltip="#Dbg.DbgEvtTooltip.crow" />
+ </GroupBox>
+ <!--<Label Text="{}" Foreground="${TooltipForeground}"/>-->
+ </VerticalStack>
+ </HorizontalStack>
+ </VerticalStack>
+</Window> \ No newline at end of file
diff --git a/Samples/DebugLogAnalyzer/ui/EnumSelector.template b/Samples/DebugLogAnalyzer/ui/EnumSelector.template
new file mode 100644
index 00000000..2fffa3f8
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/EnumSelector.template
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<Popper >
+ <Template>
+ <CheckBox IsChecked="{²./IsPopped}">
+ <Template>
+ <HorizontalStack Background="{../../../Background}" Margin="5" Spacing="10">
+ <Label Text="{../../../../Caption}" Width="Stretched"/>
+ <Label Background="SeaGreen" Text="{../../../../EnumValue}" Margin="3"/>
+ </HorizontalStack>
+ </Template>
+ </CheckBox>
+ </Template>
+ <Wrapper Name="Content" Height="Fit" Width="{../PopWidth}" Background="Jet" />
+</Popper> \ No newline at end of file
diff --git a/Samples/DebugLogAnalyzer/ui/dbg.style b/Samples/DebugLogAnalyzer/ui/dbg.style
new file mode 100644
index 00000000..77772f10
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/dbg.style
@@ -0,0 +1,15 @@
+IcoButton {
+ Template = "#Dbg.Button.template";
+ Background = "Onyx";
+}
+CheckBox2 {
+ Width = "200";
+}
+smallLabCaption {
+ Font="mono, 8";
+ Foreground="Grey";
+}
+smallLabValue {
+ Font="mono, 10";
+ Foreground="White";
+} \ No newline at end of file
diff --git a/Samples/DebugLogAnalyzer/ui/dbglog.crow b/Samples/DebugLogAnalyzer/ui/dbglog.crow
index 72d96bf0..fd42833c 100644
--- a/Samples/DebugLogAnalyzer/ui/dbglog.crow
+++ b/Samples/DebugLogAnalyzer/ui/dbglog.crow
@@ -10,12 +10,14 @@
<Label Text="{treeIndex}"/>
<Label Text="{yIndex}"/>
<Label Text="{xLevel}"/>
- <Label Text="Width:"/>
+ <Label Text="Width:" Foreground="Grey"/>
<Label Text="{Width}"/>
- <Label Text="Height:"/>
+ <Label Text="Height:" Foreground="Grey"/>
<Label Text="{Height}"/>
- <Label Text="ScrollX"/>
+ <Label Text="ScrollX:" Foreground="Grey"/>
<Label Text="{../../dbv.ScrollX}"/>
+ <Label Text="MaxScrollX:" Foreground="Grey"/>
+ <Label Text="{../../dbv.MaxScrollX}"/>
</HorizontalStack>
</VerticalStack>
<Splitter/>
diff --git a/Samples/DebugLogAnalyzer/ui/focused.crow b/Samples/DebugLogAnalyzer/ui/focused.crow
new file mode 100644
index 00000000..755345ae
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/focused.crow
@@ -0,0 +1,17 @@
+<Window Width="80%" Movable="false">
+ <VerticalStack>
+ <HorizontalStack Height="Fit">
+ <Label Text="Hover:" Width="50" Foreground="Grey"/>
+ <Label Text="{HoverWidget}" Font="mono, 8"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit">
+ <Label Text="Focus:" Width="50" Foreground="Grey"/>
+ <Label Text="{FocusedWidget}" Font="mono, 8"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit">
+ <Label Text="Active:" Width="50" Foreground="Grey"/>
+ <Label Text="{ActiveWidget}" Font="mono, 8"/>
+ </HorizontalStack>
+ </VerticalStack>
+</Window>
+
diff --git a/Samples/DebugLogAnalyzer/ui/main.crow b/Samples/DebugLogAnalyzer/ui/main.crow
new file mode 100644
index 00000000..24a50a2f
--- /dev/null
+++ b/Samples/DebugLogAnalyzer/ui/main.crow
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>
+<VerticalStack Background="DarkGrey">
+ <HorizontalStack >
+ <TabView Width="25%" >
+ <VerticalStack Name="Explorer" Background="Onyx">
+ <HorizontalStack Height="Fit" Margin="2" >
+ <Image Margin="2" Width="16" Height="16" Path="#Crow.Icons.level-up.svg" MouseClick="goUpDirClick"
+ Background="Jet" MouseEnter="{Background=Grey}" MouseLeave="{Background=Jet}" />
+ <TextBox Text="{²CurrentDir}" Margin="2"/>
+ </HorizontalStack>
+ <DirectoryView Margin="1" Name="dv" CurrentDirectory="{CurrentDir}" SelectedItemChanged="Dv_SelectedItemChanged">
+ <Template>
+ <TreeView IsRoot="true" Name="treeView" Data="{./FileSystemEntries}" Background="{./Background}"
+ SelectedItemChanged="./onSelectedItemChanged">
+ <ItemTemplate DataType="System.IO.FileInfo">
+ <ListItem CornerRadius="2" Margin="0" Height="Fit" Width="Stretched"
+ ContextCommands="{GetCommands}"
+ Selected="{Background=${ControlHighlight}}"
+ Unselected="{Background=Transparent}">
+ <HorizontalStack>
+ <Image Margin="1" Width="14" Height="14" Path="#Crow.Icons.file.svg"/>
+ <Label Text="{Name}" Width="Stretched"/>
+ </HorizontalStack>
+ </ListItem>
+ </ItemTemplate>
+ <ItemTemplate DataType="System.IO.DirectoryInfo" Data="GetFileSystemInfosOrdered">
+ <ListItem ContextCommands="{GetCommands}"
+ Selected="{/exp.Background=${ControlHighlight}}"
+ Unselected="{/exp.Background=Transparent}">
+ <Expandable Name="exp" Caption="{Name}" MouseDoubleClick="/onClickForExpand">
+ <Template>
+ <VerticalStack>
+ <Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand"
+ Foreground="Transparent"
+ MouseEnter="{Foreground=DimGrey}"
+ MouseLeave="{Foreground=Transparent}">
+ <HorizontalStack Background="{./Background}" Spacing="1">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Image Margin="1" Width="16" Height="16"
+ Path="#Crow.Icons.folder.svg" SvgSub="{./IsExpanded}"/>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit">
+ <Widget Width="12" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+ </ListItem>
+ </ItemTemplate>
+ </TreeView>
+ </Template>
+ </DirectoryView>
+ </VerticalStack>
+ <VerticalStack Name="DebugLogger" Margin="5" IsVisible="false" Background="Onyx">
+ <HorizontalStack Height="Fit">
+ <Image Width="30" Height="20" Path="#Crow.Icons.IconAlerte.svg" Visible="{../../../../dbgIfaceWidget.CrowDebuggerNOK}"/>
+ <Label Fit="true" Text="Crow debug assembly path:"/>
+ <Widget Width="5" Height="5" Background="SeaGreen" IsVisible="{../../../../dbgIfaceWidget.HasFocus}"/>
+ <Widget Width="5" Height="5" Background="Yellow" IsVisible="{../../../../dbgIfaceWidget.IsHover}"/>
+ <TextBox Text="{²CrowDbgAssemblyLocation}" Margin="2"/>
+ </HorizontalStack>
+ <CheckBox Name="cbFile" Caption="Record to file" IsChecked="{²DebugLogToFile}" Background="Onyx"/>
+ <HorizontalStack Height="Fit" Width="Stretched" IsEnabled="{../cbFile.IsChecked}" Background="Onyx" Margin="5">
+ <Label Text="Debug log output file:" Fit="true"/>
+ <TextBox Text="{²DebugLogFilePath}" />
+ </HorizontalStack>
+ <EnumSelector RadioButtonStyle="CheckBox2" Template="#Dbg.EnumSelector.template"
+ Background="Grey"
+ Caption="Recorded Events" EnumValue="{²RecordedEvents}" BitFieldExcludeMask="255" />
+ <EnumSelector RadioButtonStyle="CheckBox2" Template="#Dbg.EnumSelector.template"
+ Background="Onyx"
+ Caption="Discarded Events" EnumValue="{²DiscardedEvents}" BitFieldExcludeMask="255" />
+ <HorizontalStack Height="Fit">
+ <CheckBox Caption="Recording" IsChecked="{²DebugLogRecording}" Height="40" Width="60"
+ Checked="{sh.Path='A 8,8,7.5,0,6.3 O 0.8,0,0,1 f O 0,0,0,0.5 G'}"
+ Unchecked="{sh.Path='R 0.5,0.5,15,15 f O 0,0,0,1 G'}">
+ <Template>
+ <Border Background="Onyx" Margin="10" CornerRadius="5">
+ <Shape Name="sh" Foreground="Grey" Size="16,16" Path="R 0.5,0.5,15,15 f O 0,0,0,1 G"/>
+ </Border>
+ </Template>
+ </CheckBox>
+ <Menu Data="{../../../../dbgIfaceWidget.LoggerCommands}" Height="Stretched" Width="Fit">
+ <ItemTemplate>
+ <Button Command="{}" Height="Stretched" Width="Fit"/>
+ </ItemTemplate>
+ </Menu>
+ </HorizontalStack>
+ </VerticalStack>
+ </TabView>
+ <Splitter Width="6" />
+ <VerticalStack>
+ <DebugInterfaceWidget Name="dbgIfaceWidget" Height="60%" Background="Black" Focusable="true"
+ CrowDbgAssemblyLocation="{²CrowDbgAssemblyLocation}"
+ Recording="{²DebugLogRecording}"
+ IMLSource="{Source}"
+ CurrentException="{²CurrentException}"
+ DiscardedEvents="{DiscardedEvents}" RecordedEvents="{RecordedEvents}" DebugLogToFile="{DebugLogToFile}"/>
+ <Splitter/>
+ <!--<TabView>-->
+ <VerticalStack Name="Editor" Spacing="0">
+ <HorizontalStack Height="Fit">
+ <Button Style="IcoButton" Command="{CMDNew}" />
+ <Button Style="IcoButton" Command="{CMDSave}" />
+ <Button Style="IcoButton" Command="{CMDSaveAs}" />
+ <Button Style="IcoButton" Command="{CMDUndo}" />
+ <Button Style="IcoButton" Command="{CMDRedo}" />
+ <!--<Button Style="IcoButton" Command="{CMDCut}" />
+ <Button Style="IcoButton" Command="{CMDCopy}" />
+ <Button Style="IcoButton" Command="{CMDPaste}" />-->
+ <Widget Width="Stretched" />
+ <Widget Background="Red" IsVisible="{DebugLogRecording}" CornerRadius="10" Width="12" Height="12"/>
+ </HorizontalStack>
+
+ <HorizontalStack>
+ <Editor Name="tb" Text="{Source}" Multiline="true" Font="consolas, 12" Focusable="true" Height="Stretched" Width="Stretched"
+ TextChanged="onTextChanged" KeyDown="textView_KeyDown" ContextCommands="{EditorCommands}"
+ Foreground="DarkGrey" Background="White"/>
+ <!--SelectionChanged="onSelectedTextChanged"-->
+ <ScrollBar Value="{²../tb.ScrollY}"
+ LargeIncrement="{../tb.PageHeight}" SmallIncrement="1"
+ CursorRatio="{../tb.ChildHeightRatio}" Maximum="{../tb.MaxScrollY}" />
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Value="{²../tb.ScrollX}"
+ LargeIncrement="{../tb.PageWidth}" SmallIncrement="1"
+ CursorRatio="{../tb.ChildWidthRatio}" Maximum="{../tb.MaxScrollX}" />
+ <HorizontalStack Height="Fit" Spacing="10" Background="DarkGrey">
+ <Widget Width="10" Height="10" Background="RoyalBlue" Visible="{IsDirty}"/>
+ <Label Text="{CurrentFile}" Width="Stretched"/>
+ <Widget Width="Stretched"/>
+ <Label Text="Line:" Foreground="Grey"/>
+ <Label Text="{../../tb.CurrentLine}" Margin="2"/>
+ <Label Text="Col:" Foreground="Grey"/>
+ <Label Text="{../../tb.CurrentColumn}" Margin="2"/>
+ </HorizontalStack>
+ <Popper IsVisible="{ShowError}" Background="Red">
+ <Template>
+ <CheckBox IsChecked="{²./IsPopped}" MouseEnter="{IsChecked='true'}" MouseLeave="{IsChecked='false'}">
+ <Template>
+ <Label Text="{CurrentExceptionMSG}" Background="Red" Foreground="White" Width="Stretched" Margin="2"
+ Multiline="true"/>
+ </Template>
+ </CheckBox>
+ </Template>
+ <Label Text="{CurrentException}" Background="DarkRed" Foreground="White" Width="Stretched" Margin="2" Multiline="true"/>
+ </Popper>
+ </VerticalStack>
+
+ <!--</TabView>-->
+ </VerticalStack>
+ </HorizontalStack>
+</VerticalStack> \ No newline at end of file