File indexing completed on 2024-05-05 12:57:25
0001 /* 0002 * Copyright (C) 2010-2015 by Stephen Allewell 0003 * steve.allewell@gmail.com 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 2 of the License, or 0008 * (at your option) any later version. 0009 */ 0010 0011 #ifndef Layers_H 0012 #define Layers_H 0013 0014 #include <QDataStream> 0015 #include <QList> 0016 #include <QStringList> 0017 0018 #include "Layer.h" 0019 0020 class Layers 0021 { 0022 public: 0023 Layers(); 0024 0025 void clear(); 0026 0027 const QList<Layer> &layers() const; 0028 QStringList layerNames() const; 0029 QList<int> layerNumbers() const; 0030 int currentLayer() const; 0031 0032 void addLayer(int, const QString &); 0033 void removeLayer(int); 0034 void removeLayer(const QString &); 0035 void setCurrentLayer(int); 0036 0037 friend QDataStream &operator<<(QDataStream &, const Layers &); 0038 friend QDataStream &operator>>(QDataStream &, Layers &); 0039 0040 private: 0041 static const int version = 100; 0042 0043 int m_currentLayer; 0044 QList<Layer> m_layers; 0045 }; 0046 0047 QDataStream &operator<<(QDataStream &, const Layers &); 0048 QDataStream &operator>>(QDataStream &, Layers &); 0049 0050 #endif // Layers_H