00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef PARTBAR_H
00023
#define PARTBAR_H
00024
00025
#include <klistbox.h>
00026
#include <kicontheme.h>
00027
00028
#include <qlistbox.h>
00029
#include <qevent.h>
00030
00031
namespace KSync {
00032
00033
class PartBar;
00034
class ActionPart;
00035
00039 class PartBarItem :
public QListBoxPixmap
00040 {
00041
public:
00042
PartBarItem(
PartBar *,
ActionPart * );
00043 ~
PartBarItem();
00044
00048
ActionPart *
part();
00049
00055
void setIcon(
const QString& icon, KIcon::Group group = KIcon::Panel );
00056
00057
00061
virtual int width(
const QListBox * )
const;
00062
00066
virtual int height(
const QListBox * )
const;
00067
00071 virtual const QPixmap *
pixmap()
const {
00072
return m_Pixmap;
00073 }
00074
00075
protected:
00076
virtual void paint(
QPainter *p);
00077
00078
private:
00079
QPixmap *m_Pixmap;
00080
ActionPart *m_Part;
00081
PartBar *m_Parents;
00082 };
00083
00084
00089 class PartBar :
public QFrame
00090 {
00091 Q_OBJECT
00092
public:
00093
PartBar(
QWidget *parent = 0,
const char *name = 0, WFlags f = 0 );
00094 ~
PartBar() {};
00095
00096
virtual PartBarItem *insertItem(
ActionPart *part,
int pos = -1 );
00097
00102
virtual void setListBox( KListBox * );
00103
00107 KListBox *
listBox()
const {
return m_listBox; }
00108
00112
virtual void clear();
00113
00117
virtual QSize sizeHint() const;
00118
00119 virtual
QSize minimumSizeHint() const;
00120
00124
PartBarItem *currentItem() const;
00125
00126
void selectPart( const
QString & );
00127
00128 signals:
00129
void activated(
ActionPart *part );
00130
00131 protected slots:
00132 virtual
void slotSelected(
QListBoxItem * );
00133
00134 protected:
00135 virtual
void resizeEvent(
QResizeEvent * );
00136
00137 private:
00138 KListBox *m_listBox;
00139
PartBarItem *m_activeItem;
00140 };
00141
00142 }
00143
00144 #endif