/***************************************************************************
                          kdndbutton.h  -  description
                             -------------------
    begin                : Sun Aug 19 2001
    copyright            : (C) 2001 by Dieter Landolt
    email                : dieter.landolt@secs.ch
 ***************************************************************************/

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

#ifndef KDNDBUTTON_H
#define KDNDBUTTON_H

#include <qwidget.h>
#include <qpushbutton.h>
#include <qdragobject.h>
#include <qevent.h>
#include <qlabel.h>
#include "kmoviebutton.h"

/**Includes some specials for enable drag an drop feetures to use in qdesigner
  *@author Dieter Landolt
  */

class kDndButton : public kMovieButton  {
   Q_OBJECT
public: 
	kDndButton(QWidget *parent=0, const char *name=0);
	~kDndButton();
public: // Public attributes
  /** Put the Path into a textbuffer */
  QString path;
  /** Accept the droped Item */
  void dropEvent(QDropEvent* event);
  /** No descriptions */
  void dragEnterEvent(QDragEnterEvent* event);
  /** No descriptions */
  void startDragging();
  /** When the Mouse moves away */
  void mouseMoveEvent(QMouseEvent* e);
signals: // Signals
  /** Evenet goes out if a valid pixmap is set */
  void newPath(QString path);
protected: // Protected attributes
  /**  */
   bool pressed;
protected: // Protected methods
  /** No descriptions */
  void mousePressEvent(QMouseEvent* e) ;
  /** Starts if the Mouse is released */
  void mouseReleaseEvent(QMouseEvent * e);
};

#endif
