--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu.sln.cache Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,115 @@
+<Project DefaultTargets="Build" ToolsVersion="3.5" InitialTargets="ValidateSolutionConfiguration;ValidateToolsVersions" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <_SolutionProjectConfiguration>Debug|Any CPU</_SolutionProjectConfiguration>
+ <_SolutionProjectToolsVersion>3.5</_SolutionProjectToolsVersion>
+ <_SolutionProjectCacheVersion>3.5</_SolutionProjectCacheVersion>
+ </PropertyGroup>
+ <ItemGroup>
+ <_SolutionProjectProjects Include="TestMenu\TestMenu.csproj" />
+ </ItemGroup>
+ <ItemGroup Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') ">
+ <BuildLevel0 Include="TestMenu\TestMenu.csproj">
+ <Configuration>Debug</Configuration>
+ <Platform>AnyCPU</Platform>
+ </BuildLevel0>
+ </ItemGroup>
+ <ItemGroup Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') ">
+ <BuildLevel0 Include="TestMenu\TestMenu.csproj">
+ <Configuration>Release</Configuration>
+ <Platform>AnyCPU</Platform>
+ </BuildLevel0>
+ </ItemGroup>
+ <UsingTask TaskName="Microsoft.Build.Tasks.CreateTemporaryVCProject" AssemblyName="Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <UsingTask TaskName="Microsoft.Build.Tasks.ResolveVCProjectOutput" AssemblyName="Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <PropertyGroup Condition=" '$(Configuration)' == '' ">
+ <Configuration>Debug</Configuration>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Platform)' == '' ">
+ <Platform>Any CPU</Platform>
+ </PropertyGroup>
+ <PropertyGroup Condition=" ('$(AspNetConfiguration)' == '') ">
+ <AspNetConfiguration>$(Configuration)</AspNetConfiguration>
+ </PropertyGroup>
+ <PropertyGroup>
+ <SolutionDir>C:\Users\Jonathan\Desktop\Développement\IRI\test\TestMenu\</SolutionDir>
+ <SolutionExt>.sln</SolutionExt>
+ <SolutionFileName>TestMenu.sln</SolutionFileName>
+ <SolutionName>TestMenu</SolutionName>
+ <SolutionPath>C:\Users\Jonathan\Desktop\Développement\IRI\test\TestMenu\TestMenu.sln</SolutionPath>
+ </PropertyGroup>
+ <PropertyGroup>
+ <TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == '' and '$(MSBuildToolsVersion)' == '2.0'">v2.0</TargetFrameworkVersion>
+ <TargetFrameworkVersion Condition="'$(TargetFrameworkVersion)' == '' and '$(MSBuildToolsVersion)' != '2.0'">v3.5</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') ">
+ <CurrentSolutionConfigurationContents>
+ <SolutionConfiguration xmlns="">
+ <ProjectConfiguration Project="{2211F916-A6FF-40D4-BFC5-09AAB1088D3A}">Debug|AnyCPU</ProjectConfiguration>
+ </SolutionConfiguration>
+ </CurrentSolutionConfigurationContents>
+ </PropertyGroup>
+ <PropertyGroup Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') ">
+ <CurrentSolutionConfigurationContents>
+ <SolutionConfiguration xmlns="">
+ <ProjectConfiguration Project="{2211F916-A6FF-40D4-BFC5-09AAB1088D3A}">Release|AnyCPU</ProjectConfiguration>
+ </SolutionConfiguration>
+ </CurrentSolutionConfigurationContents>
+ </PropertyGroup>
+ <Target Name="ValidateSolutionConfiguration">
+ <Error Text="La configuration de solution spécifiée "$(Configuration)|$(Platform)" n'est pas valide. Spécifiez une configuration de solution valide à l'aide des propriétés Configuration et Platform (exemple : MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") ou laissez ces propriétés vides si vous voulez utiliser la configuration de solution par défaut." Code="MSB4126" HelpKeyword="MSBuild.SolutionInvalidSolutionConfiguration" Condition="('$(CurrentSolutionConfigurationContents)' == '') and ('$(SkipInvalidConfigurations)' != 'true')" />
+ <Warning Text="La configuration de solution spécifiée "$(Configuration)|$(Platform)" n'est pas valide. Spécifiez une configuration de solution valide à l'aide des propriétés Configuration et Platform (exemple : MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") ou laissez ces propriétés vides si vous voulez utiliser la configuration de solution par défaut." Code="MSB4126" HelpKeyword="MSBuild.SolutionInvalidSolutionConfiguration" Condition="('$(CurrentSolutionConfigurationContents)' == '') and ('$(SkipInvalidConfigurations)' == 'true')" />
+ <Message Text="Génération de la configuration de solution "$(Configuration)|$(Platform)"." Condition="'$(CurrentSolutionConfigurationContents)' != ''" />
+ </Target>
+ <Target Name="ValidateToolsVersions">
+ <Error Text="La version des outils "$(MSBuildToolsVersion)" de la solution ne prend pas en charge la génération de projets avec une autre version d'outils." Code="MSB4149" HelpKeyword="MSBuild.SolutionToolsVersionDoesNotSupportProjectToolsVersion" Condition="'$(MSBuildToolsVersion)' == '2.0' and ('$(ProjectToolsVersion)' != '2.0' and '$(ProjectToolsVersion)' != '')" />
+ </Target>
+ <Target Name="TestMenu" Condition="'$(CurrentSolutionConfigurationContents)' != ''" Outputs="@(TestMenuBuildOutput)">
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Properties="Configuration=Debug; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') ">
+ <Output TaskParameter="TargetOutputs" ItemName="TestMenuBuildOutput" />
+ </MSBuild>
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Properties="Configuration=Release; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') ">
+ <Output TaskParameter="TargetOutputs" ItemName="TestMenuBuildOutput" />
+ </MSBuild>
+ </Target>
+ <Target Name="TestMenu:Clean" Condition="'$(CurrentSolutionConfigurationContents)' != ''">
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Clean" Properties="Configuration=Debug; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') " />
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Clean" Properties="Configuration=Release; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') " />
+ </Target>
+ <Target Name="TestMenu:Rebuild" Condition="'$(CurrentSolutionConfigurationContents)' != ''" Outputs="@(TestMenuBuildOutput)">
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Rebuild" Properties="Configuration=Debug; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') ">
+ <Output TaskParameter="TargetOutputs" ItemName="TestMenuBuildOutput" />
+ </MSBuild>
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Rebuild" Properties="Configuration=Release; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') ">
+ <Output TaskParameter="TargetOutputs" ItemName="TestMenuBuildOutput" />
+ </MSBuild>
+ </Target>
+ <Target Name="TestMenu:Publish" Condition="'$(CurrentSolutionConfigurationContents)' != ''">
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Publish" Properties="Configuration=Debug; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Debug') and ('$(Platform)' == 'Any CPU') " />
+ <MSBuild Projects="TestMenu\TestMenu.csproj" Targets="Publish" Properties="Configuration=Release; Platform=AnyCPU; BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" Condition=" ('$(Configuration)' == 'Release') and ('$(Platform)' == 'Any CPU') " />
+ </Target>
+ <Target Name="Build" Condition="'$(CurrentSolutionConfigurationContents)' != ''" Outputs="@(CollectedBuildOutput)">
+ <MSBuild Condition="@(BuildLevel0) != ''" Projects="@(BuildLevel0)" Properties="Configuration=%(Configuration); Platform=%(Platform); BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" ToolsVersion="$(ProjectToolsVersion)" BuildInParallel="true" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)">
+ <Output TaskParameter="TargetOutputs" ItemName="CollectedBuildOutput" />
+ </MSBuild>
+ <Message Text="Le projet "%(SkipLevel0.Identity)" n'est pas sélectionné dans le cadre d'une génération dans la configuration de solution "$(Configuration)|$(Platform)"." Condition="@(SkipLevel0) != ''" />
+ <Warning Text="La configuration du projet "%(MissingConfigLevel0.Identity)" n'était pas spécifiée dans le fichier solution pour la configuration de solution "$(Configuration)|$(Platform)"." Code="MSB4121" HelpKeyword="MSBuild.SolutionProjectConfigurationMissing" Condition="@(MissingConfigLevel0) != ''" />
+ </Target>
+ <Target Name="Clean" Condition="'$(CurrentSolutionConfigurationContents)' != ''">
+ <MSBuild Condition="@(BuildLevel0) != ''" Projects="@(BuildLevel0)" Properties="Configuration=%(Configuration); Platform=%(Platform); BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" Targets="Clean" ToolsVersion="$(ProjectToolsVersion)" BuildInParallel="true" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" />
+ <Message Text="Le projet "%(SkipLevel0.Identity)" n'est pas sélectionné dans le cadre d'une génération dans la configuration de solution "$(Configuration)|$(Platform)"." Condition="@(SkipLevel0) != ''" />
+ <Warning Text="La configuration du projet "%(MissingConfigLevel0.Identity)" n'était pas spécifiée dans le fichier solution pour la configuration de solution "$(Configuration)|$(Platform)"." Code="MSB4121" HelpKeyword="MSBuild.SolutionProjectConfigurationMissing" Condition="@(MissingConfigLevel0) != ''" />
+ <Delete Files="TestMenu.sln.cache" />
+ </Target>
+ <Target Name="Rebuild" Condition="'$(CurrentSolutionConfigurationContents)' != ''" Outputs="@(CollectedBuildOutput)">
+ <MSBuild Condition="@(BuildLevel0) != ''" Projects="@(BuildLevel0)" Properties="Configuration=%(Configuration); Platform=%(Platform); BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" Targets="Rebuild" ToolsVersion="$(ProjectToolsVersion)" BuildInParallel="true" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)">
+ <Output TaskParameter="TargetOutputs" ItemName="CollectedBuildOutput" />
+ </MSBuild>
+ <Message Text="Le projet "%(SkipLevel0.Identity)" n'est pas sélectionné dans le cadre d'une génération dans la configuration de solution "$(Configuration)|$(Platform)"." Condition="@(SkipLevel0) != ''" />
+ <Warning Text="La configuration du projet "%(MissingConfigLevel0.Identity)" n'était pas spécifiée dans le fichier solution pour la configuration de solution "$(Configuration)|$(Platform)"." Code="MSB4121" HelpKeyword="MSBuild.SolutionProjectConfigurationMissing" Condition="@(MissingConfigLevel0) != ''" />
+ </Target>
+ <Target Name="Publish" Condition="'$(CurrentSolutionConfigurationContents)' != ''">
+ <MSBuild Condition="@(BuildLevel0) != ''" Projects="@(BuildLevel0)" Properties="Configuration=%(Configuration); Platform=%(Platform); BuildingSolutionFile=true; CurrentSolutionConfigurationContents=$(CurrentSolutionConfigurationContents); SolutionDir=$(SolutionDir); SolutionExt=$(SolutionExt); SolutionFileName=$(SolutionFileName); SolutionName=$(SolutionName); SolutionPath=$(SolutionPath)" Targets="Publish" ToolsVersion="$(ProjectToolsVersion)" BuildInParallel="true" UnloadProjectsOnCompletion="$(UnloadProjectsOnCompletion)" UseResultsCache="$(UseResultsCache)" />
+ <Message Text="Le projet "%(SkipLevel0.Identity)" n'est pas sélectionné dans le cadre d'une génération dans la configuration de solution "$(Configuration)|$(Platform)"." Condition="@(SkipLevel0) != ''" />
+ <Warning Text="La configuration du projet "%(MissingConfigLevel0.Identity)" n'était pas spécifiée dans le fichier solution pour la configuration de solution "$(Configuration)|$(Platform)"." Code="MSB4121" HelpKeyword="MSBuild.SolutionProjectConfigurationMissing" Condition="@(MissingConfigLevel0) != ''" />
+ </Target>
+</Project>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu.sln.orig Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestMenu", "TestMenu\TestMenu.csproj", "{2211F916-A6FF-40D4-BFC5-09AAB1088D3A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2211F916-A6FF-40D4-BFC5-09AAB1088D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2211F916-A6FF-40D4-BFC5-09AAB1088D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2211F916-A6FF-40D4-BFC5-09AAB1088D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2211F916-A6FF-40D4-BFC5-09AAB1088D3A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/ActionBase.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestMenu
+{
+ public interface ActionBase
+ {
+ void Execute();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/ActionFactory.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestMenu
+{
+ class ActionFactory
+ {
+ public ActionBase GenerateAction(Type T, Object Arg)
+ {
+ try
+ {
+ return (ActionBase)Activator.CreateInstance(T);
+ }
+ catch (Exception ex)
+ {
+ return null;
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/ActionShowMessage.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using System.Windows.Threading;
+using Microsoft.Surface;
+using Microsoft.Surface.Presentation;
+using Microsoft.Surface.Presentation.Controls;
+
+namespace TestMenu
+{
+ class ActionShowMessage : ActionBase
+ {
+ string _Text = "";
+
+ public ActionShowMessage(string text)
+ {
+ _Text = text;
+ }
+
+ public void Execute()
+ {
+ MessageBox.Show(_Text);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/Item.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestMenu
+{
+ [Serializable]
+ public class Item
+ {
+ public List<Item> Items = new List<Item>();
+ public string name = "";
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/Menu.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace TestMenu
+{
+ [Serializable]
+ public class Menu
+ {
+ public List<Item> Items = new List<Item>();
+ }
+}
Binary file test/TestMenu/TestMenu/Resources/WindowBackground.jpg has changed
Binary file test/TestMenu/TestMenu/Resources/icon.png has changed
Binary file test/TestMenu/TestMenu/Resources/iconPreview.png has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/SurfaceWindow1.xaml Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,14 @@
+<s:SurfaceWindow x:Class="TestMenu.SurfaceWindow1"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:s="http://schemas.microsoft.com/surface/2008"
+ Title="TestMenu"
+ >
+ <s:SurfaceWindow.Resources>
+ <ImageBrush x:Key="WindowBackground" Stretch="None" Opacity="0.6" ImageSource="pack://application:,,,/Resources/WindowBackground.jpg"/>
+ </s:SurfaceWindow.Resources>
+
+ <Grid Background="{StaticResource WindowBackground}" >
+ <s:SurfaceMenu x:Name="MyMenu" Cursor="None" Height="52" VerticalAlignment="Top" Margin="0,0,165,0"/>
+ </Grid>
+</s:SurfaceWindow>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/SurfaceWindow1.xaml.cs Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,121 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using System.Windows.Threading;
+using Microsoft.Surface;
+using Microsoft.Surface.Presentation;
+using Microsoft.Surface.Presentation.Controls;
+using System.IO;
+using System.Xml.Serialization;
+
+namespace TestMenu
+{
+ /// <summary>
+ /// Interaction logic for SurfaceWindow1.xaml
+ /// </summary>
+ public partial class SurfaceWindow1 : SurfaceWindow
+ {
+ /// <summary>
+ /// Default constructor.
+ /// </summary>
+ public SurfaceWindow1()
+ {
+ InitializeComponent();
+
+ StreamReader reader = null;
+ reader = new StreamReader("test.xml");
+ XmlSerializer serializer = new XmlSerializer(typeof(Menu));
+ Menu temp = (Menu)serializer.Deserialize(reader);
+ foreach (Item elt in temp.Items)
+ MyMenu.Items.Add(CreateMenuItem(elt));
+ reader.Close();
+
+ // Add handlers for Application activation events
+ AddActivationHandlers();
+ }
+
+ public SurfaceMenuItem CreateMenuItem(Item item)
+ {
+ SurfaceMenuItem MItem = new SurfaceMenuItem();
+ MItem.Header = item.name;
+ MItem.Visibility = Visibility.Visible;
+ foreach (Item elt in item.Items) MItem.Items.Add(CreateMenuItem(elt));
+ return MItem;
+ }
+
+ /// <summary>
+ /// Occurs when the window is about to close.
+ /// </summary>
+ /// <param name="e"></param>
+ protected override void OnClosed(EventArgs e)
+ {
+ base.OnClosed(e);
+
+ // Remove handlers for Application activation events
+ RemoveActivationHandlers();
+ }
+
+ /// <summary>
+ /// Adds handlers for Application activation events.
+ /// </summary>
+ private void AddActivationHandlers()
+ {
+ // Subscribe to surface application activation events
+ ApplicationLauncher.ApplicationActivated += OnApplicationActivated;
+ ApplicationLauncher.ApplicationPreviewed += OnApplicationPreviewed;
+ ApplicationLauncher.ApplicationDeactivated += OnApplicationDeactivated;
+ }
+
+ /// <summary>
+ /// Removes handlers for Application activation events.
+ /// </summary>
+ private void RemoveActivationHandlers()
+ {
+ // Unsubscribe from surface application activation events
+ ApplicationLauncher.ApplicationActivated -= OnApplicationActivated;
+ ApplicationLauncher.ApplicationPreviewed -= OnApplicationPreviewed;
+ ApplicationLauncher.ApplicationDeactivated -= OnApplicationDeactivated;
+ }
+
+ /// <summary>
+ /// This is called when application has been activated.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void OnApplicationActivated(object sender, EventArgs e)
+ {
+ //TODO: enable audio, animations here
+ }
+
+ /// <summary>
+ /// This is called when application is in preview mode.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void OnApplicationPreviewed(object sender, EventArgs e)
+ {
+ //TODO: Disable audio here if it is enabled
+
+ //TODO: optionally enable animations here
+ }
+
+ /// <summary>
+ /// This is called when application has been deactivated.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void OnApplicationDeactivated(object sender, EventArgs e)
+ {
+ //TODO: disable audio, animations here
+ }
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/TestMenu.idc Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,1 @@
+<Configurations active="Default"><Configuration name="Default"><Command val=""></Command><RunMode val="a host path through a shared folder"></RunMode><ShareFolders val=""></ShareFolders><RemoteDebugMonitor val="C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe"></RemoteDebugMonitor><MonitorName val="VMDebug"></MonitorName><RemoteVM val=""></RemoteVM><StartMode val="No"></StartMode><TerminationMode val="No operation"></TerminationMode><CopyFiles val=""></CopyFiles><PreCommandLine val=""></PreCommandLine><PostCommandLine val=""></PostCommandLine><RecordingToReplay val=""></RecordingToReplay><ReplayVM val=""></ReplayVM><BaseSnapshotForRecording val=""></BaseSnapshotForRecording><HostDllPath val=""></HostDllPath></Configuration></Configurations>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/TestMenu/TestMenu/TestMenu.xml Tue Aug 04 18:52:14 2009 +0200
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<!--
+This file contains the information needed to install your application
+with the Surface Shell. Please refer to the documentation for deployment
+instructions.
+-->
+<ss:ApplicationInfo
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ss="http://schemas.microsoft.com/Surface/2007/ApplicationMetadata">
+ <Application>
+ <Title>TestMenu</Title>
+ <Description>TestMenu</Description>
+ <ExecutableFile>TestMenu.exe</ExecutableFile>
+ <Arguments></Arguments>
+ <IconImageFile>Resources\icon.png</IconImageFile>
+ <Preview>
+ <PreviewImageFile>Resources\iconPreview.png</PreviewImageFile>
+ </Preview>
+ <Tags>
+ <!--
+ If your application uses tagged objects, please uncomment this section to register the tags with the Shell.
+ You can register ByteTag(s), IdentityTag(s) or both by using the appropriate instructions below.
+ -->
+ <!--
+ To register ByteTags:
+ 1. Please uncomment the Byte Tag Element below.
+ 2. Replace "C0" below with the value of your Byte Tag (in hexadecimal format). Repeat this section (this element and its children) for other Byte Tags
+ 3. Please remove the Launch element if you do not want to register the tag with Object Routing.
+ -->
+ <!--
+ <ByteTag Value="C0">
+ <Actions>
+ <Launch />
+ </Actions>
+ </ByteTag>
+ -->
+ <!--
+ To register IdentityTags:
+ 1. Please uncomment the Identity Tag Element below.
+ 2. Replace "0000000000000000" below with the series of your Identity Tag (in hexadecimal format). Repeat this section (this element and its children) for other Identity Tags
+ 3. Please remove the Launch element if you do not want to register the tag with Object Routing.
+ -->
+ <!--
+ <IdentityTag Series="0000000000000000">
+ <Actions>
+ <Launch />
+ </Actions>
+ </IdentityTag>
+ -->
+ </Tags>
+ </Application>
+
+ <!--
+ Uncomment this section and comment out the Application element above
+ if you are creating an Attract Mode Application.
+ -->
+ <!--
+ <AttractApplication>
+ <ExecutableFile>TestMenu.exe</ExecutableFile>
+ <Arguments></Arguments>
+ </AttractApplication>
+ -->
+</ss:ApplicationInfo>
\ No newline at end of file
--- a/test/TestMenu/TestMenu/Window1.xaml Tue Aug 04 18:45:52 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<Window x:Class="TestMenu.Window1"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="Window1" Height="300" Width="300">
- <Grid>
-
- </Grid>
-</Window>
--- a/test/TestMenu/TestMenu/Window1.xaml.cs Tue Aug 04 18:45:52 2009 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Data;
-using System.Windows.Documents;
-using System.Windows.Input;
-using System.Windows.Media;
-using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
-using System.Windows.Shapes;
-
-namespace TestMenu
-{
- /// <summary>
- /// Logique d'interaction pour Window1.xaml
- /// </summary>
- public partial class Window1 : Window
- {
- public Window1()
- {
- InitializeComponent();
- }
- }
-}