File indexing completed on 2024-04-28 04:41:51
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 "justintime.h" 0019 0020 #include <adapters/abstractitemadapter.h> 0021 #include <private/statetracker/viewitem_p.h> 0022 0023 GeometryStrategies::JustInTime::JustInTime(Viewport *parent) : GeometryAdapter(parent) 0024 { 0025 setCapabilities(Capabilities::TRACKS_QQUICKITEM_GEOMETRY); 0026 } 0027 0028 GeometryStrategies::JustInTime::~JustInTime() 0029 {} 0030 0031 QSizeF GeometryStrategies::JustInTime::sizeHint(const QModelIndex &index, AbstractItemAdapter *adapter) const 0032 { 0033 Q_UNUSED(index) 0034 Q_ASSERT(adapter); 0035 0036 if (adapter) 0037 return adapter->s_ptr->currentGeometry().size(); 0038 0039 // JIT cannot be used past the loaded bounds, the value isn't known 0040 Q_ASSERT(false); 0041 return {}; 0042 }