using System;

namespace Valg.EVA.Skanning.UserInterfaceElements.LightBox
{
    public class LightBoxEventArgs : System.EventArgs
    {
        private readonly bool blocking;
        public Type WindowType { get; private set; }

        public object DataContext { get; private set; }

        public LightBoxEventArgs(Type windowType, object dataContext, bool blocking = true)
            : this(true, blocking)
        {
            WindowType = windowType;
            DataContext = dataContext;
        }

        public LightBoxEventArgs(System.Windows.Window windowInstance, bool blocking = true)
            : this(true, blocking)
        {
            WindowInstance = windowInstance;
        }

        public LightBoxEventArgs(bool lightBoxVisible, bool blocking = true)
        {
            this.blocking = blocking;

            LightBoxVisible = lightBoxVisible;
        }

        public System.Windows.Window WindowInstance { get; private set; }

        public bool LightBoxVisible { get; private set; }
        
        public bool Blocking
        {
            get { return blocking; }
        }
    }
}
