summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--library/menubutton.cpp41
-rw-r--r--library/menubutton.h6
2 files changed, 45 insertions, 2 deletions
diff --git a/library/menubutton.cpp b/library/menubutton.cpp
index 007761f..4357460 100644
--- a/library/menubutton.cpp
+++ b/library/menubutton.cpp
@@ -67,6 +67,7 @@
MenuButton::MenuButton( const QStringList& items, QWidget* parent, const char* name) :
QPushButton(parent,name)
{
+ useLabel = true;
init();
insertItems(items);
}
@@ -127,7 +128,7 @@ void MenuButton::insertItems( const QStringList& items )
void MenuButton::insertItem( const QIconSet& icon, const QString& text )
{
pop->insertItem(icon, text, nitems++);
- if ( nitems==1 ) select(0);
+// if ( nitems==1 ) select(0);
}
/*!
@@ -139,7 +140,7 @@ void MenuButton::insertItem( const QIconSet& icon, const QString& text )
void MenuButton::insertItem( const QString& text )
{
pop->insertItem(text, nitems++);
- if ( nitems==1 ) select(0);
+// if ( nitems==1 ) select(0);
}
/*!
@@ -208,9 +209,45 @@ void MenuButton::setLabel(const QString& label)
void MenuButton::updateLabel()
{
+ if(useLabel)
+ {
QString t = pop->text(cur);
if ( !lab.isEmpty() )
t = lab.arg(t);
setText(t);
}
+}
+
+
+/*!
+ remove item at id
+ */
+void MenuButton::remove(int id)
+{
+ pop->removeItem(id);
+ nitems--;
+}
+
+/*!
+ return count of items in menu
+ */
+int MenuButton::count()
+{
+ return nitems;
+}
+/*!
+ returns text of item id
+ */
+QString MenuButton::text(int id)
+{
+ return pop->text(id);
+}
+
+/*!
+ sets true or false the use of label
+ */
+void MenuButton::setUseLabel(bool b)
+{
+ useLabel = b;
+}
diff --git a/library/menubutton.h b/library/menubutton.h
index 6582b1e..ee5dcf1 100644
--- a/library/menubutton.h
+++ b/library/menubutton.h
@@ -31,6 +31,7 @@ public:
void clear();
+
int currentItem() const;
QString currentText() const;
@@ -40,6 +41,10 @@ public:
void insertSeparator();
void setLabel(const QString& label);
+ int count();
+ void remove(int id);
+ QString text(int id);
+ void setUseLabel(bool b);
signals:
void selected(int);
@@ -50,6 +55,7 @@ public slots:
void select(const QString&);
private:
+ bool useLabel;
void init();
QStringList txts;
QPopupMenu* pop;