1//
2// Copyright 2008 Simon Edwards <simon@simonzone.com>
3//
4// This library is free software; you can redistribute it and/or
5// modify it under the terms of the GNU Lesser General Public
6// License as published by the Free Software Foundation; either
7// version 2.1 of the License, or (at your option) any later version.
8//
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12// Lesser General Public License for more details.
13//
14// You should have received a copy of the GNU Lesser General Public
15// License along with this library.  If not, see <http://www.gnu.org/licenses/>.
16//
17
18namespace Marble
19{
20
21class GeoDataContainer : Marble::GeoDataFeature
22{
23%TypeHeaderCode
24#include <GeoDataContainer.h>
25%End
26
27
28public:
29                            GeoDataContainer ();
30                            GeoDataContainer (const Marble::GeoDataContainer& other);
31//ig    Marble::GeoDataContainerPrivate*  p () const;
32    int                     size () const;
33//ig    Marble::GeoDataFeature&  at (int pos);
34    const Marble::GeoDataFeature&  at (int pos) const;
35//ig    Marble::GeoDataFeature&  last ();
36    const Marble::GeoDataFeature&  last () const;
37//ig    Marble::GeoDataFeature&  first ();
38    const Marble::GeoDataFeature&  first () const;
39//ig    QVector<Marble::GeoDataFeature>::Iterator  begin ();
40//ig    QVector<Marble::GeoDataFeature>::Iterator  end ();
41//ig    QVector<Marble::GeoDataFeature>::ConstIterator  constBegin () const;
42//ig    QVector<Marble::GeoDataFeature>::ConstIterator  constEnd () const;
43    void                    clear ();
44    virtual void            pack (QDataStream& stream) const;
45    virtual void            unpack (QDataStream& stream);
46
47
48    virtual ~GeoDataContainer ();
49private:
50//ig                            GeoDataContainer (GeoDataContainerPrivate* priv);
51public:
52//ig    QVector<Marble::GeoDataFolder*>  folderList () const;
53//ig    QVector<Marble::GeoDataFeature*>  featureList () const;
54//ig    QVector<Marble::GeoDataPlacemark*>  placemarkList () const;
55    Marble::GeoDataFeature*  child (int);
56    void                    append (Marble::GeoDataFeature* other);
57    void                    remove (int index);
58    Marble::GeoDataLatLonAltBox  latLonAltBox () const;
59//ig    const Marble::GeoDataFeature*  child (int) const;
60    int                     childPosition (const Marble::GeoDataFeature* child) const;
61    void                    insert (Marble::GeoDataFeature* other, int index);
62};
63// GeoDataContainer
64
65};
66// Marble
67
68
69