- goalbook.zip
- GoalBook
- Dependencies
- CAG WPF 2
- Microsoft.Practices.Composite.dll
- Microsoft.Practices.Composite.Presentation.dll
- Microsoft.Practices.Composite.UnityExtensions.dll
- Microsoft.Practices.ObjectBuilder2.dll
- Microsoft.Practices.ServiceLocation.dll
- Microsoft.Practices.Unity.dll
- vssver2.scc
- CSLA
- Csla.dll
- Csla.XmlSerializers.dll
- vssver2.scc
- Infragistics
- Infragistics3.Wpf.DataPresenter.v9.1.Express.dll
- Infragistics3.Wpf.Editors.v9.1.Express.dll
- Infragistics3.Wpf.v9.1.Express.dll
- vssver2.scc
- WPFToolkit
- vssver2.scc
- WPFToolkit.dll
- GoalBook.Controls
- GoalBook.Goals
- GoalBook.Infrastructure
- GoalBook.Notes
- GoalBook.Public
- GoalBook.Shell
- App.ico
- App.xaml
- App.xaml.cs
- Bootstrapper.cs
- Commands
- GoalBook.Shell.csproj
- GoalBook.Shell.csproj.user
- Journal.ico
- Journal48.ico
- Misc
- Modules
- Properties
- Resources
- arrow_refresh.png
- arrow_undo.png
- checked.gif
- cross.png
- disk.png
- email.png
- erase.png
- error.png
- exclamation.png
- flag_red.png
- group.png
- help.png
- information.png
- magnifier.png
- page_red.png
- pencil.png
- printer.png
- user.png
- vssver2.scc
- Wave.jpg
- world.png
- world_link.png
- Services
- Splash.png
- Views
- vssver2.scc
- Windows
- GoalBook.sln
- GoalBook.snk
- GoalBook.Synchronisation
- GoalBook.Tasks
- License.txt
- ReadMe.txt
- SolutionInfo.cs
- vssver2.scc
|
//===============================================================================
// Goal Book.
// Copyright � 2009 Mark Brownsword.
//===============================================================================
#region Using Statements
using System.Windows;
using GoalBook.Goals;
using GoalBook.Infrastructure.Interfaces;
using GoalBook.Notes;
using GoalBook.Shell.Commands;
using GoalBook.Shell.Misc;
using GoalBook.Shell.Modules;
using GoalBook.Shell.Services;
using GoalBook.Shell.Windows;
using GoalBook.Tasks;
using Microsoft.Practices.Composite.Logging;
using Microsoft.Practices.Composite.Modularity;
using Microsoft.Practices.Composite.UnityExtensions;
using Microsoft.Practices.Unity;
#endregion
namespace GoalBook.Shell
{
internal class Bootstrapper : UnityBootstrapper
{
#region Constants and Enums
#endregion
#region Inner Classes and Structures
#endregion
#region Delegates and Events
#endregion
#region Instance and Shared Fields
private ApplicationSettings _applicationSettings;
private EventLogging _eventLogging;
private MainPresenter _presenter;
#endregion
#region Constructors
/// <summary>
/// Constructor.
/// </summary>
public Bootstrapper(ApplicationSettings applicationSettings, EventLogging eventLogging)
{
_applicationSettings = applicationSettings;
_eventLogging = eventLogging;
}
#endregion
#region Properties
#endregion
#region Private and Protected Methods
/// <summary>
/// Get Module Catalog. Statically loaded modules.
/// </summary>
protected override IModuleCatalog GetModuleCatalog()
{
return new ModuleCatalog()
.AddModule(typeof(TasksModule))
.AddModule(typeof(NotesModule))
.AddModule(typeof(GoalsModule))
.AddModule(typeof(SearchModule));
}
/// <summary>
/// Configure Container.
/// </summary>
protected override void ConfigureContainer()
{
// Register services (using ContainerControlledLifetimeManager to create singleton instances).
Container.RegisterType<IShellView, Main>(new ContainerControlledLifetimeManager());
Container.RegisterType<INavigationService, NavigationService>(new ContainerControlledLifetimeManager());
Container.RegisterType<IDialogService, DialogService>(new ContainerControlledLifetimeManager());
Container.RegisterType<IGlobalCommandsProxy, GlobalCommandsProxy>(new ContainerControlledLifetimeManager());
Container.RegisterType<IPersistenceService, IsolatedStorageService>(new ContainerControlledLifetimeManager());
Container.RegisterType<IPrintService, PrintService>(new ContainerControlledLifetimeManager());
// Register existing instances as services
Container.RegisterInstance<ISettingsService>(_applicationSettings, new ContainerControlledLifetimeManager());
Container.RegisterInstance<ILoggerService>(_eventLogging, new ContainerControlledLifetimeManager());
base.ConfigureContainer();
}
/// <summary>
/// Create Shell. Use the Unity Container to create an instance of Shell Presenter. The Unity
/// Container inspects the ShellPresenter contructor and injects the required types. Also
/// Set presenter model class as DataContext for the View. This makes everything
/// in the model (properties, commands etc) class available for XAML binding.
/// </summary>
protected override DependencyObject CreateShell()
{
_presenter = Container.Resolve<MainPresenter>();
_presenter.View.DataContext = _presenter.Model;
_presenter.View.InitialiseSettings(_applicationSettings);
return _presenter.View as DependencyObject;
}
#endregion
#region Public and internal Methods
/// <summary>
/// ShowShell.
/// </summary>
public void ShowShell()
{
_presenter.View.ShowView();
}
#endregion
#region Event Handlers
#endregion
#region Base Class Overrides
/// <summary>
/// Reference to LoggerService. Used by the Container to log information and exceptions.
/// </summary>
protected override ILoggerFacade LoggerFacade
{
get { return _eventLogging as ILoggerFacade; }
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I've been working as a software developer since 2000 and hold a Bachelor of Business degree from The Open Polytechnic of New Zealand. Computers are for people and I aim to build applications for people that they would want to use.