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

Class Index

ksysctrl'DeviceTitle (./kdeadmin/ksysctrl/ksysctrl/devtitle.h:28)

class DeviceTitle : public QWidget
{
  Q_OBJECT
  
  public:
  
    DeviceTitle(const QString& xpmfile, const QString& info,
    		QWidget *parent = 0L, const char *name = 0L);
    
    ~DeviceTitle() {}
    
    virtual QSize  minimumSizeHint() const;
    virtual QSize  sizeHint()        const;

  protected:
  
    void  resizeEvent(QResizeEvent *);
    
  private:
  
    QLabel *_xpmlabel, *_infolabel;
};


ksysctrl'DeviceTitle::DeviceTitle() (./kdeadmin/ksysctrl/ksysctrl/devtitle.cpp:30)

DeviceTitle::DeviceTitle(const QString& xpmfile, const QString& info,
			 QWidget *parent, const char *name) : QWidget(parent, name)
{
  QPixmap  devxpm = BarIcon(xpmfile);
  
  _xpmlabel = new QLabel(this, "xpmlabel", WNorthWestGravity);
  _xpmlabel->setPixmap(devxpm);
  _xpmlabel->adjustSize();
  _xpmlabel->move(0, 0);
  
  _infolabel = new QLabel(this, "infolabel");
  _infolabel->setText(info);
  _infolabel->setAlignment(WordBreak);
  _infolabel->move(_xpmlabel->width()+32, 0);
}



ksysctrl'DeviceTitle::minimumSizeHint() (./kdeadmin/ksysctrl/ksysctrl/devtitle.cpp:47)

QSize  DeviceTitle::minimumSizeHint() const
{
  QSize  minlabelsize = _infolabel->minimumSizeHint();
  int    minw, minh;
  
  minw = _xpmlabel->width()+32+minlabelsize.width();
  minh = QMAX(_xpmlabel->height(), minlabelsize.height());
  
  return QSize(minw, minh);
}



ksysctrl'DeviceTitle::sizeHint() (./kdeadmin/ksysctrl/ksysctrl/devtitle.cpp:59)

QSize  DeviceTitle::sizeHint() const
{
  QSize  labelsizehint = _infolabel->sizeHint();
  int    hintw, hinth;
  
  hintw = _xpmlabel->width()+32+labelsizehint.width();
  hinth = QMAX(_xpmlabel->height(), labelsizehint.height());
  
  return QSize(hintw, hinth);
}


/*
 * Protected methods
 ********************/
 

ksysctrl'DeviceTitle::resizeEvent() (./kdeadmin/ksysctrl/ksysctrl/devtitle.cpp:75)

void  DeviceTitle::resizeEvent(QResizeEvent *)
{
  uint  w = width();
  
  _infolabel->resize(w-_xpmlabel->width()-32, 50);
}