File indexing completed on 2024-05-12 15:54:28

0001 /*
0002  * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB.  All rights reserved.
0003  *
0004  * This file is part of the KGantt library.
0005  *
0006  * This program is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU General Public License as
0008  * published by the Free Software Foundation; either version 2 of
0009  * the License, or (at your option) any later version.
0010  *
0011  * This program is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014  * GNU General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU General Public License
0017  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
0018  */
0019 
0020 #ifndef KGANTTPROXYMODEL_H
0021 #define KGANTTPROXYMODEL_H
0022 
0023 #include "kganttforwardingproxymodel.h"
0024 
0025 namespace KGantt {
0026     class KGANTT_EXPORT ProxyModel : public ForwardingProxyModel {
0027         Q_OBJECT
0028         Q_DISABLE_COPY(ProxyModel)
0029         KGANTT_DECLARE_PRIVATE_BASE_POLYMORPHIC( ProxyModel )
0030     public:
0031         explicit ProxyModel( QObject* parent = nullptr );
0032         virtual ~ProxyModel();
0033 
0034         void setColumn( int ganttrole, int col );
0035         void removeColumn( int ganttrole );
0036         void setRole( int ganttrole, int role );
0037         void removeRole(  int ganttrole );
0038 
0039         int column( int ganttrole ) const;
0040         int role( int ganttrole ) const;
0041 
0042 #if 0
0043         void setCalendarMode( bool enable );
0044         bool calendarMode() const;
0045 #endif
0046 
0047         /*reimp*/ QModelIndex mapFromSource( const QModelIndex& idx) const override;
0048         /*reimp*/ QModelIndex mapToSource( const QModelIndex& proxyIdx ) const override;
0049 
0050         /*reimp*/ int rowCount( const QModelIndex& idx ) const override;
0051         /*reimp*/ int columnCount( const QModelIndex& idx ) const override;
0052 
0053         /*reimp*/ QVariant data( const QModelIndex& idx, int role = Qt::DisplayRole ) const override;
0054         /*reimp*/ bool setData( const QModelIndex& idx, const QVariant& value, int role=Qt::EditRole ) override;
0055     };
0056 }
0057 
0058 #endif /* KGANTTPROXYMODEL_H */
0059