--- a/client/src/Iri.Modernisation.BaseMVVM/Commands/Commands.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.BaseMVVM/Commands/Commands.cs Thu Dec 03 16:05:57 2009 +0100
@@ -374,8 +374,13 @@
{
static ProductionTimeLine()
{
+ EditorPartSelected = new Command("EditorPartSelected");
}
-
+ public static Command EditorPartSelected
+ {
+ get;
+ private set;
+ }
static public void Initialize()
{ }
}
@@ -492,6 +497,7 @@
HeaderProduction.Initialize();
ProductionTimeLine.Initialize();
VideoViewer.Initialize();
+ ProductionTimeLine.Initialize();
}
}
}
--- a/client/src/Iri.Modernisation.Controls/Iri.Modernisation.Controls.csproj Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/Iri.Modernisation.Controls.csproj Thu Dec 03 16:05:57 2009 +0100
@@ -87,6 +87,7 @@
<Compile Include="ViewModel\NavigationBar\ProductionMenuVM.cs" />
<Compile Include="ViewModel\ProductionTimeLine\CustomableVideoElementVM.cs" />
<Compile Include="ViewModel\ProductionTimeLine\ProductionTimeLineVM.cs" />
+ <Compile Include="ViewModel\ProductionView\ProductionViewVM.cs" />
<Compile Include="ViewModel\VideoViewer\VideoViewerVM.cs" />
<Compile Include="View\AnnotationMaker\AnnotationMaker.xaml.cs">
<DependentUpon>AnnotationMaker.xaml</DependentUpon>
@@ -130,6 +131,9 @@
<Compile Include="View\HeaderProduction\HeaderProduction.xaml.cs">
<DependentUpon>HeaderProduction.xaml</DependentUpon>
</Compile>
+ <Compile Include="View\HeaderProduction\HeaderProductionPartControler.xaml.cs">
+ <DependentUpon>HeaderProductionPartControler.xaml</DependentUpon>
+ </Compile>
<Compile Include="View\Main\Main.xaml.cs">
<DependentUpon>Main.xaml</DependentUpon>
</Compile>
@@ -231,6 +235,10 @@
<Generator>MSBuild:MarkupCompilePass1</Generator>
<SubType>Designer</SubType>
</Page>
+ <Page Include="View\HeaderProduction\HeaderProductionPartControler.xaml">
+ <Generator>MSBuild:MarkupCompilePass1</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="View\Main\Main.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:MarkupCompilePass1</Generator>
--- a/client/src/Iri.Modernisation.Controls/View/ClickMenu/ClickMenuLayer.xaml.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ClickMenu/ClickMenuLayer.xaml.cs Thu Dec 03 16:05:57 2009 +0100
@@ -28,12 +28,13 @@
void MenuClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
{
-
+ Point p = ((MouseButtonEventArgs)e.Parameter).GetPosition(Application.Current.RootVisual);
+
this.ClickMenu.Margin = new Thickness(
- ((MouseButtonEventArgs) e.Parameter).GetPosition(this).X - 40,
- ((MouseButtonEventArgs) e.Parameter).GetPosition(this).Y - 40,
+ ((MouseButtonEventArgs) e.Parameter).GetPosition(Application.Current.RootVisual).X - 40,
+ ((MouseButtonEventArgs) e.Parameter).GetPosition(Application.Current.RootVisual).Y - 40,
ClickMenu.Margin.Right,
- ClickMenu.Margin.Bottom);
+ ClickMenu.Margin.Bottom);
}
--- a/client/src/Iri.Modernisation.Controls/View/HeaderProduction/HeaderProduction.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/HeaderProduction/HeaderProduction.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -4,9 +4,15 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:Input="clr-namespace:SLExtensions.Input;assembly=SLExtensions"
+ xmlns:View="clr-namespace:Iri.Modernisation.Controls.View"
+ xmlns:Lang="clr-namespace:Iri.Modernisation.Lang;assembly=Iri.Modernisation.Lang"
+
mc:Ignorable="d"
x:Class="Iri.Modernisation.Controls.View.HeaderProduction" d:DesignHeight="216" Width="952">
-
+<UserControl.Resources>
+ <Lang:LangResource x:Name="LangLabels" x:Key="LangLabels"></Lang:LangResource>
+
+ </UserControl.Resources>
<Grid x:Name="HeaderProductionPanel">
<StackPanel x:Name="HeaderProductionOptionPanel" Width="282" Orientation="Horizontal" Height="24" HorizontalAlignment="Left" VerticalAlignment="Top">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="HeaderProductionLabel" Text="Mon Video Livre" TextWrapping="Wrap"/>
@@ -18,13 +24,12 @@
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="ChapterTitleLabel" Text="Modernisation" TextWrapping="Wrap"/>
<StackPanel x:Name="Chapter01Panel" Height="82" Margin="8,0,19,0">
<Grid x:Name="C01EPanel" Height="27" HorizontalAlignment="Left" Width="149">
- <Button x:Name="C01EButton" BorderThickness="1" Input:CommandService.Command="Chap01EditingOkClick" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,26,0" d:LayoutOverrides="HorizontalAlignment" IsEnabled="{Binding IsChap01EditingEnable}" />
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C01ELabel" Text="Edition" TextWrapping="Wrap" HorizontalAlignment="Left" Width="53"/>
+ <View:HeaderProductionPartControler x:Name="ModernisationEditionController" Text="{Binding AnnotationMakerTitle, Source={StaticResource LangLabels}}" d:LayoutOverrides="VerticalMargin"/>
</Grid>
<Grid x:Name="C01IPanel" Height="27" HorizontalAlignment="Left" Width="149">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C01ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,76,0"/>
- <Button Input:CommandService.Command="Chap01IndexingOkClick" x:Name="C01IButton" BorderThickness="1" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,26,0" d:LayoutOverrides="HorizontalAlignment" IsEnabled="{Binding IsChap01IndexingEnable}"/>
- </Grid>
+
+ <View:HeaderProductionPartControler IsActive="{Binding IsChap01IndexingEnable}" x:Name="ModernisationIndexController" Text="Indexation"/>
+ </Grid>
<Grid x:Name="C01EnPanel" Height="28" HorizontalAlignment="Left" Width="149" RenderTransformOrigin="0.5,0.5">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C01EnLabel" Text="Enrichissement" TextWrapping="Wrap" d:LayoutOverrides="HorizontalAlignment"/>
</Grid>
@@ -34,12 +39,12 @@
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="ChapterTitleLabel1" TextWrapping="Wrap"><Run Text="Moderni"/><Run Text="té"/></TextBlock>
<StackPanel x:Name="Chapter02Panel" Height="82" Margin="8,0">
<Grid x:Name="C02EPanel" Height="27" HorizontalAlignment="Left" Width="166">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C02ELabel" Text="Edition" TextWrapping="Wrap" Margin="0,0,82,0"/>
- <Button x:Name="C02EButton" BorderThickness="1" Input:CommandService.Command="Chap02EditingOkClick" Width="45" Content="Ok" HorizontalAlignment="Right" Margin="0,0,30,0" IsEnabled="{Binding IsChap02EditingEnable}"/>
+ <View:HeaderProductionPartControler x:Name="ModerniteEditionController" ></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C02IPanel" Height="27" HorizontalAlignment="Left" Width="166">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C02ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,82,0"/>
- <Button Input:CommandService.Command="Chap02IndexingOkClick" x:Name="C02IButton" BorderThickness="1" Width="45" Content="Ok" HorizontalAlignment="Right" Margin="0,0,30,0" IsEnabled="{Binding IsChap02IndexingEnable}"/>
+ <!--<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C02ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,82,0"/>
+ <Button Input:CommandService.Command="Chap02IndexingOkClick" x:Name="C02IButton" BorderThickness="1" Width="45" Content="Ok" HorizontalAlignment="Right" Margin="0,0,30,0" IsEnabled="{Binding IsChap02IndexingEnable}"/>-->
+ <View:HeaderProductionPartControler x:Name="ModerniteIndexController" ></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C02EnPanel" Height="28" HorizontalAlignment="Left" Width="166">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C02EnLabel" Text="Enrichissement" TextWrapping="Wrap"/>
@@ -50,12 +55,14 @@
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="ChapterTitleLabel2" Text="Post-Modernité" TextWrapping="Wrap"/>
<StackPanel x:Name="Chapter03Panel" Height="82" Margin="8,0">
<Grid x:Name="C03EPanel" Height="27" HorizontalAlignment="Left" Width="173">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C03ELabel" Text="Edition" TextWrapping="Wrap" Margin="0,0,89,0"/>
- <Button x:Name="C03EButton" BorderThickness="1" Width="43" Input:CommandService.Command="Chap03EditingOkClick" Content="Ok" HorizontalAlignment="Right" Margin="0,0,39,0" IsEnabled="{Binding IsChap03EditingEnable}"/>
+ <!--<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C03ELabel" Text="Edition" TextWrapping="Wrap" Margin="0,0,89,0"/>
+ <Button x:Name="C03EButton" BorderThickness="1" Width="43" Input:CommandService.Command="Chap03EditingOkClick" Content="Ok" HorizontalAlignment="Right" Margin="0,0,39,0" IsEnabled="{Binding IsChap03EditingEnable}"/>-->
+ <View:HeaderProductionPartControler x:Name="PostModerniteEditionController"></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C03IPanel" Height="27" HorizontalAlignment="Left" Width="173">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C03ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,89,0"/>
- <Button Input:CommandService.Command="Chap03IndexingOkClick" x:Name="C03IButton" BorderThickness="1" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,39,0" IsEnabled="{Binding IsChap03IndexingEnable}"/>
+ <!--<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C03ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,89,0"/>
+ <Button Input:CommandService.Command="Chap03IndexingOkClick" x:Name="C03IButton" BorderThickness="1" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,39,0" IsEnabled="{Binding IsChap03IndexingEnable}"/>-->
+ <View:HeaderProductionPartControler x:Name="PostModerniteIndexController"></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C03EnPanel" Height="28" HorizontalAlignment="Left" Width="173">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C03EnLabel" Text="Enrichissement" TextWrapping="Wrap" Margin="0,0,89,0"/>
@@ -66,12 +73,14 @@
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="ChapterTitleLabel3" Text="Ouverture" TextWrapping="Wrap"/>
<StackPanel x:Name="Chapter04Panel" Height="82" Margin="8,0">
<Grid x:Name="C04EPanel" Height="27" HorizontalAlignment="Left" Width="165">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C04ELabel" Text="Edition" TextWrapping="Wrap" Margin="0,0,81,0"/>
- <Button x:Name="C04EButton" BorderThickness="1" Input:CommandService.Command="Chap04EditingOkClick" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,31,0" IsEnabled="{Binding IsChap04EditingEnable}"/>
+ <!--<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C04ELabel" Text="Edition" TextWrapping="Wrap" Margin="0,0,81,0"/>
+ <Button x:Name="C04EButton" BorderThickness="1" Input:CommandService.Command="Chap04EditingOkClick" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,31,0" IsEnabled="{Binding IsChap04EditingEnable}"/>-->
+ <View:HeaderProductionPartControler x:Name="OuvertureEditionController"></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C04IPanel" Height="27" HorizontalAlignment="Left" Width="165">
- <TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C04ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,81,0"/>
- <Button Input:CommandService.Command="Chap04IndexingOkClick" x:Name="C04IButton" BorderThickness="1" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,31,0" IsEnabled="{Binding IsChap04IndexingEnable}"/>
+ <!--<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C04ILabel" Text="Indexation" TextWrapping="Wrap" Margin="0,0,81,0"/>
+ <Button Input:CommandService.Command="Chap04IndexingOkClick" x:Name="C04IButton" BorderThickness="1" Width="43" Content="Ok" HorizontalAlignment="Right" Margin="0,0,31,0" IsEnabled="{Binding IsChap04IndexingEnable}"/>-->
+ <View:HeaderProductionPartControler x:Name="OuvertureIndexController"></View:HeaderProductionPartControler>
</Grid>
<Grid x:Name="C04EnPanel" Height="28" HorizontalAlignment="Left" Width="165">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="C04EnLabel" Text="Enrichissement" TextWrapping="Wrap" Margin="0,0,81,0"/>
--- a/client/src/Iri.Modernisation.Controls/View/HeaderProduction/HeaderProduction.xaml.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/HeaderProduction/HeaderProduction.xaml.cs Thu Dec 03 16:05:57 2009 +0100
@@ -7,7 +7,9 @@
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
-
+using Iri.Modernisation.BaseMVVM.Commands;
+using Iri.Modernisation.Controls.ViewModel;
+using Iri.Modernisation.Data.Models;
namespace Iri.Modernisation.Controls.View
{
public partial class HeaderProduction : UserControl
@@ -16,6 +18,195 @@
{
// Required to initialize variables
InitializeComponent();
- }
+ ModernisationEditionController.Active();
+ ModernisationEditionController.Text = Iri.Modernisation.Lang.LangResource.AnnotationMakerTitle;
+
+ ModerniteEditionController.Text = "Edition";
+ ModerniteIndexController.Text = "Indexation";
+ PostModerniteEditionController.Text = "Edition";
+ PostModerniteIndexController.Text = "Indexation";
+ OuvertureEditionController.Text = "Edition";
+ OuvertureIndexController.Text = "Indexation";
+
+ /////////////////////////--
+ ModernisationEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+ ModernisationIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+
+ ModerniteEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+ ModerniteIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+
+ PostModerniteEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+ PostModerniteIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+
+ OuvertureEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+ OuvertureIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(HeaderProductionPartSelected);
+ //////////////////////
+ ModernisationEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(ModernisationEditionController_HeaderProductionPartSelected);
+ ModernisationIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(ModernisationIndexController_HeaderProductionPartSelected);
+
+ ModerniteEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(ModerniteEditionController_HeaderProductionPartSelected);
+ ModerniteIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(ModerniteIndexController_HeaderProductionPartSelected);
+
+ PostModerniteEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(PostModerniteEditionController_HeaderProductionPartSelected);
+ PostModerniteIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(PostModerniteIndexController_HeaderProductionPartSelected);
+
+ OuvertureEditionController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(OuvertureEditionController_HeaderProductionPartSelected);
+ OuvertureIndexController.HeaderProductionPartSelected += new EventHandler<HeaderProductionPartControlerEventArgs>(OuvertureIndexController_HeaderProductionPartSelected);
+ //////////////////////
+ ModernisationEditionController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(ModernisationEditionControler_HeaderProductionPartFinished);
+ ModernisationIndexController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(ModernisationIndexControl_HeaderProductionPartFinished);
+
+ ModerniteEditionController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(ModerniteEditionControler_HeaderProductionPartFinished);
+ ModerniteIndexController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(ModerniteIndexController_HeaderProductionPartFinished);
+
+ PostModerniteEditionController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(PostModerniteEditionController_HeaderProductionPartFinished);
+ PostModerniteIndexController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(PostModerniteIndexController_HeaderProductionPartFinished);
+
+ OuvertureEditionController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(OuvertureEditionController_HeaderProductionPartFinished);
+ OuvertureIndexController.HeaderProductionPartFinished += new EventHandler<HeaderProductionPartControlerEventArgs>(OuvertureIndexController_HeaderProductionPartFinished);
+ }
+
+ void OuvertureIndexController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart != null)
+ {
+ SelectedPart(sender, new HeaderProductionEventArgs(VideoChapterType.Ouverture, true));
+ }
+ }
+
+ void OuvertureEditionController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart != null)
+ {
+ SelectedPart(sender, new HeaderProductionEventArgs(VideoChapterType.Ouverture, false));
+ }
+ }
+
+ void PostModerniteIndexController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart != null)
+ {
+ SelectedPart(sender, new HeaderProductionEventArgs(VideoChapterType.Postmodernite, true));
+ }
+ }
+
+ void PostModerniteEditionController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart != null)
+ {
+ SelectedPart(sender, new HeaderProductionEventArgs(VideoChapterType.Postmodernite, false));
+ }
+ }
+
+ void ModerniteIndexController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart != null)
+ {
+ SelectedPart(sender, new HeaderProductionEventArgs(VideoChapterType.Modernite, true));
+ }
+ }
+
+ void ModerniteEditionController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart!=null)
+ {
+ SelectedPart(sender,new HeaderProductionEventArgs(VideoChapterType.Modernite,false));
+ }
+ }
+
+ void ModernisationIndexController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart!=null)
+ {
+ SelectedPart(sender,new HeaderProductionEventArgs(VideoChapterType.Modernisation,true));
+ }
+ }
+
+ void ModernisationEditionController_HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ if (SelectedPart!=null)
+ {
+ SelectedPart(sender,new HeaderProductionEventArgs(VideoChapterType.Modernisation,false));
+ }
+ }
+
+ void OuvertureIndexController_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap04IndexingOkClick.Execute();
+ }
+
+ void PostModerniteIndexController_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap03IndexingOkClick.Execute();
+ }
+
+ void ModerniteIndexController_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap02IndexingOkClick.Execute();
+ }
+
+ void OuvertureEditionController_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap04EditingOkClick.Execute();
+ OuvertureIndexController.Active();
+ }
+
+ void PostModerniteEditionController_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap03EditingOkClick.Execute();
+ PostModerniteIndexController.Active();
+ OuvertureEditionController.Active();
+ }
+
+ void ModerniteEditionControler_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+
+ Commands.HeaderProduction.Chap02EditingOkClick.Execute();
+ ModerniteIndexController.Active();
+ PostModerniteEditionController.Active();
+ }
+
+ void ModernisationIndexControl_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap01IndexingOkClick.Execute();
+ }
+
+ void HeaderProductionPartSelected(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ ModernisationEditionController.UnSelect();
+ ModernisationIndexController.UnSelect();
+
+ ModerniteEditionController.UnSelect();
+ ModerniteIndexController.UnSelect();
+
+ PostModerniteEditionController.UnSelect();
+ PostModerniteIndexController.UnSelect();
+
+ OuvertureEditionController.UnSelect();
+ OuvertureIndexController.UnSelect();
+ ((HeaderProductionPartControler)sender).Select();
+ }
+
+ void ModernisationEditionControler_HeaderProductionPartFinished(object sender, HeaderProductionPartControlerEventArgs e)
+ {
+ Commands.HeaderProduction.Chap01EditingOkClick.Execute();
+ ModernisationIndexController.Active();
+ ModerniteEditionController.Active();
+
+ }
+ public event EventHandler<HeaderProductionEventArgs> SelectedPart;
+
+
}
+ public class HeaderProductionEventArgs : EventArgs
+ {
+ public VideoChapterType ChapterType;
+ public bool IsIndexPart;
+ public HeaderProductionEventArgs(VideoChapterType chapterType,bool isIndexpPrt)
+ {
+ ChapterType = chapterType;
+ IsIndexPart = isIndexpPrt;
+ }
+
+ }
}
\ No newline at end of file
--- a/client/src/Iri.Modernisation.Controls/View/Main/Main.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/Main/Main.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -23,7 +23,7 @@
</hsl:FXFlip.Front>
<hsl:FXFlip.Back>
<Grid x:Name="backgrid" >
- <View:ProductionView x:Name="ProductionViewElement" DataContext="{Binding ViewModelHeaderProduction}"></View:ProductionView>
+ <View:ProductionView x:Name="ProductionViewElement" DataContext="{Binding ViewModelProductionView}"></View:ProductionView>
</Grid>
</hsl:FXFlip.Back>
</hsl:FXFlip>
--- a/client/src/Iri.Modernisation.Controls/View/ProductionEditor/ProductionEditor.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionEditor/ProductionEditor.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -7,7 +7,7 @@
<Button x:Name="ProductionViewerDisplayChutierButton" Width="75" Content="Chutier"/>
<Button x:Name="ProductionViewerDisplayWebcamButton" Width="75" Content="Webcam"/>
</StackPanel>
- <View:VideoViewer Margin="0,0,24,0" Height="227"/>
+ <View:VideoViewer Margin="0,0,24,0" Height="227"/>
<StackPanel x:Name="DescriptionSegmentPanel" Height="114">
<TextBlock Style="{StaticResource CommonTextBlock}" x:Name="TitleSegmentLabel" Text="Title Segment" TextWrapping="Wrap" Height="16" Margin="0,0,8,0"/>
<ScrollViewer x:Name="DescriptionSegmentScroller" Height="73" Margin="0,0,8,0">
--- a/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/CustomableVideoElement.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/CustomableVideoElement.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -1,21 +1,26 @@
-<UserControl x:Class="Iri.Modernisation.Controls.View.CustomableVideoElement"
+<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" BorderBrush="Black" Width="{Binding Duration, Mode=OneTime}">
+ xmlns:Converter="clr-namespace:Iri.Modernisation.Controls.Converter"
+ 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" x:Class="Iri.Modernisation.Controls.View.CustomableVideoElement"
+ BorderBrush="Black" Width="{Binding Duration, Mode=OneTime}" mc:Ignorable="d">
+ <UserControl.Resources>
+ <Converter:PolemicTypeColorConverter x:Key="PolemicTypeColorConverter"/>
+ </UserControl.Resources>
<Grid x:Name="LayoutRoot">
<ToolTipService.ToolTip>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding BeginTrim}"/>
- <TextBlock Text="|- "></TextBlock>
- <TextBlock Text="{Binding DurationTimeSpan}"></TextBlock>
- <TextBlock Text="-| "></TextBlock>
+ <TextBlock Text="|- "/>
+ <TextBlock Text="{Binding DurationTimeSpan}"/>
+ <TextBlock Text="-| "/>
<TextBlock Text="{Binding EndTrim}"/>
</StackPanel>
</ToolTipService.ToolTip>
- <Rectangle Fill="#FFFF0909" Stroke="Black" StrokeThickness="0"/>
- <Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" HorizontalAlignment="Left" Width="5" Cursor="SizeWE"/>
- <Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" HorizontalAlignment="Right" Width="5" Cursor="SizeWE"/>
+ <Rectangle Fill="{Binding Chapter, Converter={StaticResource PolemicTypeColorConverter}, Mode=TwoWay}" Stroke="Black" StrokeThickness="0"/>
+ <Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" HorizontalAlignment="Left" Width="2" Cursor="SizeWE" d:LayoutOverrides="HorizontalAlignment"/>
+ <Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" HorizontalAlignment="Right" Width="2" Cursor="SizeWE" d:LayoutOverrides="HorizontalAlignment"/>
<Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" Height="2" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="8"/>
<Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" Height="2" HorizontalAlignment="Left" VerticalAlignment="Top" Width="8"/>
<Rectangle Fill="Black" Stroke="Black" StrokeThickness="0" Height="2" HorizontalAlignment="Right" VerticalAlignment="Top" Width="8"/>
--- a/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/ProductionTimeLine.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/ProductionTimeLine.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -17,12 +17,13 @@
<Slider x:Name="ScaleTimeLine" Width="199" Margin="111,0,0,0" Minimum="600" Maximum="10000" Value="600"/>
</StackPanel>
<ScrollViewer x:Name="TimeLineScroller" Height="154" >
- <Grid Height="144" Width="613">
+ <Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
- <Slider Width="{Binding Value, ElementName=ScaleTimeLine, Mode=OneWay}" x:Name="slider" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" SmallChange="0" ValueChanged="slider_ValueChanged"/>
- <StackPanel Width="{Binding Value, ElementName=ScaleTimeLine, Mode=OneWay}" x:Name="TimeStrip" Margin="0,21,0,0" d:LayoutOverrides="Width" Orientation="Horizontal" Height="32" VerticalAlignment="Top" />
+ <Slider x:Name="slider" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" SmallChange="0" ValueChanged="slider_ValueChanged"/>
+ <StackPanel x:Name="VideoTimeStrip" Margin="0,21,0,0" Orientation="Horizontal" Height="32" VerticalAlignment="Top" />
+ <StackPanel x:Name="AnnotationTimeStrip" Margin="0,57,0,67" Orientation="Horizontal" />
</Grid>
</ScrollViewer>
</StackPanel>
--- a/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/ProductionTimeLine.xaml.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionTimeLine/ProductionTimeLine.xaml.cs Thu Dec 03 16:05:57 2009 +0100
@@ -26,6 +26,7 @@
{
// Required to initialize variables
InitializeComponent();
+
Commands.Action.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Action_Executed);
}
@@ -38,23 +39,42 @@
private void AddSequenceButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
Random rndNumbers = new Random();
-
+ if(!((ProductionTimeLineVM)DataContext).IsIndexing)
+ {
CustomableVideoElement _temp = new CustomableVideoElement()
{
DataContext = new CustomableVideoElementVM(new VideoSequence()
{
- RunTime = new TimeSpan(0, rndNumbers.Next(10,60), 0),
+ RunTime = new TimeSpan(0, rndNumbers.Next(10, 60), 0),
BeginTrim = new TimeSpan(0, 0, 0),
- EndTrim = new TimeSpan(0, 0, 0)
- }),
- // Width = 200
+ EndTrim = new TimeSpan(0, 0, 0),
+
+ }) { Chapter = ((ProductionTimeLineVM)this.DataContext).SelectedChapterType},
+ // Width = 200
};
+
_temp.MouseMove += new MouseEventHandler(CustomableVideoElement_MouseMove);
_temp.MouseLeftButtonDown += new MouseButtonEventHandler(CustomableVideoElement_MouseLeftButtonDown);
_temp.MouseLeftButtonUp += new MouseButtonEventHandler(CustomableVideoElement_MouseLeftButtonUp);
- TimeStrip.Children.Add(_temp );// TODO: Add event handler implementation here.
+
+ VideoTimeStrip.Children.Add(_temp );// TODO: Add event handler implementation here.
+ }
+ else
+ {
+ VideoChapter vc = ((ProductionTimeLineVM)DataContext).SelectedBookChapter;
+ PolemicElementControl an = new PolemicElementControl()
+ {
+ DataContext = new PolemicElementVM(new SegmentIndex(vc))
+ {
+ TimerIn = TimeSpan.Zero,
+ Duration = new TimeSpan(0, rndNumbers.Next(10, 60), 0)
+ },
+ };
+ //((ProductionTimeLineVM)DataContext).SelectedBookChapter);
+ AnnotationTimeStrip.Children.Add(an);
+ }
}
@@ -75,7 +95,7 @@
void CustomableVideoElement_MouseMove(object sender, MouseEventArgs e)
{
- _selected = ((CustomableVideoElement)sender);
+
if (_isTrimRightCapturated && ((CustomableVideoElement)sender).CaptureMouse())
{
((CustomableVideoElement)sender).TrimRight = _comePoint.X - e.GetPosition(((CustomableVideoElement)sender)).X;
@@ -96,6 +116,7 @@
void CustomableVideoElement_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
+ _selected = ((CustomableVideoElement)sender);
if (e.GetPosition(((CustomableVideoElement)sender)).X >= ((CustomableVideoElement)sender).Width - 5)
{
_comePoint = e.GetPosition(((CustomableVideoElement)sender));
@@ -110,7 +131,7 @@
private void DeleteSequenceButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
- TimeStrip.Children.Remove(_selected);
+ VideoTimeStrip.Children.Remove(_selected);
}
}
}
\ No newline at end of file
--- a/client/src/Iri.Modernisation.Controls/View/ProductionView/ProductionView.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionView/ProductionView.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -5,8 +5,8 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Class="Iri.Modernisation.Controls.View.ProductionView" mc:Ignorable="d" Height="688">
<Grid x:Name="LayoutRoot">
- <View:HeaderProduction HorizontalAlignment="Left" VerticalAlignment="Top" d:LayoutOverrides="VerticalAlignment"/>
- <View:ProductionTimeLine Height="176" VerticalAlignment="Bottom"/>
+ <View:HeaderProduction DataContext="{Binding ViewModelHeaderProduction}" x:Name="HeaderProductionElement" HorizontalAlignment="Left" VerticalAlignment="Top" d:LayoutOverrides="VerticalAlignment"/>
+ <View:ProductionTimeLine Height="176" VerticalAlignment="Bottom" DataContext="{Binding ViewModelProductionTimeLine}"/>
<View:ProductionEditor Margin="272,115,0,0" HorizontalAlignment="Left" Height="369" VerticalAlignment="Top"/>
<View:VideoViewer HorizontalAlignment="Right" Margin="0,115,8,204" Width="404"/>
<StackPanel x:Name="RecordsPanel" HorizontalAlignment="Left" Margin="8,288,0,216" Width="248">
--- a/client/src/Iri.Modernisation.Controls/View/ProductionView/ProductionView.xaml.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/View/ProductionView/ProductionView.xaml.cs Thu Dec 03 16:05:57 2009 +0100
@@ -9,14 +9,22 @@
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
-
+using Iri.Modernisation.BaseMVVM.Commands;
namespace Iri.Modernisation.Controls.View
{
public partial class ProductionView : UserControl
{
public ProductionView()
{
+ Commands.Initialize();
InitializeComponent();
+ HeaderProductionElement.SelectedPart += Commands.ProductionTimeLine.EditorPartSelected.Execute;
+ //HeaderProductionElement.SelectedPart += new EventHandler<HeaderProductionEventArgs>(HeaderProductionElement_SelectedPart);
+ }
+
+ void HeaderProductionElement_SelectedPart(object sender, HeaderProductionEventArgs e)
+ {
+ MessageBox.Show(e.ChapterType.ToString());
}
}
}
--- a/client/src/Iri.Modernisation.Controls/ViewModel/HeaderProduction/HeaderProductionVM.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/HeaderProduction/HeaderProductionVM.cs Thu Dec 03 16:05:57 2009 +0100
@@ -30,6 +30,7 @@
{
_isChap01EditingComplete = value;
OnPropertyChanged("IsChap01EditingComplete");
+
GeneralRefresh();
}
@@ -144,15 +145,8 @@
#region Etat des Boutton
private void GeneralRefresh()
{
- OnPropertyChanged("IsChap01EditingEnable");
- OnPropertyChanged("IsChap01IndexingEnable");
- OnPropertyChanged("IsChap02EditingEnable");
- OnPropertyChanged("IsChap02IndexingEnable");
- OnPropertyChanged("IsChap03EditingEnable");
- OnPropertyChanged("IsChap03IndexingEnable");
- OnPropertyChanged("IsChap04EditingEnable");
- OnPropertyChanged("IsChap04IndexingEnable");
- OnPropertyChanged("IsVideoBookComplete");
+ OnPropertyChanged(String.Empty);
+
}
public bool IsChap01EditingEnable
{
@@ -308,6 +302,7 @@
void Chap01EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
{
this.IsChap01EditingComplete = true;
+ GeneralRefresh();
}
}
}
--- a/client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs Thu Dec 03 16:05:57 2009 +0100
@@ -58,7 +58,21 @@
}
}
- private HeaderProductionVM _headerProductionVM;
+ private ProductionViewVM _productionViewVM;
+ public ProductionViewVM ViewModelProductionView
+ {
+ get
+ {
+ return _productionViewVM;
+ }
+ set
+ {
+ _productionViewVM = value;
+ OnPropertyChanged("ViewModelProductionView");
+ }
+ }
+
+ /*private HeaderProductionVM _headerProductionVM;
public HeaderProductionVM ViewModelHeaderProduction
{
get
@@ -70,7 +84,7 @@
_headerProductionVM = value;
OnPropertyChanged("ViewModelHeaderProduction");
}
- }
+ }*/
public MainVM(List<VideoBook> videoBooks)
{
@@ -80,10 +94,11 @@
// Initialisation des Components //
+ ViewModelProductionView = new ProductionViewVM();
ViewModelConsultationView = new ConsultationViewVM();
ViewModelNavigationBar = new NavigationBarVM() { ConsultMenuViewModel = new ConsultMenuVM(SelectedVideoBooks) };
ViewModelHeaderControl = new HeaderControlVM();
- ViewModelHeaderProduction = new HeaderProductionVM();
+ // ViewModelHeaderProduction = new HeaderProductionVM();
//------------------------------------------------------//
}
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/CustomableVideoElementVM.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/CustomableVideoElementVM.cs Thu Dec 03 16:05:57 2009 +0100
@@ -23,6 +23,7 @@
_runTime = paramSeq.RunTime;
_beginTrim = paramSeq.BeginTrim;
_endTrim = paramSeq.EndTrim;
+
OnPropertyChanged("Duration");
}
@@ -83,6 +84,21 @@
}
}
+
+ private VideoChapterType _chapter;
+ public VideoChapterType Chapter
+ {
+ get
+ {
+ return _chapter;
+ }
+ set
+ {
+ _chapter = value;
+ OnPropertyChanged("Chapter");
+ }
+ }
+
public new TimeSpan DurationTimeSpan
{
get
--- a/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation.Controls/ViewModel/ProductionTimeLine/ProductionTimeLineVM.cs Thu Dec 03 16:05:57 2009 +0100
@@ -11,13 +11,27 @@
using Iri.Modernisation.Data.Models;
using Iri.Modernisation.BaseMVVM.Commands;
using Iri.Modernisation.BaseMVVM.ViewModel;
+using Iri.Modernisation.Controls.View;
using System.Collections.Generic;
namespace Iri.Modernisation.Controls.ViewModel
{
public class ProductionTimeLineVM : BaseMVVM.ViewModel.ViewModel
{
-
+
+ private bool _isIndexing;
+ public bool IsIndexing
+ {
+ get
+ {
+ return _isIndexing;
+ }
+ set
+ {
+ _isIndexing = value;
+ OnPropertyChanged("IsIndexing");
+ }
+ }
private VideoBook _newBook;
private List<VideoSequence>[] _listVideoSequences = new List<VideoSequence>[4];
@@ -34,6 +48,24 @@
OnPropertyChanged("SelectedVideoSequences");
}
}
+
+ public VideoChapter[] Chapters
+ {
+ get
+ {
+ return _newBook.Chapters;
+ }
+
+
+ }
+ public VideoChapter SelectedBookChapter
+ {
+ get
+ {
+ return _newBook.Chapters[SelectedChapter];
+ }
+ }
+
private int _selectedChapter=0;
public int SelectedChapter
{
@@ -65,9 +97,34 @@
}
}
+ private VideoChapterType _selectedChapterType;
+ public VideoChapterType SelectedChapterType
+ {
+ get
+ {
+ return _selectedChapterType;
+ }
+ set
+ {
+ _selectedChapterType = value;
+ OnPropertyChanged("SelectedChapterType");
+ }
+ }
+
+
public ProductionTimeLineVM()
{
_newBook = new VideoBook();
+
+
+ Commands.ProductionTimeLine.EditorPartSelected.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(EditorPartSelected_Executed);
+
+ }
+
+ void EditorPartSelected_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
+ {
+ SelectedChapterType = ((HeaderProductionEventArgs)e.Source).ChapterType ;
+ IsIndexing = ((HeaderProductionEventArgs)e.Source).IsIndexPart;
}
}
}
--- a/client/src/Iri.Modernisation/App.xaml Thu Dec 03 16:05:43 2009 +0100
+++ b/client/src/Iri.Modernisation/App.xaml Thu Dec 03 16:05:57 2009 +0100
@@ -7,6 +7,7 @@
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Iri.Modernisation.Styles;Component/Templates_CommonTemplate.xaml"/>
+ <ResourceDictionary Source="/Iri.Modernisation.Styles;Component/Templates_AnnotationMaker.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>