/*! @file

    @id $Id$
*/
//       1         2         3         4         5         6         7         8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890

#ifndef __BUTTONLINEEDITWIDGETIFC_HXX
#define __BUTTONLINEEDITWIDGETIFC_HXX

#include <qbrowserlib/buttonlineedit.hxx>
#include <QtDesigner>

#ifndef LOG
#define LOG qDebug()<<__PRETTY_FUNCTION__
#endif

//! @defgroup designer
//! @{

//! Buttonlineedit widget for Qt Designer
class ButtonLineEditWidgetIfc: public QObject,
                               public QDesignerCustomWidgetInterface {
    Q_OBJECT;
    Q_INTERFACES(QDesignerCustomWidgetInterface);
  public:
    bool isContainer() const {
      LOG;
      return false;
    }
    QIcon icon() const {
      LOG;
      return QIcon(":/icons/buttonlineedit.png");
    }
    QString domXml() const {
      LOG;
      return
        QString
        ("<ui language=\"c++\" displayname=\"%1\">"
         "     <widget class=\"%1\" name=\"%2\"/>"
         "     <customwidgets>"
         "         <customwidget>"
         "             <class>%1</class>"
         "         </customwidget>"
         "     </customwidgets>"
         "</ui>")
        .arg(name())
        .arg(name().toLower());
    }
    QString group() const {
      LOG;
      return "Input Widgets";
    }
    QString includeFile() const {
      LOG;
      return "qbrowserlib/buttonlineedit.hxx";
    }
    QString name() const {
      LOG;
      return "ButtonLineEdit";
    }
    QString toolTip() const {
      LOG;
      return "";
    }
    QString whatsThis() const {
      LOG;
      return "";
    }
    QWidget *createWidget(QWidget *parent) {
      LOG;
      return new ButtonLineEdit(parent);
    }
};

//! @}
#endif
