From a0fc2b5e701659d1ed17eba9c2888cae6d519c1e Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 16 Apr 2017 09:48:33 -0400 Subject: More documentation --- ShiftOS_TheReturn/Desktop.cs | 101 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 99 insertions(+), 2 deletions(-) (limited to 'ShiftOS_TheReturn/Desktop.cs') diff --git a/ShiftOS_TheReturn/Desktop.cs b/ShiftOS_TheReturn/Desktop.cs index b72f0cc..bc17a8e 100644 --- a/ShiftOS_TheReturn/Desktop.cs +++ b/ShiftOS_TheReturn/Desktop.cs @@ -37,6 +37,10 @@ using static ShiftOS.Engine.SkinEngine; namespace ShiftOS.Engine { + /// + /// Denotes that this class is launchable from the App Launcher. + /// + [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public class LauncherAttribute : Attribute { /// @@ -54,10 +58,29 @@ namespace ShiftOS.Engine ID = upgradeID; } + /// + /// Gets or sets the name of the launcher item + /// public string Name { get; set; } + + /// + /// Gets or sets whether this entry requires a Shiftorium upgrade. + /// public bool RequiresUpgrade { get; set; } + + /// + /// Gets or sets the ID of the required upgrade. + /// public string ID { get; set; } + + /// + /// Gets or sets this item's category. + /// public string Category { get; private set; } + + /// + /// Gets whether or not the required upgrade is installed. + /// public bool UpgradeInstalled { get @@ -70,36 +93,110 @@ namespace ShiftOS.Engine } } - + /// + /// Provides core functionality for a typical ShiftOS desktop. + /// public interface IDesktop { + /// + /// Gets the name of the desktop. + /// string DesktopName { get; } + + /// + /// Performs most of the skinning and layout handling for the desktop. + /// void SetupDesktop(); + /// + /// Hides the currently-opened app launcher menu. + /// void HideAppLauncher(); + + /// + /// Populates the app launcher menu. + /// + /// All items to be placed in the menu. void PopulateAppLauncher(LauncherItem[] items); + + /// + /// Handles desktop-specific routines for showing ShiftOS windows. + /// + /// The calling window. void ShowWindow(IWindowBorder border); + + /// + /// Handles desktop-specific routines for closing ShiftOS windows. + /// + /// The calling window. void KillWindow(IWindowBorder border); + + /// + /// Populates the panel button list with all open windows. + /// void PopulatePanelButtons(); + + /// + /// Performs desktop-specific routines for minimizing a window. + /// + /// The calling window. void MinimizeWindow(IWindowBorder brdr); + + + /// + /// Performs desktop-specific routines for maximizing a window. + /// + /// The calling window. void MaximizeWindow(IWindowBorder brdr); + + + /// + /// Performs desktop-specific routines for restoring a window to its default state. + /// + /// The calling window. void RestoreWindow(IWindowBorder brdr); + + /// + /// Invokes an action on the UI thread. + /// + /// The action to invoke. void InvokeOnWorkerThread(Action act); + + /// + /// Calculates the screen size of the desktop. + /// + /// The desktop's screen size. Size GetSize(); + /// + /// Opens the app launcher at a specific point. + /// + /// Where the app launcher should be opened. void OpenAppLauncher(Point loc); + /// + /// Opens the desktop. + /// void Show(); + + /// + /// Closes the desktop. + /// void Close(); } public static class Desktop { + /// + /// The underlying desktop object. + /// private static IDesktop _desktop = null; - public static Size Size { get + public static Size Size + { + get { return _desktop.GetSize(); } -- cgit v1.2.3