client/src/Iri.Modernisation/App.xaml.cs
author totetm <>
Thu, 04 Feb 2010 16:38:04 +0100
changeset 38 bd33267300aa
parent 24 c031f1132dde
permissions -rw-r--r--
- FranceCulture Project - Ldt and Iri Parse Method - Bug MenuableUserControl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     1
using System;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     2
using System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     3
using System.Linq;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     4
using System.Net;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     5
using System.Windows;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Controls;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Documents;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Media;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    10
using System.Windows.Media.Animation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    11
using System.Windows.Shapes;
4
cf756528609e Adding Internationalization features
Matthieu Totet
parents: 0
diff changeset
    12
using System.Threading;
cf756528609e Adding Internationalization features
Matthieu Totet
parents: 0
diff changeset
    13
using System.Globalization;
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    14
using System.Resources;
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    15
using Iri.Modernisation.BaseMVVM.Commands;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
namespace Iri.Modernisation
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
    public partial class App : Application
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
        public App()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
            this.Startup += this.Application_Startup;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
            this.Exit += this.Application_Exit;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
            this.UnhandledException += this.Application_UnhandledException;
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    26
            Commands.FlipView.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(FlipView_Executed);
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    27
            InitializeComponent();
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    28
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    30
        void FlipView_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    31
        {
24
c031f1132dde Update ProductionView
Matthieu Totet
parents: 6
diff changeset
    32
         
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    33
           
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    34
            this.RootVisual = new MainPage();
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
        private void Application_Startup(object sender, StartupEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
        {
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    39
            //CultureInfo culture = new CultureInfo("en-US");
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    40
            //Thread.CurrentThread.CurrentCulture = culture;
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    41
            //Thread.CurrentThread.CurrentUICulture = culture; 
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    42
           
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
            this.RootVisual = new MainPage();
6
cde7fe7f284e Minor Modification
Matthieu Totet
parents: 4
diff changeset
    44
          
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
        private void Application_Exit(object sender, EventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
            // If the app is running outside of the debugger then report the exception using
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
            // the browser's exception mechanism. On IE this will display it a yellow alert 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
            // icon in the status bar and Firefox will display a script error.
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
            if (!System.Diagnostics.Debugger.IsAttached)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
                // NOTE: This will allow the application to continue running after an exception has been thrown
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
                // but not handled. 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
                // For production applications this error handling should be replaced with something that will 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
                // report the error to the website and stop the application.
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
                e.Handled = true;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
                Deployment.Current.Dispatcher.BeginInvoke(delegate { ReportErrorToDOM(e); });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
        private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
            try
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
                errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
                System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
            catch (Exception)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
}