mirror of
https://github.com/fadden/6502bench.git
synced 2024-08-20 11:28:58 +00:00
Notable items include the column show/hide buttons, which were straightforward except for the "determine the default width" part, and the font picker, which is no longer a standard dialog. The latter was complicated by the absence of a good way to detect whether a font is mono-spaced or not without calling back into code meant for WinForms font manipulation (with a dash of PInvoke). Yay WPF. Also, enabled character ellipsis for code list items.
77 lines
3.4 KiB
XML
77 lines
3.4 KiB
XML
<!--
|
|
Copyright 2019 faddenSoft
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<Window x:Class="SourceGenWPF.WpfGui.FontPicker"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:SourceGenWPF.WpfGui"
|
|
mc:Ignorable="d"
|
|
Title="Select Font"
|
|
SizeToContent="WidthAndHeight" ResizeMode="NoResize"
|
|
ShowInTaskbar="False" WindowStartupLocation="CenterOwner"
|
|
Loaded="Window_Loaded">
|
|
<StackPanel Margin="8">
|
|
<TextBlock Text="Font family:"/>
|
|
<!-- thanks:
|
|
https://searchwindevelopment.techtarget.com/tip/How-to-list-fonts-in-WPF-using-markup-extensions-and-data-templates
|
|
-->
|
|
<!--<ListBox DataContext="{x:Static Fonts.SystemFontFamilies}"
|
|
ItemsSource="{Binding}"
|
|
/>-->
|
|
<ListBox Name="fontFamilyListBox"
|
|
ItemsSource="{Binding MonoFontFamilies}"
|
|
SelectedItem="{Binding SelectedFamily}"
|
|
HorizontalContentAlignment="Stretch"
|
|
Height="300" Width="340" Margin="0,4,0,0">
|
|
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border Padding="1" Margin="0,5" BorderBrush="LightBlue" BorderThickness="1">
|
|
<StackPanel Orientation="Vertical">
|
|
<TextBlock VerticalAlignment="Center">
|
|
<ContentPresenter Content="{TemplateBinding Content}" />
|
|
</TextBlock>
|
|
<TextBlock FontFamily="{Binding Source}"
|
|
VerticalAlignment="Center" Margin="20,3" Foreground="Black"
|
|
Text="Entry LDA #$0F ;sample"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
|
|
<TextBlock Text="Font size:" Margin="0,8,0,0"/>
|
|
<ComboBox Name="sizeComboBox" IsReadOnly="True" Margin="0,4,0,0" Width="75"
|
|
HorizontalAlignment="Left">
|
|
<!-- these are parsed directly, so only use numeric values -->
|
|
<ComboBoxItem>8</ComboBoxItem>
|
|
<ComboBoxItem>10</ComboBoxItem>
|
|
<ComboBoxItem>12</ComboBoxItem>
|
|
<ComboBoxItem>16</ComboBoxItem>
|
|
<ComboBoxItem>20</ComboBoxItem>
|
|
</ComboBox>
|
|
|
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,8,0,0">
|
|
<Button Name="okButton" Content="OK" IsDefault="True"
|
|
Width="70" Click="OkButton_Click"/>
|
|
<Button Name="cancelButton" Content="Cancel" IsCancel="True"
|
|
Width="70" Margin="4,0,0,0"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Window>
|