File indexing completed on 2024-04-28 04:41:48
0001 /*************************************************************************** 0002 * Copyright (C) 2018 by Emmanuel Lepage Vallee * 0003 * Author : Emmanuel Lepage Vallee <emmanuel.lepage@kde.org> * 0004 * * 0005 * This program is free software; you can redistribute it and/or modify * 0006 * it under the terms of the GNU General Public License as published by * 0007 * the Free Software Foundation; either version 3 of the License, or * 0008 * (at your option) any later version. * 0009 * * 0010 * This program is distributed in the hope that it will be useful, * 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0013 * GNU General Public License for more details. * 0014 * * 0015 * You should have received a copy of the GNU General Public License * 0016 * along with this program. If not, see <http://www.gnu.org/licenses/>. * 0017 **************************************************************************/ 0018 #include "viewportadapter.h" 0019 0020 // KQuickItemViews 0021 #include <viewport.h> 0022 #include <adapters/geometryadapter.h> 0023 0024 class ViewportAdapterPrivate : public QObject 0025 { 0026 public: 0027 Viewport *m_pViewport {nullptr}; 0028 bool m_IsTotalSizeKnown { false }; 0029 0030 // Helper 0031 GeometryAdapter *geoAdapter() const; 0032 }; 0033 0034 ViewportAdapter::ViewportAdapter(Viewport *parent) : QObject(parent), 0035 d_ptr(new ViewportAdapterPrivate()) 0036 { 0037 Q_ASSERT(parent); 0038 d_ptr->m_pViewport = parent; 0039 } 0040 0041 ViewportAdapter::~ViewportAdapter() 0042 { 0043 delete d_ptr; 0044 } 0045 0046 bool ViewportAdapter::isTotalSizeKnown() const 0047 { 0048 return d_ptr->m_IsTotalSizeKnown; 0049 } 0050 0051 QRectF ViewportAdapter::availableFooterArea() const 0052 { 0053 return {}; 0054 } 0055 0056 QRectF ViewportAdapter::availableHeaderArea() const 0057 { 0058 return {}; 0059 } 0060 0061 Qt::Edges ViewportAdapter::anchoredEdges() const 0062 { 0063 return {}; 0064 } 0065 0066 QSizeF ViewportAdapter::totalSize() const 0067 { 0068 return {}; 0069 } 0070 0071 void ViewportAdapter::onResize(const QRectF& newSize, const QRectF& oldSize) 0072 { 0073 Q_UNUSED(newSize) 0074 Q_UNUSED(oldSize) 0075 } 0076 0077 void ViewportAdapter::onEnterViewport(AbstractItemAdapter *item) 0078 { 0079 Q_UNUSED(item) 0080 } 0081 0082 void ViewportAdapter::onLeaveViewport(AbstractItemAdapter *item) 0083 { 0084 Q_UNUSED(item) 0085 } 0086 0087 QSizeF ViewportAdapter::sizeHint(const QModelIndex &index, AbstractItemAdapter *adapter) const 0088 { 0089 return d_ptr->m_pViewport->geometryAdapter()->sizeHint(index, adapter); 0090 } 0091 0092 QPointF ViewportAdapter::positionHint(const QModelIndex &index, AbstractItemAdapter *adapter) const 0093 { 0094 return d_ptr->m_pViewport->geometryAdapter()->positionHint(index, adapter); 0095 }