Commit 44ef652e authored by O'Reilly Media, Inc.'s avatar O'Reilly Media, Inc.
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading
+38 −0
Changes for CPlusPlus/Chapter01/Hello/Hello.sln: 38 added lines, 0 removed lines.
Original line number Diff line number Diff line

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2012 for Windows 8
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Hello", "Hello\Hello.vcxproj", "{8CF21C86-74AD-4255-8415-5371C553110A}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|ARM = Debug|ARM
		Debug|Win32 = Debug|Win32
		Debug|x64 = Debug|x64
		Release|ARM = Release|ARM
		Release|Win32 = Release|Win32
		Release|x64 = Release|x64
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|ARM.ActiveCfg = Debug|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|ARM.Build.0 = Debug|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|ARM.Deploy.0 = Debug|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|Win32.ActiveCfg = Debug|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|Win32.Build.0 = Debug|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|Win32.Deploy.0 = Debug|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|x64.ActiveCfg = Debug|x64
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|x64.Build.0 = Debug|x64
		{8CF21C86-74AD-4255-8415-5371C553110A}.Debug|x64.Deploy.0 = Debug|x64
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|ARM.ActiveCfg = Release|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|ARM.Build.0 = Release|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|ARM.Deploy.0 = Release|ARM
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|Win32.ActiveCfg = Release|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|Win32.Build.0 = Release|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|Win32.Deploy.0 = Release|Win32
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|x64.ActiveCfg = Release|x64
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|x64.Build.0 = Release|x64
		{8CF21C86-74AD-4255-8415-5371C553110A}.Release|x64.Deploy.0 = Release|x64
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
EndGlobal
+20 −0
Changes for CPlusPlus/Chapter01/Hello/Hello/App.xaml: 20 added lines, 0 removed lines.
Original line number Diff line number Diff line
<Application
    x:Class="Hello.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Hello">

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>

                <!-- 
                    Styles that define common aspects of the platform look and feel
                    Required by Visual Studio project and item templates
                 -->
                <ResourceDictionary Source="Common/StandardStyles.xaml"/>
            </ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>
    </Application.Resources>
</Application>
+107 −0
Changes for CPlusPlus/Chapter01/Hello/Hello/App.xaml.cpp: 107 added lines, 0 removed lines.
Original line number Diff line number Diff line
//
// App.xaml.cpp
// Implementation of the App class.
//

#include "pch.h"
#include "MainPage.xaml.h"

using namespace Hello;

using namespace Platform;
using namespace Windows::ApplicationModel;
using namespace Windows::ApplicationModel::Activation;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Controls::Primitives;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Interop;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;

// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=234227

/// <summary>
/// Initializes the singleton application object.  This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
App::App()
{
    InitializeComponent();
    Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending);
}

/// <summary>
/// Invoked when the application is launched normally by the end user.  Other entry points
/// will be used when the application is launched to open a specific file, to display
/// search results, and so forth.
/// </summary>
/// <param name="pArgs">Details about the launch request and process.</param>
void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ args)
{
    auto rootFrame = dynamic_cast<Frame^>(Window::Current->Content);

    // Do not repeat app initialization when the Window already has content,
    // just ensure that the window is active
    if (rootFrame == nullptr)
    {
        // Create a Frame to act as the navigation context and associate it with
        // a SuspensionManager key
        rootFrame = ref new Frame();

        if (args->PreviousExecutionState == ApplicationExecutionState::Terminated)
        {
            // TODO: Restore the saved session state only when appropriate, scheduling the
            // final launch steps after the restore is complete

        }

        if (rootFrame->Content == nullptr)
        {
            // When the navigation stack isn't restored navigate to the first page,
            // configuring the new page by passing required information as a navigation
            // parameter
            if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
            {
                throw ref new FailureException("Failed to create initial page");
            }
        }
        // Place the frame in the current Window
        Window::Current->Content = rootFrame;
        // Ensure the current window is active
        Window::Current->Activate();
    }
    else
    {
        if (rootFrame->Content == nullptr)
        {
            // When the navigation stack isn't restored navigate to the first page,
            // configuring the new page by passing required information as a navigation
            // parameter
            if (!rootFrame->Navigate(TypeName(MainPage::typeid), args->Arguments))
            {
                throw ref new FailureException("Failed to create initial page");
            }
        }
        // Ensure the current window is active
        Window::Current->Activate();
    }
}

/// <summary>
/// Invoked when application execution is being suspended.  Application state is saved
/// without knowing whether the application will be terminated or resumed with the contents
/// of memory still intact.
/// </summary>
/// <param name="sender">The source of the suspend request.</param>
/// <param name="e">Details about the suspend request.</param>
void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e)
{
    (void) sender;    // Unused parameter
    (void) e;    // Unused parameter

    //TODO: Save application state and stop any background activity
}
+24 −0
Changes for CPlusPlus/Chapter01/Hello/Hello/App.xaml.h: 24 added lines, 0 removed lines.
Original line number Diff line number Diff line
//
// App.xaml.h
// Declaration of the App class.
//

#pragma once

#include "App.g.h"

namespace Hello
{
    /// <summary>
    /// Provides application-specific behavior to supplement the default Application class.
    /// </summary>
    ref class App sealed
    {
    public:
        App();
        virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ pArgs) override;

    private:
        void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e);
    };
}
+16.2 KiB
Loading image diff...
Loading