using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace Foo.ClientServices.GUIWPForms
{
    /// <summary>
    /// GUIPWPForms uses IGUIPWPForms Interface. It exposes functions to external
    /// callers regarding the type of GUIWPForms we can launch.
    /// ~Most functions require an hWnd which is the DeskbandButton to properly Position the form.
    /// ~However if hWnd is Zero and we are in Debug we just center it. * For Debugging Purpose *
    /// </summary>
    [Guid("652DDE0A-D3FA-4525-8272-1616127819D2")]
    [InterfaceType(ComInterfaceType.InterfaceIsDual)]
    [ComVisible(true)]
    public interface IGUIPWPForms
    {
        // ArtifactWall
        bool LaunchArtifactWall(IntPtr hDeskbandButtonWnd);
        bool CloseArtifactWall();

        // WorkspaceSelector
        bool LaunchWorkspaceSelector(IntPtr hDeskbandButtonWnd);
        bool CloseWorkspaceSelector();

        // Settings N' About Us Page
        bool LaunchSettingsNAboutUs(IntPtr hDeskbandButtonWnd);
        bool CloseSettingsNAboutUs();
    }
}
