diff options
Diffstat (limited to 'Samples/DebugLogViewer/ui')
| -rw-r--r-- | Samples/DebugLogViewer/ui/CrowEdit.style | 141 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/DbgEventTreeItems.itemp | 70 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/DbgEventView.template | 44 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/DbgEvtTooltip.crow | 42 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/DbgWidgetEventListItems.itemp | 11 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/EnumSelector.template | 21 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/IconCommand.itmp | 10 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/MenuButton.template | 11 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/MenuItem.itmp | 16 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/WidgetRecord.itemp | 12 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/main.crow | 122 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/winDebugLog.crow | 103 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/winLogGraph.crow | 30 | ||||
| -rw-r--r-- | Samples/DebugLogViewer/ui/winLogNavigation.crow | 45 |
14 files changed, 678 insertions, 0 deletions
diff --git a/Samples/DebugLogViewer/ui/CrowEdit.style b/Samples/DebugLogViewer/ui/CrowEdit.style new file mode 100644 index 00000000..eccf2c6d --- /dev/null +++ b/Samples/DebugLogViewer/ui/CrowEdit.style @@ -0,0 +1,141 @@ +SmallUIFont = "sans, 12"; +SmallFont = "consolas, 12"; +InactiveTabBackground = "DarkGrey"; +SelectedTabBackground = "Onyx"; +InactiveTabForeground = "Grey"; +SelectedTabForeground = "White"; +MenuIconSize = "22"; + +ControlForeground = "LightGrey"; +ControlCaptionHoverColor = "White"; + +ControlHighlight = "RoyalBlue"; +ControlIdle = "Jet"; + +DockWindowBackground = "DarkGrey"; + +TreeItemBorderCornerRadius = "0"; +TreeItemBorderFG = "Transparent"; +TreeItemBorderHighlightFG = "DimGrey"; +TreeItemBackground = "Transparent"; +//TreeItemHighlight = " + +TxtInFileDialog { + Margin = "2"; + Font = "mono, 14"; +} + +Editor { + Focusable="true"; + Height="Stretched"; + Width="Stretched"; + Background="White"; + Foreground="Black"; + MouseWheelSpeed = "20"; + BubbleEvents ="None"; + ClipToClientRect = "true"; + MouseCursor = "ibeam"; + CacheEnabled = "true"; +} + +icon { + Width="14"; + Height="14"; +} +MemberViewLabel { + Margin="1"; + Height="Fit"; + Width="50%"; + Background="White"; +} +MemberViewHStack { + Focusable="true"; + Height="Fit"; + Spacing="1"; + MouseEnter="{Background=SteelBlue}"; + MouseLeave="{Background=Transparent}"; +} + +IcoBut { + Template = "#ui.IcoBut.template"; + MinimumSize = "10,10"; + Width = "32"; + Height = "32"; +} +Spinner { + Template = "#ui.spinner.template"; +} +TreeIcon { + Width="16"; + Height="16"; +} +TreeIconSmall { + Width="12"; + Height="12"; +} +TreeLabel { + Foreground="White"; + Margin = "1"; +} +TreeLabel2 { + Foreground="Black"; + Background="LightGrey"; + Margin = "1"; + Font = "sans, 9"; +} + +Splitter { + Thickness="1"; + Background="Transparent"; + Hover="{Background=White}"; + Unhover="{Background=Transparent}"; +} + +MenuItem { + Template = "#ui.MenuItem.template"; +} + +MenuIcon { + Margin = "1"; + Width = "${MenuIconSize}"; + Height = "${MenuIconSize}"; +} + +EnumSelector { + Template = "#ui.EnumSelector.template"; + ItemStyle = "CheckBoxEvtType"; +} +CheckBox { + Template= "#Crow.CheckBox2.template"; + Width = "Stretched"; + Height = "Fit"; + CornerRadius = "2"; + Background = "${ControlIdle}"; + Foreground = "${ControlForeground}"; + Checked = "{Background=${ControlHighlight}}"; + Unchecked = "{Background=${ControlIdle}}"; + MouseEnter = "{Foreground=${ControlCaptionHoverColor}}"; + MouseLeave = "{Foreground=${ControlForeground}}"; +} +StateBox { + Template= "#Crow.CheckBox2.template"; + Width = "Stretched"; + Height = "Fit"; + CornerRadius = "2"; + Background = "${ControlIdle}"; + Foreground = "${ControlForeground}"; + Checked = "{Background=Green}"; + Unchecked = "{Background=DarkRed}"; + Focusable = "false"; +} +StateBoxSmall { + Template= "#ui.SimpleStatus.template"; + Checked = "{Background=Green}"; + Unchecked = "{Background=DarkRed}"; + Focusable = "false"; + Background = "DarkRed"; + Foreground = "${ControlForeground}"; + Width = "Fit"; + Height = "Fit"; +} + diff --git a/Samples/DebugLogViewer/ui/DbgEventTreeItems.itemp b/Samples/DebugLogViewer/ui/DbgEventTreeItems.itemp new file mode 100644 index 00000000..1267fa54 --- /dev/null +++ b/Samples/DebugLogViewer/ui/DbgEventTreeItems.itemp @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<ItemTemplate Data="Events"> + <ListItem Height="Fit" + Selected="{/exp.Background=${ControlHighlight}}" + Unselected="{/exp.Background=Transparent}"> + <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" BubbleEvents="All"> + <Template> + <VerticalStack> + <Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand" + Foreground="Transparent" + Background="{./Background}" + MouseEnter="{Foreground=DimGrey}" + MouseLeave="{Foreground=Transparent}"> + <HorizontalStack Spacing="2" > + <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand" + Path="{./Image}" + Visible="{HasChildEvents}" + SvgSub="{./IsExpanded}" + MouseEnter="{Background=LightGrey}" + MouseLeave="{Background=Transparent}"/> + <Label Text="{./Caption}" Width="80" Font="mono, 8" /> + <Label Text="{DurationMS}" Width="40" Font="mono, 8" TextAlignment="Center" Background="DimGrey"/> + <DbgEventWidget Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" Width="Stretched" Height="5"/> + </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> +<ItemTemplate Data="Events" DataType="DbgWidgetEvent"> + <ListItem Height="Fit" + Selected="{/exp.Background=${ControlHighlight}}" + Unselected="{/exp.Background=Transparent}"> + <Expandable Name="exp" Caption="{type}" MouseDoubleClick="/onClickForExpand" CacheEnabled="true" BubbleEvents="All"> + <Template> + <VerticalStack> + <Border CornerRadius="2" Margin="0" Height="Fit" MouseDoubleClick="./onClickForExpand" + Foreground="Transparent" + Background="{./Background}" + MouseEnter="{Foreground=DimGrey}" + MouseLeave="{Foreground=Transparent}"> + <HorizontalStack Spacing="2" > + <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand" + Path="{./Image}" + Visible="{HasChildEvents}" + SvgSub="{./IsExpanded}" + MouseEnter="{Background=LightGrey}" + MouseLeave="{Background=Transparent}"/> + <Label Text="{./Caption}" Width="80" Font="mono, 8" /> + <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="#ui.DbgEvtTooltip.crow" Width="Stretched" Height="5"/> + </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>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/DbgEventView.template b/Samples/DebugLogViewer/ui/DbgEventView.template new file mode 100644 index 00000000..8b6f5482 --- /dev/null +++ b/Samples/DebugLogViewer/ui/DbgEventView.template @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<VerticalStack Margin="${TooltipMargin}" DataSource="{./Event}"> + <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> + <Label Text="{Message}" Foreground="White" Background="Onyx" Width="Stretched" Visible="{HasMessage}" Margin="2" Tooltip="{}"/> + <HorizontalStack Height="Fit" Width="Stretched" Spacing="2" Background="DimGrey" Margin="2"> + <Label Text="Duration(ms):" 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(s):" Foreground="${TooltipForeground}" Width="50%"/> + <Label Text="{BeginMS}" Foreground="${TooltipForeground}" Width="Stretched" TextAlignment="Right"/> + </HorizontalStack> + <HorizontalStack Height="Fit" Width="Stretched" Spacing="2"> + <Label Text="End(s):" 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="#ui.DbgEvtTooltip.crow" /> + <GroupBox Caption="Parent Event" Height="Fit" > + <DbgEventWidget Height="10" Width="Stretched" Event="{parentEvent}" Tooltip="#ui.DbgEvtTooltip.crow" /> + </GroupBox> + <!--<Label Text="{}" Foreground="${TooltipForeground}"/>--> +</VerticalStack>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/DbgEvtTooltip.crow b/Samples/DebugLogViewer/ui/DbgEvtTooltip.crow new file mode 100644 index 00000000..a3369249 --- /dev/null +++ b/Samples/DebugLogViewer/ui/DbgEvtTooltip.crow @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<Border Fit="true" Foreground="${TooltipForeground}" Background="${TooltipBackground}"> + <VerticalStack Fit="true" Margin="${TooltipMargin}" DataSource="{HoverEvent}"> + <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> + <Label Text="{Message}" Foreground="White" Background="Onyx" Width="Stretched" Visible="{HasMessage}" Margin="2" Tooltip="{}"/> + <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> + <!--<Label Text="{}" Foreground="${TooltipForeground}"/>--> + </VerticalStack> +</Border>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/DbgWidgetEventListItems.itemp b/Samples/DebugLogViewer/ui/DbgWidgetEventListItems.itemp new file mode 100644 index 00000000..d7a397ae --- /dev/null +++ b/Samples/DebugLogViewer/ui/DbgWidgetEventListItems.itemp @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<ListItem Height="Fit" + Selected="{Background=${ControlHighlight}}" + Unselected="{Background=Transparent}"> + <HorizontalStack Spacing="2" > + <Label Text="{BeginMS}" Width="70" TextAlignment="Right" Background="DimGrey"/> + <Label Text="{type}" Width="160" Background="{Color}" Foreground="Black"/> + <Label Text="{Message}" Width="Stretched" /> + <Label Text="{DurationMS}" Width="70" TextAlignment="Right" Background="DimGrey"/> + </HorizontalStack> +</ListItem> diff --git a/Samples/DebugLogViewer/ui/EnumSelector.template b/Samples/DebugLogViewer/ui/EnumSelector.template new file mode 100644 index 00000000..3472ec0d --- /dev/null +++ b/Samples/DebugLogViewer/ui/EnumSelector.template @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<!--<Popper > + <Template> + <HorizontalStack Background="{../../Background}" Margin="5" Spacing="10"> + <Label Text="{../../../Caption}" Width="Stretched"/> + <Label Background="SeaGreen" Text="{../../../EnumValue}" Margin="3" Width="Stretched"/> + </HorizontalStack> + </Template> + <Wrapper Name="Content" Height="300" Width="Fit" Background="Jet" Orientation="Horizontal" /> +</Popper>--> +<Border Style="ControlBorder" Background="{./Background}" CornerRadius="{./CornerRadius}"> + <HorizontalStack> + <Label Text="{./Caption}"/> + <Popper Caption="{./EnumValue}" > + <Template> + <Label Style="ControlCaption" Text="{./Caption}" Foreground="{./Foreground}" MinimumSize="80,1" TextAlignment="Center"/> + </Template> + <Wrapper Name="Content" Background="Onyx" Width="60%" Height="Fit" Margin="5" Orientation="Vertical"/> + </Popper> + </HorizontalStack> +</Border>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/IconCommand.itmp b/Samples/DebugLogViewer/ui/IconCommand.itmp new file mode 100644 index 00000000..8f648dd5 --- /dev/null +++ b/Samples/DebugLogViewer/ui/IconCommand.itmp @@ -0,0 +1,10 @@ +<?xml version="1.0"?> +<Button Command="{}" MinimumSize="0,0" > + <Template> + <Border Style="WindowIconBorder" Width="16" Height="16" IsVisible="{./IsEnabled}"> + <Image Path="{./Icon}" Tooltip="{./Caption}"/> + </Border> + </Template> +</Button> + + diff --git a/Samples/DebugLogViewer/ui/MenuButton.template b/Samples/DebugLogViewer/ui/MenuButton.template new file mode 100644 index 00000000..3a3e2c61 --- /dev/null +++ b/Samples/DebugLogViewer/ui/MenuButton.template @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<Button Command="{}" Width="Stretched" BubbleEvents="All"> + <Template> + <HorizontalStack Background="{./Background}" Width="Stretched" Height="Stretched" Margin="3" Spacing="6" + MouseEnter="{Background=${ControlHighlight}}" + MouseLeave="{Background=Transparent}"> + <Image Style="MenuIcon" Picture="{./Icon}" /> + <Label Text="{./Caption}" Width="Stretched" Height="Fit" Margin="1"/> + </HorizontalStack> + </Template> +</Button> diff --git a/Samples/DebugLogViewer/ui/MenuItem.itmp b/Samples/DebugLogViewer/ui/MenuItem.itmp new file mode 100644 index 00000000..8dfb3301 --- /dev/null +++ b/Samples/DebugLogViewer/ui/MenuItem.itmp @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<ItemTemplate DataType="Crow.Command" Path="#ui.MenuButton.template"/> +<ItemTemplate DataType="Crow.CommandGroup" Data="Commands"> + <Popper PopDirection="Right" Caption="{Caption}" Width="Stretched" IsPopped="{²./IsOpened}" + MouseEnter="{Background=${ControlHighlight}}" + MouseLeave="{Background=Transparent}"> + <Template> + <HorizontalStack Background="{./Background}" Width="Stretched" Height="Fit" Margin="3" Spacing="6"> + <Image Style="MenuIcon" Picture="{Icon}"/> + <Label Text="{./Caption}" Height="Fit"/> + <Label Text="..." Width="Fit"/> + </HorizontalStack> + </Template> + <VerticalStack Margin="0" Name="ItemsContainer" Fit="true" Background="${MenuBackground}"/> + </Popper> +</ItemTemplate> diff --git a/Samples/DebugLogViewer/ui/WidgetRecord.itemp b/Samples/DebugLogViewer/ui/WidgetRecord.itemp new file mode 100644 index 00000000..e9d15d1e --- /dev/null +++ b/Samples/DebugLogViewer/ui/WidgetRecord.itemp @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<ListItem Height="Fit" Margin="1" Focusable="true" HorizontalAlignment="Left" + Selected = "{Background=${ControlHighlight}}" + Unselected = "{Background=Transparent}"> + <HorizontalStack> + <Label Text="{nameAndIndex}" Width="Stretched"/> + <!--<Label Style="labWidgetRecordList" Text="{listIndex}" Tooltip="List index"/>--> + <Label Style="labWidgetRecordList" Text="{InstanceIndex}" Tooltip="tree index"/> + <Label Style="labWidgetRecordList" Text="{yIndex}" Tooltip="yIndex"/> + <Label Style="labWidgetRecordList" Text="{xLevel}" Tooltip="xLevel"/> + </HorizontalStack> +</ListItem>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/main.crow b/Samples/DebugLogViewer/ui/main.crow new file mode 100644 index 00000000..a1f99e19 --- /dev/null +++ b/Samples/DebugLogViewer/ui/main.crow @@ -0,0 +1,122 @@ +<?xml version="1.0"?> +<VerticalStack RootDataLevel="true"> + <Menu Data="{CommandsRoot}" > + <ItemTemplate DataType="Crow.Command" Path="#ui.MenuButton.template"/> + <ItemTemplate DataType="Crow.CommandGroup" > + <MenuItem Data="{Commands}" Width="Fit" IsEnabled="{CanExecute}" + ItemTemplate="#ui.MenuItem.itmp"> + <Template> + <Popper PopDirection="Bottom" Caption="{Caption}" Width="Fit" + MouseEnter="{Background=${ControlHighlight}}" + MouseLeave="{Background=Transparent}"> + <Template> + <Label Text="{./Caption}" Width="Stretched" Height="Fit" Margin="5" + Background="{./Background}"/> + </Template> + <VerticalStack Name="ItemsContainer" Height="Fit" Width="Fit" Background="Jet"/> + </Popper> + </Template> + </MenuItem> + </ItemTemplate> + </Menu> + <TabView> + <VerticalStack Name="LogGraph" Background="DarkGrey"> + <EnumSelector RadioButtonStyle="CheckBoxEvtType" Template="#ui.EnumSelector.template" + Caption="Discarded Events" EnumValue="{²../dbv.Filter}" BitFieldExcludeMask="255" /> + <HorizontalStack> + <DbgLogViewer Visible="true" Name="dbv" Events="{Events}" Widgets="{Widgets}" + CurrentEvent="{²CurrentEvent}" CurrentWidget="{²CurrentWidget}" /> + <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}" Tooltip="List index"/> + <Label Style="smallLabValue" Text="{treeIndex}" Tooltip="tree index"/> + <Label Style="smallLabValue" Text="{yIndex}" Tooltip="yIndex"/> + <Label Style="smallLabValue" Text="{xLevel}" Tooltip="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" RootDataLevel="true" Background="DarkGrey"> + <TreeView Height="Stretched" Name="dbgTV" Data="{Events}" SelectedItem="{²CurrentEvent}" Background="DarkGrey" + ItemTemplate="#ui.DbgEventTreeItems.itemp"/> + </VerticalStack> + <VerticalStack Name="CurWidgetEvents" Width="Stretched" IsVisible="false" RootDataLevel="true" Background="DarkGrey"> + <ListBox Data="{CurrentWidgetEvents}" Background="Black" SelectedItem="{²CurrentEvent}"> + <ItemTemplate> + <ListItem Margin="0" Height="16" IsSelected="{²IsSelected}" Width="Fit" + Selected="{Background=${ControlHighlight}}" Template="Crow.ScrollingListBox.template" + Unselected="{Background=Transparent}"> + <DbgEventWidget Height="10" Width="Fit" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" TicksPerPixel="1000" VerticalAlignment="Center"/> + </ListItem> + </ItemTemplate> + <Template> + <Wrapper Name="ItemsContainer" Spacing="1" Background="{./Background}"/> + </Template> + </ListBox> + </VerticalStack> + </TabView> + + <Splitter/> + <HorizontalStack Height="30%"> + <ListBox Data="{Widgets}" Width="200" SelectedItem="{²CurrentWidget}" + ItemTemplate="#ui.WidgetRecord.itemp"> + </ListBox> + <ListBox Data="{CurWidgetProperties}" Width="25%" > + <ItemTemplate> + <ListItem Height="Fit" Margin="1" Focusable="true" HorizontalAlignment="Left" + Selected = "{Background=${ControlHighlight}}" + Unselected = "{Background=Transparent}"> + <HorizontalStack> + <Label Text="{Key}" Width="140"/> + <Label Text="{Value}" Width="Stretched" Background="White" Foreground="Black" TextAlignment="Left"/> + </HorizontalStack> + </ListItem> + </ItemTemplate> + </ListBox> + <Splitter/> + <VerticalStack> + <HorizontalStack Height="Fit" Background="Onyx" Spacing="5"> + <Label Text="{CurrentWidget}"/> + <Label Text="events"/> + </HorizontalStack> + <ListBox Height="Stretched" Data="{CurrentWidgetEvents}" SelectedItem="{²CurrentEvent}" Background="DarkGrey" + ItemTemplate="#ui.DbgWidgetEventListItems.itemp"/> + </VerticalStack> + <!--<Splitter/> + <DbgEventView Template="#ui.DbgEventView.template" Event="{../../dbv.HoverEvent}"/>--> + <Splitter/> + <DbgEventView Template="#ui.DbgEventView.template" Event="{CurrentEvent}"/> + </HorizontalStack> + <HorizontalStack Height="Fit" Background="Onyx" Margin="1"> + <HorizontalStack Height="Fit" DataSource="{CurrentEvent}"> + <Label Foreground="Black" Text="Current Event:" Background="{Color}" Margin="2" /> + <DbgEventWidget Height="14" Width="Stretched" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" /> + </HorizontalStack> + <ListBox Data="{EventCommands}" Fit="true"> + <Template> + <HorizontalStack Name="ItemsContainer" /> + </Template> + <ItemTemplate Path="#ui.IconCommand.itmp"/> + </ListBox> + <Popper Caption="Search..."> + <VerticalStack Fit="true" Background="Onyx" Margin="10"> + <ComboBox Caption="Event Type" Data="{AllEventTypes}" SelectedItem="{²SearchEventType}"/> + <ComboBox Caption="Widget" Data="{Widgets}" SelectedItem="{²SearchWidget}"/> + </VerticalStack> + </Popper> + </HorizontalStack> + +</VerticalStack>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/winDebugLog.crow b/Samples/DebugLogViewer/ui/winDebugLog.crow new file mode 100644 index 00000000..90557a09 --- /dev/null +++ b/Samples/DebugLogViewer/ui/winDebugLog.crow @@ -0,0 +1,103 @@ +<?xml version="1.0"?> +<Window Caption="Debug Log" Background="0.05,0.05,0.1,0.9" Width="95%" Height="95%"> + <VerticalStack RootDataLevel="true"> + <TabView> + <VerticalStack Name="LogGraph" Background="DarkGrey"> + <EnumSelector RadioButtonStyle="CheckBox2" Template="#ui.EnumSelector.template" + Caption="Discarded Events" EnumValue="{²../dbv.Filter}" BitFieldExcludeMask="255" /> + <HorizontalStack> + <DbgLogViewer Visible="true" Name="dbv" Events="{Events}" Widgets="{Widgets}" + CurrentEvent="{²CurrentEvent}" CurrentWidget="{²CurrentWidget}" /> + <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}" Tooltip="List index"/> + <Label Style="smallLabValue" Text="{treeIndex}" Tooltip="tree index"/> + <Label Style="smallLabValue" Text="{yIndex}" Tooltip="yIndex"/> + <Label Style="smallLabValue" Text="{xLevel}" Tooltip="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" RootDataLevel="true"> + <TreeView Height="Stretched" Name="dbgTV" Data="{Events}" SelectedItem="{²CurrentEvent}" Background="DarkGrey" + ItemTemplate="#ui.DbgEventTreeItems.itemp"/> + </VerticalStack> + <VerticalStack Name="CurWidgetEvents" Width="Stretched" IsVisible="false" RootDataLevel="true"> + <ListBox Data="{CurrentWidgetEvents}" Background="Black" SelectedItem="{²CurrentEvent}"> + <ItemTemplate> + <ListItem Margin="0" Height="16" IsSelected="{²IsSelected}" Width="Fit" + Selected="{Background=${ControlHighlight}}" Template="Crow.ScrollingListBox.template" + Unselected="{Background=Transparent}"> + <DbgEventWidget Height="10" Width="Fit" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" TicksPerPixel="1000" VerticalAlignment="Center"/> + </ListItem> + </ItemTemplate> + <Template> + <Wrapper Name="ItemsContainer" Spacing="1" Background="{./Background}"/> + </Template> + </ListBox> + </VerticalStack> + </TabView> + <Splitter/> + <HorizontalStack Height="30%"> + <ListBox Data="{Widgets}" Width="200" SelectedItem="{²CurrentWidget}" + ItemTemplate="#ui.WidgetRecord.itemp"> + </ListBox> + <ListBox Data="{CurWidgetProperties}" Width="25%" > + <ItemTemplate> + <ListItem Height="Fit" Margin="1" Focusable="true" HorizontalAlignment="Left" + Selected = "{Background=${ControlHighlight}}" + Unselected = "{Background=Transparent}"> + <HorizontalStack> + <Label Text="{Key}" Width="140"/> + <Label Text="{Value}" Width="Stretched" Background="White" Foreground="Black" TextAlignment="Left"/> + </HorizontalStack> + </ListItem> + </ItemTemplate> + </ListBox> + <Splitter/> + <VerticalStack> + <HorizontalStack Height="Fit" Background="Onyx" Spacing="5"> + <Label Text="{CurrentWidget}"/> + <Label Text="events"/> + </HorizontalStack> + <ListBox Height="Stretched" Data="{CurrentWidgetEvents}" SelectedItem="{²CurrentEvent}" Background="DarkGrey" + ItemTemplate="#ui.DbgWidgetEventListItems.itemp"/> + </VerticalStack> + <Splitter/> + <DbgEventView Template="#ui.DbgEventView.template" Event="{../../dbv.HoverEvent}"/> + <Splitter/> + <DbgEventView Template="#ui.DbgEventView.template" Event="{CurrentEvent}"/> + </HorizontalStack> + <HorizontalStack Height="Fit" Background="Onyx" Margin="1"> + <HorizontalStack Height="Fit" DataSource="{CurrentEvent}"> + <Label Foreground="Black" Text="Current Event:" Background="{Color}" Margin="2" /> + <DbgEventWidget Height="14" Width="Stretched" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" /> + </HorizontalStack> + <ListBox Data="{EventCommands}" Fit="true"> + <Template> + <HorizontalStack Name="ItemsContainer" /> + </Template> + <ItemTemplate Path="#ui.IconCommand.itmp"/> + </ListBox> + <Popper Caption="Search..."> + <VerticalStack Fit="true" Background="Onyx" Margin="10"> + <ComboBox Caption="Event Type" Data="{AllEventTypes}" SelectedItem="{²SearchEventType}"/> + <ComboBox Caption="Widget" Data="{Widgets}" SelectedItem="{²SearchWidget}"/> + </VerticalStack> + </Popper> + </HorizontalStack> + </VerticalStack> +</Window>
\ No newline at end of file diff --git a/Samples/DebugLogViewer/ui/winLogGraph.crow b/Samples/DebugLogViewer/ui/winLogGraph.crow new file mode 100644 index 00000000..085596a0 --- /dev/null +++ b/Samples/DebugLogViewer/ui/winLogGraph.crow @@ -0,0 +1,30 @@ +<?xml version="1.0"?> +<DockWindow Caption="Debug Log Graph" Width="90%" Height="90%"> + <VerticalStack Name="LogGraph" > + <EnumSelector RadioButtonStyle="CheckBox2" Template="#ui.EnumSelector.template" + Caption="Discarded Events" EnumValue="{²../dbv.Filter}" BitFieldExcludeMask="255" /> + <HorizontalStack> + <DbgLogViewer Visible="true" Name="dbv" Events="{Events}" Widgets="{Widgets}" + CurrentEvent="{²CurrentEvent}" CurrentWidget="{²CurrentWidget}" /> + <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}" Tooltip="List index"/> + <Label Style="smallLabValue" Text="{treeIndex}" Tooltip="tree index"/> + <Label Style="smallLabValue" Text="{yIndex}" Tooltip="yIndex"/> + <Label Style="smallLabValue" Text="{xLevel}" Tooltip="xLevel"/> + <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> +</DockWindow> + + diff --git a/Samples/DebugLogViewer/ui/winLogNavigation.crow b/Samples/DebugLogViewer/ui/winLogNavigation.crow new file mode 100644 index 00000000..62d71a53 --- /dev/null +++ b/Samples/DebugLogViewer/ui/winLogNavigation.crow @@ -0,0 +1,45 @@ +<?xml version="1.0"?> +<DockWindow Caption="Debug Log Navigation" Width="90%" Height="Fit"> + <VerticalStack Name="LogGraph" > + <ListBox Name="lbAllEvents" Data="{Events}" Height="Fit" > + <ItemTemplate> + <ListItem Margin="0" Height="16" Width="Fit" + Selected="{Background=Yellow}" + Unselected="{Background=Transparent}"> + <DbgEventWidget CacheEnabled="true" Height="10" Width="Fit" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" TicksPerPixel="3000" VerticalAlignment="Center"/> + </ListItem> + </ItemTemplate> + <Template> + <VerticalStack Width="Stretched" > + <Scroller Name="scroller" > + <HorizontalStack Name="ItemsContainer" Width="Fit" HorizontalAlignment="Left"/> + </Scroller> + <ScrollBar Style="HScrollBar" Name="scrollbar1" Value="{²../scroller.ScrollX}" + LargeIncrement="{../scroller.PageWidth}" SmallIncrement="30" CursorRatio="{../scroller.ChildWidthRatio}" + Maximum="{../scroller.MaxScrollX}" Height="12" /> + </VerticalStack> + </Template> + </ListBox> + <ListBox DataSource="{../lbAllEvents.SelectedItem}" Data="{Events}" Height="Fit" > + <ItemTemplate> + <ListItem Margin="0" Height="16" Width="Fit" + Selected="{Background=Yellow}" + Unselected="{Background=Transparent}"> + <DbgEventWidget CacheEnabled="true" Height="10" Width="Fit" Event="{}" Tooltip="#ui.DbgEvtTooltip.crow" TicksPerPixel="3000" VerticalAlignment="Center"/> + </ListItem> + </ItemTemplate> + <Template> + <VerticalStack Width="Stretched" > + <Scroller Name="scroller" > + <HorizontalStack Name="ItemsContainer" Width="Fit" HorizontalAlignment="Left"/> + </Scroller> + <ScrollBar Style="HScrollBar" Name="scrollbar1" Value="{²../scroller.ScrollX}" + LargeIncrement="{../scroller.PageWidth}" SmallIncrement="30" CursorRatio="{../scroller.ChildWidthRatio}" + Maximum="{../scroller.MaxScrollX}" Height="12" /> + </VerticalStack> + </Template> + </ListBox> + </VerticalStack> +</DockWindow> + + |