krita/ui

kis_bookmarked_configurations_model.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2007 Cyrille Berger <cberger@cberger.net>
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00017  */
00018 
00019 #ifndef _KIS_BOOKMARKED_CONFIGURATIONS_MODEL_H_
00020 #define _KIS_BOOKMARKED_CONFIGURATIONS_MODEL_H_
00021 
00022 #include <QAbstractListModel>
00023 
00024 #include <krita_export.h>
00025 
00026 class KLocalizedString;
00027 
00028 class KisBookmarkedConfigurationManager;
00029 class KisSerializableConfiguration;
00030 
00035 class KRITAUI_EXPORT KisBookmarkedConfigurationsModel : public QAbstractListModel
00036 {
00037 public:
00041     KisBookmarkedConfigurationsModel(KisBookmarkedConfigurationManager*);
00042     ~KisBookmarkedConfigurationsModel();
00046     KisBookmarkedConfigurationManager* bookmarkedConfigurationManager();
00051     virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
00056     virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
00057     virtual bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
00061     KisSerializableConfiguration* configuration(const QModelIndex &index) const;
00065     QModelIndex indexFor(const QString& name) const;
00069     virtual bool isIndexDeletable(const QModelIndex &index) const;
00073     Qt::ItemFlags flags(const QModelIndex & index) const;
00077     virtual void newConfiguration(KLocalizedString baseName, const KisSerializableConfiguration* config);
00081     virtual void saveConfiguration(const QString & name, const KisSerializableConfiguration* config);
00085     virtual void deleteIndex(const QModelIndex &index);
00086 private:
00087     struct Private;
00088     Private* const d;
00089 };
00090 
00091 #endif