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

QML-тип GridItem

Простой элемент в стиле ОС Аврора для создания интерактивных элементов сетки. Подробнее…

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

Свойства

Методы

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

Тип GridItem предоставляет элемент ввода для сетки в стиле ОС Аврора с сенсорным взаимодействием и дополнительными функциями, общими для элементов сетки. Он позволяет:

  • показывать контекстное меню (задается в свойстве menu) при долгом нажатии на элемент списка;
  • заменять собой элемент RemorseItem при вызове метода remorseAction() (обычно используется для отображения таймера удаления, когда пользователь вызывает команду удаления элемента из контекстного меню);
  • запускать анимацию удаления при вызове метода animateRemoval().

Например:

import QtQuick 2.2
import Sailfish.Silica 1.0
import Nemo.Thumbnailer 1.0

SilicaGridView {
    id: view
    cellWidth: width/3
    cellHeight: cellWidth // квадрат

    delegate: GridItem {

        function remove() {
            remorseDelete(function() { view.model.remove(index) })
        }

        menu: Component {
            ContextMenu {
                MenuItem { text: "Редактировать" }
                MenuItem {
                    text: "Удалить"
                    onClicked: remove()
                }
            }
        }

        Image {
            source: "image://nemoThumbnail/" + model.url
            fillMode: Image.PreserveAspectCrop
            anchors.fill: parent
            sourceSize { width: width; height: height }
            z: -1
        }
    }
}

Примечание. GridItem можно использовать в SilicaGridView или контейнере Grid , но этот элемент не работает со стандартным Qt Quick GridView. При использовании внутри SilicaGridView размеры автоматически привязываются к параметрам cellWidth и cellHeight, определёнными представлением.

Примечание: height элемента GridItem не должна изменяться, так как она увеличивается автоматически при открытии меню. Вместо этого высоту следует задавать с помощью свойства contentHeight.

См. также ListItem и BackgroundItem.

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

contentHeight : real

Задает значение высоты делегата. При открытии контекстного меню ContextMenu высота делегата может увеличиваться, но высота содержимого по-прежнему будет соответствовать значению свойства contentHeight.

Значение по умолчанию соответствует GridView.cellHeight.

highlighted : bool

При истинном значении свойства highlighted содержимое должно быть выделено другим цветом. Данное свойство истинно при истинном значении свойства down либо при открытом меню.

Дополнительную информацию об оформлении интерактивных элементов управления в ОС Аврора можно получить в описании типа Theme.

См. также BackgroundItem::highlighted.

menu : var

Содержит контекстное меню ContextMenu, которое открывается при долгом нажатии.

Это свойство может быть задано как значение типа Component с элементом верхнего уровня ContextMenu или как предварительно созданный объект ContextMenu. Если предоставлен тип Component, то контекстное меню ContextMenu может быть создано или удалено по мере необходимости. В большинстве случаев предпочтение следует отдавать использованию типа Component, чтобы избежать ненужной загрузки меню.

[read-only] menuOpen : bool

Истинно, когда меню, заданное свойством menu, открыто.

openMenuOnPressAndHold : bool

При истинном значении данного свойства долгое нажатие на элемент разрешает открытие меню, заданное свойством menu.

Значение по умолчанию: true.

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

animateRemoval(Item delegate)

Создаёт и запускает анимацию RemoveAnimation. Если GridItem не является Item верхнего уровня делегата, delegate должен быть установлен как Item верхнего уровня.

Анимация объекта с помощью метода animateRemoval() позволяет избежать создания RemoveAnimation в делегате.

См. также RemoveAnimation.

closeMenu()

Скрывает отображаемое в данный момент меню.

openMenu(object properties)

Отображает меню, заданное свойством menu.

С помощью необязательного параметра properties указываются набор пар ключ-значение, которые будут заданы меню.

remorseAction(string text, object action, int timeout)

Создаёт RemorseItem с text и устанавливает действие обратного вызова action. Аргумент timeout является необязательным и по умолчанию равен 4 секундам, если он не задан.

Наиболее распространённым вариантом использования элемента с возможностью отмены является удаление элемента. В этом случае можно опустить параметр text и вместо него использовать функцию remorseDelete().

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

С точки зрения функциональности элементы, позволяющие отменять действия, работают как раньше.

Возвращает созданный экземпляр RemorseItem, который будет уничтожен автоматически после выполнения или отмены действия.

remorseDelete(object action, int timeout)

Создаёт экземпляр элемента RemorseItem и задаёт функцию обратного вызова для обработки действия action. Аргумент timeout не является обязательным и по умолчанию будет равен 4 секундам, если он не задан.

Возвращает созданный экземпляр RemorseItem, который будет уничтожен автоматически после выполнения или отмены действия.

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

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