Source Code (Use browser search to find items of interest.)

Class Index

kicker'ButtonContainer (./kdebase/kicker/appletcontainer.h:71)

class ButtonContainer : public AppletContainer
{
  Q_OBJECT;
  
 public:
  ButtonContainer(QWidget* parent = 0);

  // not needed for buttons
  virtual QCString objId() const { return ""; }
  virtual QString command() const { return QString::null; }

  // buttons have a quadratic shape
  virtual int widthForHeight(int height) { return height; }
  virtual int heightForWidth(int width) { return width; } 

  virtual void setPosition(Position p);
  virtual void setOrientation(Orientation o);

  virtual QString configData();

  bool eventFilter (QObject *, QEvent *);

 protected:
  void embedButton(PanelButton* p);

 protected:
  PanelButton *_button;
  QLayout *_layout;
};

// KMenuButton container

kicker'ButtonContainer::ButtonContainer() (./kdebase/kicker/appletcontainer.cpp:189)

ButtonContainer::ButtonContainer(QWidget* parent)
  : AppletContainer(parent)
  , _button(0)
  , _layout(0) {}


kicker'ButtonContainer::configData() (./kdebase/kicker/appletcontainer.cpp:194)

QString ButtonContainer::configData()
{
  if(_button)
    return _button->configData();
  else
    return QString::null;
}


kicker'ButtonContainer::setPosition() (./kdebase/kicker/appletcontainer.cpp:202)

void ButtonContainer::setPosition(Position p)
{
  if(_button)
    _button->setPosition(p);
}


kicker'ButtonContainer::setOrientation() (./kdebase/kicker/appletcontainer.cpp:208)

void ButtonContainer::setOrientation(Orientation o)
{
  if(_button)
    _button->setOrientation(o);
}
 

kicker'ButtonContainer::embedButton() (./kdebase/kicker/appletcontainer.cpp:214)

void ButtonContainer::embedButton(PanelButton* b)
{
  if (!b) return;
  
  delete _layout;
  _layout = new QVBoxLayout(this);
  _button = b;

  _button->installEventFilter(this);
  _layout->add(_button);
  connect(_button, SIGNAL(requestSave()), SIGNAL(requestSave()));
}


kicker'ButtonContainer::eventFilter() (./kdebase/kicker/appletcontainer.cpp:227)

bool ButtonContainer::eventFilter (QObject *, QEvent *e)
{
  switch (e->type())
    {
    case QEvent::MouseButtonPress:
      {
	    QMouseEvent* ev = (QMouseEvent*) e;
	    if ( ev->button() == RightButton )
          {
            PanelAppletOpMenu mnu(0,0, true);
            switch(mnu.exec(getPopupPosition(&mnu)))
              {
              case PanelAppletOpMenu::Move:
                _moveOffset = QPoint(width()/2, height()/2);
                emit moveme(this);
                break;
              case PanelAppletOpMenu::Remove:
                emit removeme(this);
                break;
              case PanelAppletOpMenu::Properties:
                if (_button)
                  _button->properties();
                break;
              default:
                break;
              }
            return true;
          }
        else if ( ev->button() == MidButton )
          {
            _moveOffset = mapFromGlobal(QCursor::pos());
            emit moveme(this);
            return false;
          }
        return false;
      }
    default:
      return false;
    }
}

// KMenuButton container