File indexing completed on 2024-05-12 05:28:38

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "breezeheaderviewengine.h"
0008 
0009 #include <QEvent>
0010 
0011 namespace Breeze
0012 {
0013 //____________________________________________________________
0014 bool HeaderViewEngine::registerWidget(QWidget *widget)
0015 {
0016     if (!widget) {
0017         return false;
0018     }
0019 
0020     // create new data class
0021     if (!_data.contains(widget)) {
0022         _data.insert(widget, new HeaderViewData(this, widget, duration()), enabled());
0023     }
0024 
0025     // connect destruction signal
0026     connect(widget, SIGNAL(destroyed(QObject *)), this, SLOT(unregisterWidget(QObject *)), Qt::UniqueConnection);
0027     return true;
0028 }
0029 
0030 //____________________________________________________________
0031 bool HeaderViewEngine::updateState(const QObject *object, const QPoint &position, bool value)
0032 {
0033     DataMap<HeaderViewData>::Value data(_data.find(object));
0034     return (data && data.data()->updateState(position, value));
0035 }
0036 
0037 }