author | llornkcor <llornkcor> | 2003-02-23 03:35:32 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-02-23 03:35:32 (UTC) |
commit | 98ed23c5281a57d08c6c18b464fc50b4638385f8 (patch) (unidiff) | |
tree | 79e3ad38c6e96ce3d0bbabb00e601a45f41d7210 | |
parent | 47fc358e914aecd13c4cb3d9cb4b3f2ca1a93b6c (diff) | |
download | opie-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
-rw-r--r-- | library/menubutton.cpp | 41 | ||||
-rw-r--r-- | library/menubutton.h | 6 |
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 | |||
@@ -64,12 +64,13 @@ | |||
64 | standard \a parent an \a name arguments are passed to the base | 64 | standard \a parent an \a name arguments are passed to the base |
65 | class. | 65 | class. |
66 | */ | 66 | */ |
67 | MenuButton::MenuButton( const QStringList& items, QWidget* parent, const char* name) : | 67 | MenuButton::MenuButton( const QStringList& items, QWidget* parent, const char* name) : |
68 | QPushButton(parent,name) | 68 | QPushButton(parent,name) |
69 | { | 69 | { |
70 | useLabel = true; | ||
70 | init(); | 71 | init(); |
71 | insertItems(items); | 72 | insertItems(items); |
72 | } | 73 | } |
73 | 74 | ||
74 | /*! | 75 | /*! |
75 | Constructs an empty MenuButton. | 76 | Constructs an empty MenuButton. |
@@ -124,25 +125,25 @@ void MenuButton::insertItems( const QStringList& items ) | |||
124 | 125 | ||
125 | \sa insertItems() | 126 | \sa insertItems() |
126 | */ | 127 | */ |
127 | void MenuButton::insertItem( const QIconSet& icon, const QString& text ) | 128 | void MenuButton::insertItem( const QIconSet& icon, const QString& text ) |
128 | { | 129 | { |
129 | pop->insertItem(icon, text, nitems++); | 130 | pop->insertItem(icon, text, nitems++); |
130 | if ( nitems==1 ) select(0); | 131 | // if ( nitems==1 ) select(0); |
131 | } | 132 | } |
132 | 133 | ||
133 | /*! | 134 | /*! |
134 | \overload | 135 | \overload |
135 | Inserts a menu item with the label \a text into the menu. | 136 | Inserts a menu item with the label \a text into the menu. |
136 | 137 | ||
137 | \sa insertItems() | 138 | \sa insertItems() |
138 | */ | 139 | */ |
139 | void MenuButton::insertItem( const QString& text ) | 140 | void MenuButton::insertItem( const QString& text ) |
140 | { | 141 | { |
141 | pop->insertItem(text, nitems++); | 142 | pop->insertItem(text, nitems++); |
142 | if ( nitems==1 ) select(0); | 143 | // if ( nitems==1 ) select(0); |
143 | } | 144 | } |
144 | 145 | ||
145 | /*! | 146 | /*! |
146 | Inserts a separator into the menu. | 147 | Inserts a separator into the menu. |
147 | 148 | ||
148 | \sa insertItems() | 149 | \sa insertItems() |
@@ -205,12 +206,48 @@ void MenuButton::setLabel(const QString& label) | |||
205 | lab = label; | 206 | lab = label; |
206 | updateLabel(); | 207 | updateLabel(); |
207 | } | 208 | } |
208 | 209 | ||
209 | void MenuButton::updateLabel() | 210 | void MenuButton::updateLabel() |
210 | { | 211 | { |
212 | if(useLabel) | ||
213 | { | ||
211 | QString t = pop->text(cur); | 214 | QString t = pop->text(cur); |
212 | if ( !lab.isEmpty() ) | 215 | if ( !lab.isEmpty() ) |
213 | t = lab.arg(t); | 216 | t = lab.arg(t); |
214 | setText(t); | 217 | setText(t); |
215 | } | 218 | } |
219 | } | ||
220 | |||
221 | |||
222 | /*! | ||
223 | remove item at id | ||
224 | */ | ||
225 | void MenuButton::remove(int id) | ||
226 | { | ||
227 | pop->removeItem(id); | ||
228 | nitems--; | ||
229 | } | ||
230 | |||
231 | /*! | ||
232 | return count of items in menu | ||
233 | */ | ||
234 | int MenuButton::count() | ||
235 | { | ||
236 | return nitems; | ||
237 | } | ||
216 | 238 | ||
239 | /*! | ||
240 | returns text of item id | ||
241 | */ | ||
242 | QString MenuButton::text(int id) | ||
243 | { | ||
244 | return pop->text(id); | ||
245 | } | ||
246 | |||
247 | /*! | ||
248 | sets true or false the use of label | ||
249 | */ | ||
250 | void MenuButton::setUseLabel(bool b) | ||
251 | { | ||
252 | useLabel = b; | ||
253 | } | ||
diff --git a/library/menubutton.h b/library/menubutton.h index 6582b1e..ee5dcf1 100644 --- a/library/menubutton.h +++ b/library/menubutton.h | |||
@@ -28,31 +28,37 @@ class MenuButton : public QPushButton { | |||
28 | public: | 28 | public: |
29 | MenuButton( QWidget* parent, const char* name=0); | 29 | MenuButton( QWidget* parent, const char* name=0); |
30 | MenuButton( const QStringList& items, QWidget* parent, const char* name=0); | 30 | MenuButton( const QStringList& items, QWidget* parent, const char* name=0); |
31 | 31 | ||
32 | void clear(); | 32 | void clear(); |
33 | 33 | ||
34 | |||
34 | int currentItem() const; | 35 | int currentItem() const; |
35 | QString currentText() const; | 36 | QString currentText() const; |
36 | 37 | ||
37 | void insertItems( const QStringList& items ); | 38 | void insertItems( const QStringList& items ); |
38 | void insertItem( const QIconSet& icon, const QString& text=QString::null ); | 39 | void insertItem( const QIconSet& icon, const QString& text=QString::null ); |
39 | void insertItem( const QString& text ); | 40 | void insertItem( const QString& text ); |
40 | void insertSeparator(); | 41 | void insertSeparator(); |
41 | 42 | ||
42 | void setLabel(const QString& label); | 43 | void setLabel(const QString& label); |
44 | int count(); | ||
45 | void remove(int id); | ||
46 | QString text(int id); | ||
47 | void setUseLabel(bool b); | ||
43 | 48 | ||
44 | signals: | 49 | signals: |
45 | void selected(int); | 50 | void selected(int); |
46 | void selected(const QString&); | 51 | void selected(const QString&); |
47 | 52 | ||
48 | public slots: | 53 | public slots: |
49 | void select(int); | 54 | void select(int); |
50 | void select(const QString&); | 55 | void select(const QString&); |
51 | 56 | ||
52 | private: | 57 | private: |
58 | bool useLabel; | ||
53 | void init(); | 59 | void init(); |
54 | QStringList txts; | 60 | QStringList txts; |
55 | QPopupMenu* pop; | 61 | QPopupMenu* pop; |
56 | int nitems; | 62 | int nitems; |
57 | int cur; | 63 | int cur; |
58 | QString lab; | 64 | QString lab; |