using System; using System.Collections.Generic; using System.Linq; using System.Text; // Foo Namespaces using Foo.DataAccessLayer; using Foo.DataAccessLayer.DataTypes; using System.Windows; namespace Foo.ClientServices.GUIWPForms { /// /// Used to save GUI State Information for all of GUIWPForms, /// such as last selected SortOrder etc. ~very useful for having multiple forms /// communicate with each other * C# Singleton # /// public static class GUIState { // WorkspaceSelector_StandardPage comboBox Workspace SortOrder public static SortOrderForWorkspaces LastSelectedSotOrderWorkspaces { get; set; } public static int LastSelectedSotOrderWorkspacesIndex { get; set; } // WorkspaceSelector_StandardPage dataGrid Selected WorkspaceName public static string LastSelectedWorkspaceName { get; set; } // ArtifactWall public static SortOrderForArtifacts LastSelectedSotOrderArtifacts { get; set; } public static int LastSelectedSotOrderArtifactsIndex { get; set; } // Keeping track of launched WPF GUI's public static Window CurrentlyShowingWPFWindow { get; set; } /// /// Defaults /// static GUIState() { // Defaults for comboBox Workspace SortOrder LastSelectedSotOrderWorkspaces = SortOrderForWorkspaces.Ascending; LastSelectedSotOrderWorkspacesIndex = 0; // Defaults for Selected WorkspaceName LastSelectedWorkspaceName = String.Empty; // Artifact Wall LastSelectedSotOrderArtifacts = SortOrderForArtifacts.Ascending; LastSelectedSotOrderArtifactsIndex = 0; // Keeping track of launched WPF GUI's CurrentlyShowingWPFWindow = null; } } }