#region License
// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
// This source code is made available under the terms of the GNU Lesser General Public License v3.0
// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
#endregion
using System.Windows.Forms;
namespace MiniSqlQuery.Core.Commands
{
    /// 
    /// 	The close all windows command.
    /// 
    public class CloseAllWindowsCommand
        : CommandBase
    {
        /// 
        /// 	Initializes a new instance of the  class.
        /// 
        public CloseAllWindowsCommand()
            : base("&A关闭所有窗口")
        {
        }
        /// 
        /// 	Gets a value indicating whether Enabled.
        /// 
        /// The enabled state.
        public override bool Enabled
        {
            get { return HostWindow.ActiveChildForm != null; }
        }
        /// 
        /// 	Execute the command.
        /// 
        public override void Execute()
        {
            var forms = HostWindow.Instance.MdiChildren;
            foreach (var frm in forms)
            {
                Application.DoEvents();
                frm.Close();
            }
        }
    }
}