//
//     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 RenderPlugin : QObject, Marble::RenderPluginInterface
{
%TypeHeaderCode
#include <RenderPlugin.h>
%End

public:
                            RenderPlugin ();
    Marble::MarbleDataFacade*  dataFacade () const;
    void                    setDataFacade (Marble::MarbleDataFacade*);
    QAction*                action () const;
    QStandardItem*          item () const;
    void                    applyItemState ();
    void                    retrieveItemState ();
    bool                    enabled () const;
    bool                    visible () const;
    void                    setEnabled (bool enabled);
    void                    setVisible (bool visible);


protected:
    bool                    eventFilter (QObject*, QEvent*);

public:
    enum ItemDataRole
    {
        NameId,
        AboutDialogAvailable,
        ConfigurationDialogAvailable,
        BackendTypes
    };
    virtual ~RenderPlugin ();
    virtual QList<QActionGroup*>*  actionGroups () const;
    virtual QList<QActionGroup*>*  toolbarActionGroups () const;
    virtual QDialog*        aboutDialog () const;
    virtual QDialog*        configDialog () const;
    virtual QHash<QString,QVariant>  settings () const;
    virtual void            setSettings (QHash<QString,QVariant> settings);
signals:
    void                    visibilityChanged (QString nameId, bool visible);
    void                    settingsChanged (QString nameId);
    void                    actionGroupsChanged ();
    void                    repaintNeeded (QRegion dirtyRegion);
};
// RenderPlugin

};
// Marble


