Zwei neue Buttons ("Mitarbeit", "Anwesenheit/Hausaufgabe") öffnen die
bestehenden Schnellbewertungs-Dialoge direkt aus dem Unterrichtsmodus, ohne
zum Mitarbeit-Tab wechseln zu müssen — TeachingModeViewModel bekommt dafür
eine eigene ParticipationTabViewModel-Instanz, vorselektiert auf die zu
dieser Stunde gehörende Sitzung. Die linke Spalte zeigt jetzt zusätzlich die
Hausaufgabe der letzten Stunde mit Kontrolliert-Checkbox sowie die
Hausaufgabe dieser Stunde als editierbares Feld, statt nur lesbar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
130 lines
8.1 KiB
XML
130 lines
8.1 KiB
XML
<Window xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:vm="clr-namespace:LehrerApp.Desktop.ViewModels.Groups"
|
|
xmlns:views="clr-namespace:LehrerApp.Desktop.Views.Groups"
|
|
x:Class="LehrerApp.Desktop.Views.Groups.TeachingModeWindow"
|
|
x:DataType="vm:TeachingModeViewModel"
|
|
Title="{Binding LessonInfo.Topic, StringFormat='Unterrichtsmodus · {0}'}"
|
|
Width="1400" Height="850" MinWidth="1000" MinHeight="600"
|
|
WindowState="Maximized" CanResize="True" WindowStartupLocation="CenterScreen">
|
|
|
|
<Grid RowDefinitions="Auto,*" Margin="20">
|
|
<Grid Grid.Row="0" ColumnDefinitions="*,Auto" Margin="0,0,0,14">
|
|
<StackPanel Grid.Column="0" Spacing="3">
|
|
<TextBlock FontSize="20" FontWeight="SemiBold">
|
|
<Run Text="{Binding GroupName}"/><Run Text=" · "/><Run Text="{Binding LessonInfo.Topic}"/>
|
|
</TextBlock>
|
|
<StackPanel Orientation="Horizontal" Spacing="16">
|
|
<TextBlock FontSize="12" Opacity="0.65">
|
|
<Run Text="Datum: "/><Run Text="{Binding LessonInfo.DateDisplay}"/>
|
|
</TextBlock>
|
|
<TextBlock FontSize="12" Opacity="0.65">
|
|
<Run Text="Beginn: "/><Run Text="{Binding LessonInfo.StartTimeDisplay}"/>
|
|
</TextBlock>
|
|
<TextBlock FontSize="12" Opacity="0.65">
|
|
<Run Text="Status: "/><Run Text="{Binding LessonInfo.StatusLabel}"/>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
<StackPanel Grid.Column="1" Orientation="Horizontal" Spacing="8" VerticalAlignment="Center">
|
|
<!-- Nutzer-Feedback: die Schnellbewertungs-Dialoge gab es bisher nur über den
|
|
Mitarbeit-Tab der Gruppe — hier direkt auf die Sitzung dieser Stunde vorselektiert
|
|
(siehe TeachingModeViewModel), kein Umweg mehr über "Zur Mitarbeit". -->
|
|
<Button Content="⚡ Mitarbeit" Command="{Binding Participation.QuickInputCommand}"
|
|
ToolTip.Tip="Mitarbeit dieser Stunde schnell bewerten."/>
|
|
<Button Content="⚡ Anwesenheit/Hausaufgabe" Command="{Binding Participation.StatusQuickInputCommand}"
|
|
ToolTip.Tip="Anwesenheit und Hausaufgabenstatus dieser Stunde schnell erfassen."/>
|
|
<Button Content="Zur Mitarbeit" Command="{Binding LessonInfo.NavigateToParticipationCommand}"
|
|
ToolTip.Tip="Schließt den Unterrichtsmodus und springt zum Tab 'Mitarbeit' der Lerngruppe."/>
|
|
<Button Content="Zu den Noten" Command="{Binding LessonInfo.NavigateToGradesCommand}"/>
|
|
<Button Content="Unterrichtsmodus beenden" Click="OnClose" Margin="16,0,0,0"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="1" ColumnDefinitions="360,16,*">
|
|
<Border Grid.Column="0" BorderBrush="{DynamicResource SystemControlForegroundBaseLowBrush}"
|
|
BorderThickness="0,0,1,0" Padding="0,0,16,0">
|
|
<ScrollViewer>
|
|
<StackPanel Spacing="14">
|
|
<TextBlock Text="Verlaufsplan" FontSize="14" FontWeight="SemiBold"/>
|
|
|
|
<ItemsControl ItemsSource="{Binding LessonInfo.PhaseGroups}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:PhaseGroupViewItem">
|
|
<StackPanel Margin="0,0,0,10">
|
|
<StackPanel IsVisible="{Binding $parent[ItemsControl].((vm:LessonViewerViewModel)DataContext).HasAlternatives}">
|
|
<TextBlock Text="{Binding Label}" FontSize="12" FontWeight="SemiBold" Opacity="0.75" Margin="0,6,0,2"/>
|
|
<TextBlock Text="{Binding Description}" FontSize="11" Opacity="0.55" TextWrapping="Wrap" Margin="0,0,0,6"
|
|
IsVisible="{Binding Description, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
</StackPanel>
|
|
<ItemsControl ItemsSource="{Binding Phases}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:PhaseViewItem">
|
|
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}"
|
|
CornerRadius="6" Padding="10,8" Margin="0,0,0,6">
|
|
<StackPanel Spacing="2">
|
|
<Grid ColumnDefinitions="*,Auto">
|
|
<TextBlock Grid.Column="0" Text="{Binding Name}" FontSize="13" FontWeight="SemiBold"
|
|
TextWrapping="Wrap"/>
|
|
<TextBlock Grid.Column="1" FontSize="11" Opacity="0.6">
|
|
<Run Text="{Binding TimeDisplay}"/><Run Text=" · "/>
|
|
<Run Text="{Binding DurationMinutes, StringFormat='{}{0} Min.'}"/>
|
|
</TextBlock>
|
|
</Grid>
|
|
<TextBlock Text="{Binding Activity}" FontSize="12" TextWrapping="Wrap"
|
|
IsVisible="{Binding Activity, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>
|
|
<TextBlock FontSize="11" Opacity="0.55" TextWrapping="Wrap"
|
|
IsVisible="{Binding Material, Converter={x:Static StringConverters.IsNotNullOrEmpty}}">
|
|
<Run Text="Material: "/><Run Text="{Binding Material}"/>
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
|
|
<!-- Nutzer-Feedback: Hausaufgabe der letzten Stunde ansehen/als kontrolliert abhaken
|
|
und die Hausaufgabe DIESER Stunde einsehen/ändern, ohne den vollen
|
|
Verlaufsplan-Editor öffnen zu müssen — manchmal ergibt sich die Hausaufgabe erst
|
|
während des Unterrichts. Ersetzt die bisherige rein lesbare Anzeige
|
|
(LessonInfo.Homework), die dasselbe Feld doppelt und nur lesend gezeigt hätte. -->
|
|
<Border Background="{DynamicResource SystemControlBackgroundAltHighBrush}"
|
|
CornerRadius="6" Padding="10,8" IsVisible="{Binding Homework.HasPreviousHomework}">
|
|
<StackPanel Spacing="4">
|
|
<TextBlock FontSize="12" FontWeight="SemiBold" Opacity="0.6">
|
|
<Run Text="Hausaufgabe letzte Stunde"/><Run Text=" · "/>
|
|
<Run Text="{Binding Homework.PreviousLessonLabel}"/>
|
|
</TextBlock>
|
|
<TextBlock Text="{Binding Homework.PreviousHomeworkText}" FontSize="13" TextWrapping="Wrap"/>
|
|
<CheckBox Content="Kontrolliert" IsChecked="{Binding Homework.PreviousHomeworkChecked}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<StackPanel Spacing="4">
|
|
<TextBlock Text="Hausaufgabe (diese Stunde)" FontSize="12" FontWeight="SemiBold" Opacity="0.6"/>
|
|
<TextBox Text="{Binding Homework.CurrentHomework, Mode=TwoWay}" AcceptsReturn="True"
|
|
TextWrapping="Wrap" MinHeight="52" PlaceholderText="Noch keine Hausaufgabe eingetragen…"/>
|
|
<Grid ColumnDefinitions="Auto,*">
|
|
<Button Grid.Column="0" Content="Speichern" Command="{Binding Homework.SaveCurrentHomeworkCommand}"/>
|
|
<TextBlock Grid.Column="1" Text="{Binding Homework.SaveStatus}" FontSize="11" Opacity="0.55"
|
|
VerticalAlignment="Center" Margin="8,0,0,0"/>
|
|
</Grid>
|
|
</StackPanel>
|
|
|
|
<StackPanel Spacing="4" IsVisible="{Binding LessonInfo.Reflection, Converter={x:Static StringConverters.IsNotNullOrEmpty}}">
|
|
<TextBlock Text="Reflexion" FontSize="12" FontWeight="SemiBold" Opacity="0.6"/>
|
|
<TextBlock Text="{Binding LessonInfo.Reflection}" FontSize="13" TextWrapping="Wrap"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</Border>
|
|
|
|
<views:SeatingPlanTabView Grid.Column="2" DataContext="{Binding SeatingPlan}"/>
|
|
</Grid>
|
|
</Grid>
|
|
</Window>
|