Fixed bug in arcToHgt where it wrote to end of file instead of last row of file
[tecorrec.git] / geo / tcChannelManager.h
blob22b345765be5d205c0cef81199bf0bccf56b6ab2
1 /***************************************************************************
2 * This file is part of Tecorrec. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
4 * *
5 * Tecorrec is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * Tecorrec is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with Tecorrec. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
20 #ifndef _tcChannelManager_h_
21 #define _tcChannelManager_h_
23 /**
24 * @file tcChannelManager.h
25 * @brief Manages a set of channels, any of which can be mapped to RGB.
28 #include <QObject>
29 #include <QList>
31 class tcChannel;
33 /// Manages a set of channels, any of which can be mapped to RGB.
34 class tcChannelManager : public QObject
36 Q_OBJECT
38 public:
41 * Constructors + destructor
44 /// Default constructor.
45 tcChannelManager();
47 /// Destructor.
48 virtual ~tcChannelManager();
51 * Accessors
54 /// Get the number of channel.
55 int numChannels() const;
57 /// Get a specific channel.
58 tcChannel* channel(int index) const;
61 * Channel operations
64 /// Add and take ownership of a channel.
65 int addChannel(tcChannel* channel);
67 /// Add and take ownership of a set of channels.
68 void addChannels(const QList<tcChannel*>& channels);
70 signals:
73 * Signals
76 /// Emitted to indicate progress of processing.
77 void progressing(const QString& message);
79 private:
82 * Variables
85 /// List of channels.
86 QList<tcChannel*> m_channels;
89 #endif