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

//                 Generated by twine

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

// This program 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 Library General Public
// License along with this program; if not, write to the
// Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

namespace Plasma
{

class PopupApplet : Plasma::Applet
{
%TypeHeaderCode
#include <plasma/popupapplet.h>
%End

public:
                            PopupApplet (QObject* parent /TransferThis/, const QVariantList& args);
    void                    setPopupIcon (const QIcon& icon);
    void                    setPopupIcon (const QString& iconName);
    QIcon                   popupIcon () const;
    virtual QWidget*        widget ();
    virtual QGraphicsWidget*  graphicsWidget ();
    Plasma::PopupPlacement  popupPlacement () const;
    void                    setPassivePopup (bool passive);
    bool                    isPassivePopup () const;
    bool                    isPopupShowing () const;
    void                    hidePopup ();
    void                    showPopup (uint displayTime = 0);
    void                    togglePopup ();

protected:
    virtual void            popupEvent (bool show);
    void                    mousePressEvent (QGraphicsSceneMouseEvent* event);
    void                    mouseReleaseEvent (QGraphicsSceneMouseEvent* event);
    bool                    eventFilter (QObject* watched, QEvent* event);
    void                    dragEnterEvent (QGraphicsSceneDragDropEvent* event);
    void                    dragLeaveEvent (QGraphicsSceneDragDropEvent* event);
    void                    dropEvent (QGraphicsSceneDragDropEvent* event);
public:
    ~PopupApplet ();
    void                    setWidget (QWidget* widget);
    void                    setGraphicsWidget (QGraphicsWidget* widget);
private:
                            PopupApplet (const QString& packagePath, uint appletId, const QVariantList& args);
protected:
    QSizeF                  sizeHint (Qt::SizeHint which, const QSizeF& constraint = QSizeF()) const;
public:
    void                    setPopupAlignment (Qt::AlignmentFlag alignment);
    Qt::AlignmentFlag       popupAlignment () const;
    bool                    isIconified () const;
protected:
    void                    timerEvent (QTimerEvent* event);
};
// PopupApplet

};
// Plasma


