00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SLCATEGORYSELECT_H__
00009 #define __SLCATEGORYSELECT_H__
00010
00011 #include <qcombobox.h>
00012 #include <qhbox.h>
00013 #include <qstring.h>
00014 #include <qarray.h>
00015 #include "slcategories.h"
00016
00017 using namespace SlCategory;
00018
00019 extern QString categoryFileName();
00020
00021 class QToolButton;
00022
00023 class SlCategoryComboPrivate;
00024 class SlCategoryCombo : public QComboBox
00025 {
00026 Q_OBJECT
00027
00028 public:
00029 SlCategoryCombo( QWidget *parent, const char* name = 0 );
00030 ~SlCategoryCombo();
00031
00032 int currentCategory() const;
00033 void setCurrentCategory( int id );
00034
00035 void initCombo( const QArray<int> &recCats, const QString &appName );
00036 void initCombo( const QArray<int> &recCats, const QString &appName,
00037 const QString &visibleName );
00038
00039
00040 QArray<int> initComboWithRefind( const QArray<int> &recCats, const QString &appName );
00041
00042 signals:
00043 void sigCatChanged( int newUid );
00044
00045 private slots:
00046 void slotValueChanged( int );
00047
00048 private:
00049 void setCurrentText( const QString &str );
00050 SlCategoryComboPrivate *d;
00051 };
00052
00053 class SlCategorySelectPrivate;
00054 class SlCategorySelect : public QHBox
00055 {
00056 Q_OBJECT
00057 public:
00058
00059
00060 SlCategorySelect( QWidget *parent = 0, const char *name = 0 );
00061
00062 SlCategorySelect( const QArray<int> &vlCats, const QString &appName,
00063 QWidget *parent = 0, const char *name = 0 );
00064 SlCategorySelect( const QArray<int> &vlCats, const QString &appName,
00065 const QString &visibleName, QWidget *parent = 0,
00066 const char *name = 0 );
00067
00068 ~SlCategorySelect();
00069
00070 const QArray<int> ¤tCategories() const;
00071 int currentCategory() const;
00072 void setCurrentCategory( int newCatUid );
00073
00074
00075
00076
00077
00078 #if 0
00079 void setCategories( const QArray<int> &vlCats, const QString &appName );
00080
00081 void setCategories( const QArray<int> &vlCats, const QString &appName,
00082 const QString &visibleName );
00083 #else
00084 QString setCategories( const QArray<int> &vlCats, const QString &appName );
00085 QString setCategories( const QArray<int> &vlCats, const QString &appName,
00086 const QString &visibleName );
00087 #endif
00088
00089
00090 void setRemoveCategoryEdit( bool remove );
00091 void setAllCategories( bool add );
00092
00093 void setFixedWidth(int width);
00094
00095 signals:
00096 void signalSelected( int );
00097
00098 private slots:
00099 void slotDialog();
00100 public slots:
00101 void slotNewCat( int id );
00102
00103 private:
00104 void init();
00105 QString mStrAppName;
00106 SlCategoryCombo *cmbCat;
00107 QToolButton *cmdCat;
00108 SlCategorySelectPrivate *d;
00109 };
00110
00111 #endif