summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2018-03-22 10:47:02 +0100
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2018-03-27 16:50:44 +0000
commit3c4ea1b3c662d17b4b82a55a4b10e50226dbb14f (patch)
treea2ca9e32253876baea3da909b6744e0c0c8cde89 /tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp
parente3fa4af68ecf50c3d32e576b4b05bfefecd18c1b (diff)
Benchmark: move widgets benchmarks still in gui subdirectory to widgets
Move all widget-dependent benchmarks which were still in gui subdirectory to widgets Task-number: QTBUG-23129 Change-Id: I1359f1ea4036cacdfdbe08ff9ecdf1e2c75a005b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp')
-rw-r--r--tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp182
1 files changed, 0 insertions, 182 deletions
diff --git a/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp b/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp
deleted file mode 100644
index 496919214d..0000000000
--- a/tests/benchmarks/gui/graphicsview/functional/GraphicsViewBenchmark/widgets/listitemcontainer.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <qmath.h>
-#include <QGraphicsLinearLayout>
-#include <QGraphicsScene>
-
-#include "listitemcontainer.h"
-#include "abstractviewitem.h"
-
-#include "recycledlistitem.h"
-#include "listitemcache.h"
-#include "itemrecyclinglist.h"
-
-ListItemContainer::ListItemContainer(int bufferSize, ItemRecyclingList *view, QGraphicsWidget *parent)
- : AbstractItemContainer(bufferSize, parent)
- , m_view(view)
- , m_layout(new QGraphicsLinearLayout(Qt::Vertical))
- , m_listItemCaching(false)
-{
- setContentsMargins(0,0,0,0);
- m_layout->setContentsMargins(0,0,0,0);
- m_layout->setSpacing(0);
- setLayout(m_layout);
-}
-
-/*virtual*/
-ListItemContainer::~ListItemContainer()
-{
- setListItemCaching(false);
- for (int i = 0; i < m_items.count(); ++i) {
- m_layout->removeItem(m_items.at(i));
- m_items.at(i)->setParentItem(0);
- }
- qDeleteAll(m_items);
- m_items.clear();
-}
-
-bool ListItemContainer::listItemCaching() const
-{
- return m_listItemCaching;
-}
-
-void ListItemContainer::setListItemCaching(const bool enabled)
-{
- if (m_listItemCaching == enabled)
- return;
-
- m_listItemCaching = enabled;
-
- const int itemCount = m_layout->count();
-
- for (int i = 0; i < itemCount; ++i)
- setListItemCaching(enabled, i);
-}
-
-/*virtual*/
-void ListItemContainer::adjustVisibleContainerSize(const QSizeF &size)
-{
- m_layout->setPreferredWidth(size.width());
-}
-
-/*virtual*/
-void ListItemContainer::addItemToVisibleLayout(int index, AbstractViewItem *item)
-{
- m_layout->insertItem(index,item);
-
- setListItemCaching(m_listItemCaching, index);
-}
-
-/*virtual*/
-void ListItemContainer::removeItemFromVisibleLayout(AbstractViewItem *item)
-{
- m_layout->removeItem(item);
-
- RecycledListItem *recycledItem = static_cast<RecycledListItem*>(item);
-
- if (!recycledItem)
- return;
-
- ListItem *listItem = recycledItem->item();
-
- setListItemCaching(false, listItem);
-}
-
-/*virtual*/
-int ListItemContainer::maxItemCountInItemBuffer() const
-{
- int count = AbstractItemContainer::maxItemCountInItemBuffer();
-
- if (count > 0) {
- int currentItemCount = m_items.count();
- qreal heightOfOneItem = 0;
- if (currentItemCount > 0)
- {
- heightOfOneItem = m_layout->effectiveSizeHint(Qt::PreferredSize).height() / currentItemCount;
- }
- int guess = 0;
- if( heightOfOneItem <= 0 ) {
- if (m_prototype) {
- heightOfOneItem = m_prototype->effectiveSizeHint(Qt::PreferredSize).height();
- }
- else
- heightOfOneItem = 50; // TODO magic number, do we have better guess if prototype is not set?
- }
- if (heightOfOneItem > 0) {
- guess = qCeil(m_itemView->boundingRect().height() / heightOfOneItem) + m_bufferSize;
-
- if (guess < currentItemCount) {
- if( guess > currentItemCount-2) { // TODO magic number here, Can we use buffer size?
- guess = currentItemCount;
- }
- }
- }
- count = qMin(guess, count);
- }
- return count;
-}
-
-void ListItemContainer::setListItemCaching(const bool enabled, const int index)
-{
- RecycledListItem *recycledItem = static_cast<RecycledListItem*>(m_layout->itemAt(index));
-
- if (!recycledItem)
- return;
-
- ListItem *listItem = recycledItem->item();
-
- if (!listItem)
- return;
-
- setListItemCaching(enabled, listItem);
-}
-
-void ListItemContainer::setListItemCaching(const bool enabled, ListItem *listItem)
-{
- if (!listItem)
- return;
-
- // Deletes the effect.
- listItem->setGraphicsEffect(0);
-
- if (enabled) {
- ListItemCache* cache = new ListItemCache;
- Q_ASSERT(!listItem->graphicsEffect());
- listItem->setGraphicsEffect(cache);
- }
-}
-
-void ListItemContainer::setTwoColumns(const bool twoColumns)
-{
- AbstractItemContainer::setTwoColumns(twoColumns);
-
- if (!m_layout->isActivated())
- m_layout->activate();
-}
-