123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- <Window x:Class="aipdev.FolderQuestionedImageViewer"
- 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:model="clr-namespace:AIPlatform.Protocol.Model;assembly=AIPlatform.Protocol"
- xmlns:extensions="clr-namespace:aipdev.Extensions"
- xmlns:local="clr-namespace:aipdev"
- mc:Ignorable="d"
- Title="图像浏览器" Height="768" Width="1024" ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
- <Window.Resources>
- <Style TargetType="{x:Type TextBox}" x:Key="ReadOnlyTextBoxStyle">
- <Style.Setters>
- <Setter Property="IsReadOnly" Value="True"/>
- <Setter Property="Background" Value="Transparent"/>
- <Setter Property="Foreground" Value="White"/>
- <Setter Property="BorderThickness" Value="0"/>
- <Setter Property="HorizontalAlignment" Value="Center"/>
- <Setter Property="VerticalAlignment" Value="Center"/>
- </Style.Setters>
- </Style>
- </Window.Resources>
- <Grid Background="Black">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="55"/>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="55"/>
- <ColumnDefinition Width="0.36*"/>
- </Grid.ColumnDefinitions>
- <Image x:Name="Image" Grid.Column="0" Grid.ColumnSpan="3"/>
- <TextBlock x:Name="ImageIndex" Foreground="Red" FontSize="16" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="5,5,0,0" Width="50" TextWrapping="Wrap" />
- <Button Grid.Column="0" Margin="4,0,0,0" x:Name="PreviousImage" Width="64" Height="2000" OverridesDefaultStyle="True" Click="OnPreviousImageClick">
- <Button.Template>
- <ControlTemplate>
- <Grid x:Name="Bb" Width="64">
- <Border Background="Black" Opacity="0.5"></Border>
- <Border x:Name="Bib">
- <Image Opacity="0.5" x:Name="Bi" Width="50" Height="50" Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Center" Source="Resources/Images/Left.png"></Image>
- </Border>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="Button.IsMouseOver" Value="True">
- <Setter TargetName="Bi" Property="Opacity" Value="1"/>
- </Trigger>
- <Trigger Property="Button.IsPressed" Value="True">
- <Setter TargetName="Bib" Property="Padding" Value="2"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <Button Grid.Column="2" Margin="0,0,4,0" x:Name="NextImage" Width="64" Height="1000" OverridesDefaultStyle="True" Click="OnNextImageClick">
- <Button.Template>
- <ControlTemplate>
- <Grid x:Name="Bb" Width="64">
- <Border Background="Black" Opacity="0.5"></Border>
- <Border x:Name="Bib">
- <Image Opacity="0.5" x:Name="Bi" Width="50" Height="50" Stretch="Uniform" VerticalAlignment="Center" HorizontalAlignment="Center" Source="Resources/Images/Right.png"></Image>
- </Border>
- </Grid>
- <ControlTemplate.Triggers>
- <Trigger Property="Button.IsMouseOver" Value="True">
- <Setter TargetName="Bi" Property="Opacity" Value="1"/>
- </Trigger>
- <Trigger Property="Button.IsPressed" Value="True">
- <Setter TargetName="Bib" Property="Padding" Value="2"/>
- </Trigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Button.Template>
- </Button>
- <ScrollViewer Grid.Column="3" VerticalScrollBarVisibility="Auto">
- <StackPanel>
- <!--<GroupBox Margin="4" MinHeight="64" Header="图像标签" Foreground="White" BorderBrush="Gray" BorderThickness="1" >
- <StackPanel VerticalAlignment="Center">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" x:Name="CombinationTagNameTextBox" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" x:Name="CombinationTagIdTextBox" TextWrapping="Wrap"/>
- </StackPanel>
- </GroupBox>-->
- <GroupBox Margin="2" MinHeight="64" Header="标注人员" Foreground="White" BorderBrush="Gray" BorderThickness="0.5" >
- <StackPanel VerticalAlignment="Stretch">
- <ListBox x:Name="LabelerList" FontSize="14" BorderThickness="0" DisplayMemberPath="Labeler.Name" ItemContainerStyle="{StaticResource LabelDataGroupConclusionItemStyle}"
- PreviewMouseLeftButtonDown="OnLabelerMouseLeftButtonDownAsync">
- <ListBox.ItemsPanel >
- <ItemsPanelTemplate>
- <WrapPanel Orientation="Horizontal" />
- </ItemsPanelTemplate>
- </ListBox.ItemsPanel>
- </ListBox>
- </StackPanel>
- </GroupBox>
- <GroupBox Margin="2" MinHeight="64" Header="图像信息" Foreground="White" BorderBrush="Gray" BorderThickness="0.5" >
- <StackPanel Margin="2" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" x:Name="ImageNameTextBox" Margin="2" HorizontalAlignment="Left" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" x:Name="ImageIdTextBox" Margin="2" HorizontalAlignment="Left" TextWrapping="Wrap"/>
- </StackPanel>
- </GroupBox>
- <GroupBox Margin="2" MinHeight="64" Header="标注结果" Foreground="White" BorderBrush="Gray" BorderThickness="0.5" >
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ItemsControl x:Name="Conclusions">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:LabelConclusion}">
- <StackPanel Margin="2" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Title}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Unit}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Content}" TextWrapping="Wrap"/>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </ScrollViewer>
- </GroupBox>
- <GroupBox Margin="2" x:Name="ReviewInfoGroup" MinHeight="64" Header="审核结果" Foreground="White" BorderBrush="Gray" BorderThickness="0.5" >
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ItemsControl x:Name="ReviewInfoList">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:ReviewerInfo}">
- <StackPanel Margin="2" Orientation="Vertical">
- <GroupBox x:Name="ReviewerGroup" Header="{Binding}" BorderThickness="0.5">
- <GroupBox.HeaderTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Text="{Binding Reviewer.Name}" Margin="2" VerticalAlignment="Stretch" FontWeight="Bold"/>
- </StackPanel>
- </DataTemplate>
- </GroupBox.HeaderTemplate>
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <StackPanel Grid.Row="0" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="审核通过" Foreground="Green" Visibility="{Binding IsPassed, Converter={extensions:BoolToVisibilityConverter}}" TextWrapping="Wrap"/>
- </StackPanel>
- <StackPanel Grid.Row="1" Orientation="Vertical">
- <ItemsControl x:Name="Results" ItemsSource="{Binding Results}">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:SingleReviewedResult}">
- <StackPanel Margin="2" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Title}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding ReviewResult}" Foreground="Red" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding ReviewComment}" Foreground="Orange" TextWrapping="Wrap"/>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </StackPanel>
- </Grid>
- </ScrollViewer>
- </GroupBox>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </ScrollViewer>
- </GroupBox>
- <GroupBox Margin="2" x:Name="RelabelInfoGroup" MinHeight="64" Header="历史结果" Foreground="White" BorderBrush="Gray" BorderThickness="0.5">
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ItemsControl x:Name="RelabelInfoList">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type local:LabeledUltrasoundFileInfoModel}">
- <StackPanel Orientation="Vertical">
- <GroupBox Header="{Binding}" BorderThickness="0.5">
- <GroupBox.HeaderTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Text="{Binding LabeledResultHeader}" Margin="2" VerticalAlignment="Center" FontWeight="Bold"/>
- <Button Focusable="False" Click="OnRelabelResultClick">
- <Button.Template>
- <ControlTemplate TargetType="{x:Type Button}">
- <Border x:Name="ButtonBorder" CornerRadius="2">
- <Image Source="Resources/Images/Image.png" Width="20" Height="20"/>
- </Border>
- <ControlTemplate.Triggers>
- <Trigger Property="IsMouseOver" Value="True">
- <Setter TargetName="ButtonBorder" Property="BorderThickness" Value="1"/>
- <Setter TargetName="ButtonBorder" Property="BorderBrush" Value="Gray"/>
- </Trigger>
- <DataTrigger Binding="{Binding IsSelected}" Value="True">
- <Setter TargetName="ButtonBorder" Property="BorderThickness" Value="2"/>
- <Setter TargetName="ButtonBorder" Property="BorderBrush" Value="Yellow"/>
- </DataTrigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Button.Template>
- </Button>
- </StackPanel>
- </DataTemplate>
- </GroupBox.HeaderTemplate>
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ItemsControl ItemsSource="{Binding LabelConclusions}">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:LabelConclusion}">
- <StackPanel Margin="2" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Title}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Unit}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Content}" TextWrapping="Wrap"/>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </ScrollViewer>
- </GroupBox>
- <GroupBox Margin="2" Header="{Binding}" BorderThickness="0.5" Visibility="{Binding HasReviewedResult, Converter={extensions:BoolToVisibilityConverter}}">
- <GroupBox.HeaderTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Text="{Binding ReviewedResultHeader}" Margin="2" VerticalAlignment="Center"/>
- </StackPanel>
- </DataTemplate>
- </GroupBox.HeaderTemplate>
- <ItemsControl ItemsSource="{Binding ReviewerInfos}">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:ReviewerInfo}">
- <StackPanel Margin="2" Orientation="Vertical">
- <GroupBox Header="{Binding}" BorderThickness="0.5">
- <GroupBox.HeaderTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Text="{Binding Reviewer.Name}" Margin="2" VerticalAlignment="Stretch"/>
- </StackPanel>
- </DataTemplate>
- </GroupBox.HeaderTemplate>
- <ScrollViewer PanningMode="Both" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
- HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto"/>
- <RowDefinition Height="*"/>
- </Grid.RowDefinitions>
- <StackPanel Grid.Row="0" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="审核通过" Foreground="Green" Visibility="{Binding IsPassed, Converter={extensions:BoolToVisibilityConverter}}" TextWrapping="Wrap"/>
- </StackPanel>
- <StackPanel Grid.Row="1" Orientation="Vertical">
- <ItemsControl ItemsSource="{Binding Results}">
- <!--<ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <WrapPanel>
- </WrapPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>-->
- <ItemsControl.Resources>
- <DataTemplate DataType="{x:Type model:SingleReviewedResult}">
- <StackPanel Margin="2" Orientation="Horizontal">
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding Title}" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding ReviewResult}" Foreground="Red" TextWrapping="Wrap"/>
- <TextBox Style="{StaticResource ReadOnlyTextBoxStyle}" Margin="2,0" Text="{Binding ReviewComment}" Foreground="Orange" TextWrapping="Wrap"/>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </StackPanel>
- </Grid>
- </ScrollViewer>
- </GroupBox>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </GroupBox>
- <GroupBox Margin="2" Header="{Binding}" BorderThickness="0.5" Visibility="{Binding HasDeveloperItem, Converter={extensions:BoolToVisibilityConverter}}">
- <GroupBox.HeaderTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <TextBlock Text="{Binding DeveloperItemHeader}" Margin="2" VerticalAlignment="Center"/>
- </StackPanel>
- </DataTemplate>
- </GroupBox.HeaderTemplate>
- <StackPanel Margin="2" Orientation="Horizontal">
- <TextBlock Margin="2,0" Text="{Binding QuestionedState}" TextWrapping="Wrap"/>
- <TextBlock Margin="5,0" Text="{Binding ConfirmedState}" TextWrapping="Wrap"/>
- </StackPanel>
- </GroupBox>
- </StackPanel>
- </DataTemplate>
- </ItemsControl.Resources>
- </ItemsControl>
- </ScrollViewer>
- </GroupBox>
- <StackPanel VerticalAlignment="Center" Orientation="Horizontal" Margin="2,5,0,0">
- <TextBlock Foreground="White" Text="质疑状态:" VerticalAlignment="Center" HorizontalAlignment="Left" />
- <TextBlock x:Name="txtQuestionedState" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0,0,5,0" />
- <Button x:Name="btnWithdrawalQuestioned" Content="撤销质疑" HorizontalAlignment="Right" Margin="2,0" Style="{StaticResource btn-warning}" Click="OnWithdrawalQuestionedFileClick"/>
- </StackPanel>
- <StackPanel VerticalAlignment="Center" Orientation="Horizontal" Margin="2,10,0,0">
- <TextBlock Foreground="White" Text="确认状态:" VerticalAlignment="Center" HorizontalAlignment="Left" />
- <TextBlock x:Name="txtConfirmedState" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="0,0,5,0" />
- <Button x:Name="btnAccepted" Content="接受" HorizontalAlignment="Right" Margin="2,0" Style="{StaticResource btn-success}" Click="OnAcceptedFileClick"/>
- <Button x:Name="btnAbandoned" Content="弃用" HorizontalAlignment="Right" Margin="2,0" Style="{StaticResource btn-danger}" Click="OnAbandonedFileClick"/>
- </StackPanel>
- </StackPanel>
- </ScrollViewer>
- <local:WaitingSpinner Grid.Column="0" Grid.ColumnSpan="2" x:Name="Waiting"/>
- </Grid>
- </Window>
|