Документация
ОС Аврора 5.1.5

QML-тип RemorsePopup

Ненадолго показывает всплывающий элемент, нажатием на который можно отменить разрушающее действие (удаление). Подробнее…

Строка импорта: import Sailfish.Silica 1.0
Наследуется от: BackgroundItem

Свойства

Сигналы

Методы

Подробное описание

Рекомендуемый способ использования RemorsePopup — использовать API синглтона Remorse и оставить жизненный цикл объекта для отмены действия для обработки Silica.

Тип RemorsePopup реализует элемент, который позволяет отсрочить разрушающее действие (удаление) на некоторое время. Если коснуться элемента RemorsePopup до истечения этого времени, действие будет отменено.

При вызове метода execute() создается область отмены RemorsePopup с таймером обратного отсчёта. Эта область отображается в верхней части своего родительского элемента.

В примере ниже продемонстрировано использование RemorsePopup, который очищает весь список при выборе пункта меню из вытягивающегося меню:

import QtQuick 2.2
import Sailfish.Silica 1.0

Page {
    SilicaListView {
        anchors.fill: parent
        model: ListModel {
            id: listModel
            Component.onCompleted: {
                for (var i=0; i<10; i++) {
                    append({"name": "Элемент " + i})
                }
            }
        }

        delegate: BackgroundItem {
            id: myDelegate
            width: ListView.view.width

            Label {
                text: model.name
                anchors.centerIn: parent
            }
        }

        RemorsePopup { id: remorse }

        PullDownMenu {
            MenuItem {
                text: "Очистить"
                onClicked: remorse.execute("Очистка", function() { listModel.clear() } )
            }
        }
    }
}

Обычно тип RemorsePopup используется для выполнения действия, которое применяется сразу к нескольким элементам на странице либо во всем приложении. Для аналогичного действия, которое применяется к отдельному элементу в списке или на странице, следует использовать тип RemorseItem.

См. также Remorse::popupAction() и RemorseItem.

Описание свойств

[read-only] active : bool

Возвращает true, если в настоящий момент работает таймер обратного отсчёта.

leftMargin : real

Отступ между левым и правым краями элемента RemorsePopup и его содержимым. Значение по умолчанию: Theme.horizontalPageMargin.

rightMargin : real

Отступ между левым и правым краями элемента RemorsePopup и его содержимым. Значение по умолчанию: Theme.horizontalPageMargin.

text : string

Содержит описание действия, которое может быть отменено в течение времени обратного отсчёта.

Обычно текст данного свойства указывается при вызове метода execute().

Описание сигналов

onCanceled()

Обработчик данного сигнала вызывается при касании элемента RemorsePopup для отмены действия.

onTriggered()

Обработчик данного сигнала вызывается, если действие не было отменено в течение периода обратного отсчёта.

Описание методов

cancel()

Отменяет таймер обратного отсчёта RemorsePopup без выполнения действия.

execute(string text, object callback, int timeout)

Отображает RemorsePopup вместо parent с указанным text, описывающим выполняемое действие. Текстовое описание является необязательным, наиболее распространённым вариантом использования элемента для отмены действия является удаление, когда строку text можно оставить пустой.

Наиболее распространённый вариант использования компонента для отмены действия — это удаление элемента. В случаях удаления текстовое описание может быть полностью опущено.

text должен содержать глагол, описывающий совершаемое действие. Следует использовать прошедшее время, чтобы яснее указать, что от пользователя не требуется никаких дополнительных шагов, если он не хочет отменить действие. Например, элемент, который раньше выводил текст «Очистка данных», теперь будет отображать «Данные очищены».

По истечении времени timeout будет вызвана функция, переданная в параметр callback. Если callback-функция не предоставляется, то вместо для выполнения действия нее может использоваться обработчик onTriggered. Следует обратить внимание, что выполнение обратного вызова происходит в области действия компонента для отмены действия, и ссылки на объекты на странице или в контексте делегата, которые запрашивали элемент для отмены, могут быть недоступны.

Параметр timeout является необязательным. Если не указано иное, будет использоваться значение по умолчанию 4000 мс.

trigger()

Запускает выполнение действия RemorsePopup.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.