示例#1
0
 /// <summary>
 /// Inicjowanie podstawowych właściwości Popup-u
 /// </summary>
 /// <param name="lifeSpan">Czas, przez jaki wyświetlany jest popup-u</param>
 /// <param name="onOpen">Akcje wywoływane po wyświetleniu popup-u</param>
 /// <param name="onClick">Akcje wywoływane po naciśnięciu na popup</param>
 /// <param name="onClose">Akcje wywoływane po zniszczeniu popup-u</param>
 protected Popup(AutoCloseMode closeMode = AutoCloseMode.NewAppears, PopupAction onOpen = null, PopupAction onClose = null, PopupAction onClick = null)
 {
     CloseMode    = closeMode;
     this.onOpen  = onOpen;
     this.onClose = onClose;
     this.onClick = onClick;
 }
示例#2
0
 /// <summary>
 /// Inicjowanie popup-u typu Icon
 /// </summary>
 /// <param name="iconType">Typ ikony, jaka jest wyświetlana przez IconBox/param>
 /// <param name="lifeSpan">Czas wyświetlania IconBox-u</param>
 /// <param name="onOpen">Akcje wywoływane po wyświetleniu IconBox-u</param>
 /// <param name="onClick">Akcje wywoływane po naciśnięciu na IconBox</param>
 /// <param name="onClose">Akcje wywoływane po zniszczeniu IconBox-u</param>
 public IconPopup(IconPopupType iconType, PopupAction onClose = null, AutoCloseMode closeMode = AutoCloseMode.NewAppears)
     : base(closeMode)
 {
     this.iconType = iconType;
     this.onClose  = onClose;
     onClick       = Functionality.Destroy(); //Icon popup po kliknięciu jest zamykany
 }
示例#3
0
    /// <summary>
    /// Inicjowanie popup-u typu Icon
    /// </summary>
    /// <param name="iconType">Typ ikony do wyświetlania</param>
    /// <param name="closeMode">Tryb automatycznego zamknięcia popupu</param>
    /// <param name="message">Wiadomość do wyświetlenia w QuestionPopupie po kliknięciu IconPopup-u</param>
    public IconPopup(IconPopupType iconType, string message, AutoCloseMode closeMode = AutoCloseMode.NewAppears)
        : base(closeMode)
    {
        this.iconType = iconType;
        onClick       = Functionality.Destroy();

        QuestionPopup toShow = QuestionPopup.CreateOkDialog(message);

        onClose += Functionality.Show(toShow);
    }
示例#4
0
    /// <summary>
    /// Inicjowanie popup-u typu Icon
    /// </summary>
    /// <param name="iconType">Typ ikony do wyświetlania</param>
    /// <param name="closeMode">Tryb automatycznego zamknięcia popupu</param>
    /// <param name="toShow">Popup, który ma zostać wyświetlony po kliknięciu ikon boxu</param>
    public IconPopup(IconPopupType iconType, Popup toShow = null, AutoCloseMode closeMode = AutoCloseMode.NewAppears)
        : base(closeMode)
    {
        this.iconType = iconType;
        onClick       = Functionality.Destroy();

        if (toShow != null)
        {
            onClose += Functionality.Show(toShow);
        }
    }
    /// <summary>
    /// Zamyka wszystkie popupy o trybie zamknięcia równym, bądź niższym od podanego.
    /// Na czas zamykania blokuje możliwość wyświetlenia nowych popupów
    /// </summary>
    /// <param name="closeMode">Tryb zamknięcia popupów</param>
    public void ClosePopups(AutoCloseMode closeMode)
    {
        canShowNewPopups = false;

        //Zamykanie obecnie wyświetlonych popupów
        List <PopupBox> toClose = new List <PopupBox>();

        foreach (PopupBox box in showedPopups)
        {
            if (box.source.CloseMode <= closeMode)
            {
                toClose.Add(box);
            }
        }
        foreach (PopupBox box in toClose)
        {
            ClosePopup(box);
        }

        List <Popup> toRemove = new List <Popup>();

        //Usuwanie popupów jeszcze nie wyświetlonych
        foreach (Popup popup in popupQueue)
        {
            if (popup.CloseMode <= closeMode)
            {
                toRemove.Add(popup);
                popup.onClose?.Invoke(popup);
            }
        }


        foreach (Popup popup in toRemove)
        {
            popupQueue.Remove(popup);
        }

        canShowNewPopups = true;

        CheckScreenAccessibility();
    }