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