2 * Copyright (C) 2016 Canonical, Ltd.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 import "../Components"
23 property int delegateWidth: units.gu(10)
24 property int delegateHeight: units.gu(10)
25 property alias delegate: gridView.delegate
26 property alias model: gridView.model
27 property alias interactive: gridView.interactive
29 property alias header: gridView.header
30 property alias topMargin: gridView.topMargin
31 property alias bottomMargin: gridView.bottomMargin
33 readonly property int columns: width / delegateWidth
34 readonly property int rows: Math.ceil(gridView.model.count / root.columns)
41 readonly property int overflow: width - (root.columns * root.delegateWidth)
42 readonly property real spacing: overflow / (root.columns)
44 cellWidth: root.delegateWidth + spacing
45 cellHeight: root.delegateHeight