summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2003-02-23 03:35:32 (UTC)
committer llornkcor <llornkcor>2003-02-23 03:35:32 (UTC)
commit98ed23c5281a57d08c6c18b464fc50b4638385f8 (patch) (side-by-side diff)
tree79e3ad38c6e96ce3d0bbabb00e601a45f41d7210
parent47fc358e914aecd13c4cb3d9cb4b3f2ca1a93b6c (diff)
downloadopie-98ed23c5281a57d08c6c18b464fc50b4638385f8.zip
opie-98ed23c5281a57d08c6c18b464fc50b4638385f8.tar.gz
opie-98ed23c5281a57d08c6c18b464fc50b4638385f8.tar.bz2
added a couple public methods- remove(int) count() text(int) and setUseLabel. see header for notes
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/menubutton.cpp71
-rw-r--r--library/menubutton.h6
2 files changed, 60 insertions, 17 deletions
diff --git a/library/menubutton.cpp b/library/menubutton.cpp
index 007761f..4357460 100644
--- a/library/menubutton.cpp
+++ b/library/menubutton.cpp
@@ -66,8 +66,9 @@
*/
MenuButton::MenuButton( const QStringList& items, QWidget* parent, const char* name) :
QPushButton(parent,name)
{
+ useLabel = true;
init();
insertItems(items);
}
@@ -97,10 +98,10 @@ void MenuButton::init()
Removes all the menu items from the button and menu.
*/
void MenuButton::clear()
{
- delete pop;
- init();
+ delete pop;
+ init();
}
/*!
A menu item is created (see insertItem()) for each string in the \a
@@ -110,12 +111,12 @@ void MenuButton::clear()
void MenuButton::insertItems( const QStringList& items )
{
QStringList::ConstIterator it=items.begin();
for (; it!=items.end(); ++it) {
- if ( (*it) == "--" )
- insertSeparator();
- else
- insertItem(*it);
+ if ( (*it) == "--" )
+ insertSeparator();
+ else
+ insertItem(*it);
}
}
/*!
@@ -126,9 +127,9 @@ 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);
}
/*!
\overload
@@ -138,9 +139,9 @@ 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);
}
/*!
Inserts a separator into the menu.
@@ -157,12 +158,12 @@ void MenuButton::insertSeparator()
*/
void MenuButton::select(const QString& s)
{
for (int i=0; i<nitems; i++) {
- if ( pop->text(i) == s ) {
- select(i);
- break;
- }
+ if ( pop->text(i) == s ) {
+ select(i);
+ break;
+ }
}
}
/*!
@@ -173,9 +174,9 @@ void MenuButton::select(int s)
{
cur = s;
updateLabel();
if ( pop->iconSet(cur) )
- setIconSet(*pop->iconSet(cur));
+ setIconSet(*pop->iconSet(cur));
emit selected(cur);
emit selected(currentText());
}
@@ -207,10 +208,46 @@ void MenuButton::setLabel(const QString& label)
}
void MenuButton::updateLabel()
{
- QString t = pop->text(cur);
- if ( !lab.isEmpty() )
- t = lab.arg(t);
- setText(t);
+ 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
@@ -30,8 +30,9 @@ public:
MenuButton( const QStringList& items, QWidget* parent, const char* name=0);
void clear();
+
int currentItem() const;
QString currentText() const;
void insertItems( const QStringList& items );
@@ -39,8 +40,12 @@ public:
void insertItem( const QString& text );
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);
void selected(const QString&);
@@ -49,8 +54,9 @@ public slots:
void select(int);
void select(const QString&);
private:
+ bool useLabel;
void init();
QStringList txts;
QPopupMenu* pop;
int nitems;