//
//     Copyright 2009 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace Marble
{

class AbstractDataPlugin : Marble::RenderPlugin /Abstract/
{
%TypeHeaderCode
#include <AbstractDataPlugin.h>
%End

public:
    QStringList             backendTypes () const;
    QString                 renderPolicy () const;
    QStringList             renderPosition () const;
    Marble::AbstractDataPluginModel*  model () const;
    void                    setModel (Marble::AbstractDataPluginModel* model);
    quint32                 numberOfItems () const;
    void                    setNumberOfItems (quint32 number);
    QList<Marble::AbstractDataPluginItem*>  whichItemAt (const QPoint& curpos);
    virtual ~AbstractDataPlugin ();
    bool                    render (Marble::GeoPainter* painter, Marble::ViewportParams* viewport, const QString& renderPos = "NONE", Marble::GeoSceneLayer* layer = 0);
signals:
    void                    changedNumberOfItems (quint32 number);
public:
                            AbstractDataPlugin (const Marble::MarbleModel* marbleModel);
    bool                    isInitialized () const;
// FIXME
//ig    void                    setDelegate (QDeclarativeComponent* delegate, QGraphicsItem* parent);
    void                    setFavoriteItemsOnly (bool favoriteOnly);
    bool                    isFavoriteItemsOnly () const;
    QObject*                favoritesModel ();
signals:
    void                    favoriteItemsOnlyChanged ();
    void                    favoritesModelChanged ();
public:
    virtual Marble::RenderPlugin::RenderType  renderType () const;
    void                    handleViewportChange (const Marble::ViewportParams* viewport);
};
// AbstractDataPlugin

};
// Marble


