diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-04-02 07:54:52 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-04-02 07:54:52 +0200 |
| commit | 8c0f9d6b02eac97b7a45780f82f5683771745cf0 (patch) | |
| tree | 7c638b9ace3bf6b86669eebaa8b4c9638f941f17 /Samples/DebugLogAnalyzer/ui | |
| parent | 89a58fbf483a4b08309c640dfd07ddf8a58e8bd1 (diff) | |
DebugLog, event bindings resolutions, enumSelector bitfields, wip
Diffstat (limited to 'Samples/DebugLogAnalyzer/ui')
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/Button.template | 12 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/DbgEventTreeItems.itemp | 10 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/DbgEvtTooltip.crow | 12 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/DebugLog.crow | 127 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/EnumSelector.template | 14 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/dbg.style | 15 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/dbglog.crow | 8 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/focused.crow | 17 | ||||
| -rw-r--r-- | Samples/DebugLogAnalyzer/ui/main.crow | 161 |
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 |