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

Class Index

kicker'PanelButton (./kdebase/kicker/panelbutton.h:18)

class PanelButton: public QToolButton
{
  Q_OBJECT;

 public:
  PanelButton(QWidget * parent, const char *name = 0);
  
  // used for menu popup
  void setPosition(Position p){pos = p;}
  void setOrientation(Orientation o){orient = o;}
  
  Position position(){return(pos);}
  Orientation orientation(){return(orient);}
  
  QPoint getPopupPosition(QPopupMenu *menu);
  
  // used for configuration
  virtual QString configData() = 0;

  virtual void panelSizeChanged()=0; // don't use resizeEvent

  virtual void properties()=0;

signals:
  void requestSave();
  
 protected:
  virtual void resizeEvent(QResizeEvent*);

  bool removeable;
  Position pos;
  Orientation orient;
};

/**
 * Base class for buttons with menus.
 */

kicker'PanelButton::PanelButton() (./kdebase/kicker/panelbutton.cpp:26)

PanelButton::PanelButton( QWidget * parent, const char *name)
  : QToolButton( parent, name )
{
    setBackgroundMode( PaletteBackground );
    setUsesBigPixmap( true );
    setAutoRaise( true );
    removeable = true;
    resize(10,10);
}


kicker'PanelButton::resizeEvent() (./kdebase/kicker/panelbutton.cpp:36)

void PanelButton::resizeEvent(QResizeEvent*)
{
  panelSizeChanged();
}


kicker'PanelButton::getPopupPosition() (./kdebase/kicker/panelbutton.cpp:41)

QPoint PanelButton::getPopupPosition(QPopupMenu *menu)
{
  if(position() == Bottom)
    return(mapToGlobal(QPoint(0, 0-menu->height())));
  else if(position() == Top)
    return(mapToGlobal(QPoint(0, height())));
  else if(position() == Right)
    return(mapToGlobal(QPoint(0-menu->width(), 0)));
  else
    return(mapToGlobal(QPoint(width(), 0)));
}