kitchensync
partbar.h00001
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 QPixmap mArrowPixmap;
00083 };
00084
00085
00090 class PartBar : public QFrame
00091 {
00092 Q_OBJECT
00093 public:
00094 PartBar( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
00095 ~PartBar() {};
00096
00097 virtual PartBarItem *insertItem( ActionPart *part, int pos = -1 );
00098
00103 virtual void setListBox( KListBox * );
00104
00108 KListBox *listBox() const { return m_listBox; }
00109
00113 virtual void clear();
00114
00118 virtual QSize sizeHint() const;
00119
00120 virtual QSize minimumSizeHint() const;
00121
00125 PartBarItem *currentItem() const;
00126
00127 void selectPart( const QString & );
00128
00129 signals:
00130 void activated( ActionPart *part );
00131
00132 protected slots:
00133 virtual void slotSelected( QListBoxItem * );
00134
00135 protected:
00136 virtual void resizeEvent( QResizeEvent * );
00137
00138 private:
00139 KListBox *m_listBox;
00140 PartBarItem *m_activeItem;
00141 };
00142
00143 }
00144
00145 #endif
|