summaryrefslogtreecommitdiffstats
path: root/src/controls/qtmenu.cpp
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@digia.com>2013-04-08 18:13:29 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-12 17:11:27 +0200
commita0cc1951b30282a367db8fd9933101a6c851c15b (patch)
tree63c18a5161d3eacccb1050266e4b9affc04bf3b7 /src/controls/qtmenu.cpp
parent10947feec131b408dd7f5761d07d5e1cf4511728 (diff)
Menu: Add API for inserting items, separators, submenus
In particular, Menu::insertItem() is now overloaded. It can take a string as second parameter, in which case it will create a new MenuItem and return it after inserting it, or it can take any QtMenuBase based class pointer and just insert it. The latter use case is useful when populating a menu with the Instantiator type. Currently, addSeparator and insertSeparator don't return any value since MenuSeparators are not configurable. Change-Id: I9659ea0ee9d76ed5163316be1a5c7a8f03eaa28f Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/controls/qtmenu.cpp')
-rw-r--r--src/controls/qtmenu.cpp53
1 files changed, 47 insertions, 6 deletions
diff --git a/src/controls/qtmenu.cpp b/src/controls/qtmenu.cpp
index 0c0de48ad..f40d46039 100644
--- a/src/controls/qtmenu.cpp
+++ b/src/controls/qtmenu.cpp
@@ -169,17 +169,49 @@ QT_BEGIN_NAMESPACE
\qmlmethod MenuItem Menu::addItem(string text)
Adds an item to the menu. Returns the newly created \l MenuItem.
+
+ \sa insertItem(int before, string title)
*/
/*!
- \qmlmethod MenuSeparator Menu::addSeparator()
+ \qmlmethod MenuItem Menu::insertItem(int before, string title)
+
+ Creates and inserts an item with title \c title at the index \c before in the current menu.
+ Returns the newly created \l MenuItem.
+
+ \sa addItem()
+*/
+
+/*!
+ \qmlmethod void Menu::addSeparator()
+
+ Adds a separator to the menu.
- Adds a separator to the menu. Returns the newly created \l MenuSeparator.
+ \sa insertSeparator()
+*/
+
+/*!
+ \qmlmethod void Menu::insertSeparator(int before)
+
+ Creates and inserts a separator at the index \c before in the current menu.
+
+ \sa addSeparator()
*/
/*!
\qmlmethod Menu Menu::addMenu(string title)
Adds a submenu to the menu. Returns the newly created \l Menu.
+
+ \sa insertMenu()
+*/
+
+/*!
+ \qmlmethod MenuItem Menu::insertMenu(int before, string title)
+
+ Creates and inserts a submenu with title \c title at the index \c before in the current menu.
+ Returns the newly created \l Menu.
+
+ \sa addMenu()
*/
/*!
@@ -478,17 +510,26 @@ int QtMenu::indexOfMenuItem(QtMenuBase *item) const
QtMenuItem *QtMenu::addItem(QString title)
{
+ return insertItem(m_itemsCount, title);
+}
+
+QtMenuItem *QtMenu::insertItem(int index, QString title)
+{
QtMenuItem *item = new QtMenuItem(this);
item->setText(title);
- insertItem(m_itemsCount, item);
+ insertItem(index, item);
return item;
}
-QtMenuSeparator *QtMenu::addSeparator()
+void QtMenu::addSeparator()
+{
+ insertSeparator(m_itemsCount);
+}
+
+void QtMenu::insertSeparator(int index)
{
QtMenuSeparator *item = new QtMenuSeparator(this);
- insertItem(m_itemsCount, item);
- return item;
+ insertItem(index, item);
}
void QtMenu::insertItem(int index, QtMenuBase *menuItem)