summaryrefslogtreecommitdiffstats
path: root/qtinterface/tqmenudata.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtinterface/tqmenudata.cpp')
-rw-r--r--qtinterface/tqmenudata.cpp50
1 files changed, 50 insertions, 0 deletions
diff --git a/qtinterface/tqmenudata.cpp b/qtinterface/tqmenudata.cpp
index 625c54d..5565298 100644
--- a/qtinterface/tqmenudata.cpp
+++ b/qtinterface/tqmenudata.cpp
@@ -29,4 +29,54 @@ Q3PopupMenu *QMenuItem::popup() const {
return &Q3PopupMenu(menu());
}
+/*!
+ \overload
+
+ Inserts a menu item that consists of the widget \a widget with
+ optional id \a id, and optional \a index position.
+
+ Ownership of \a widget is transferred to the popup menu or to the
+ menu bar.
+
+ Theoretically, any widget can be inserted into a popup menu. In
+ practice, this only makes sense with certain widgets.
+
+ If a widget is not focus-enabled (see
+ \l{QWidget::isFocusEnabled()}), the menu treats it as a separator;
+ this means that the item is not selectable and will never get
+ focus. In this way you can, for example, simply insert a QLabel if
+ you need a popup menu with a title.
+
+ If the widget is focus-enabled it will get focus when the user
+ traverses the popup menu with the arrow keys. If the widget does
+ not accept \c ArrowUp and \c ArrowDown in its key event handler,
+ the focus will move back to the menu when the respective arrow key
+ is hit one more time. This works with a QLineEdit, for example. If
+ the widget accepts the arrow key itself, it must also provide the
+ possibility to put the focus back on the menu again by calling
+ QWidget::focusNextPrevChild(). Futhermore, if the embedded widget
+ closes the menu when the user made a selection, this can be done
+ safely by calling:
+ \code
+ if ( isVisible() &&
+ parentWidget() &&
+ parentWidget()->inherits("QPopupMenu") )
+ parentWidget()->close();
+ \endcode
+
+ Returns the allocated menu identifier number (\a id if \a id >= 0).
+
+ \sa removeItem()
+*/
+int QMenu::insertItem( QWidget* widget, int id, int index )
+{
+ #warning "QMenuData::insertItem(QWidget* widget, int id, int index) unimplemented!"
+
+ // New method is const QIcon*, const QString*, const QObject*, const char*, const QKeySequence*, const QMenu*, int, int
+ // Qt4 does not seem to support arbitrary widgets being added to menus (!!!)
+ // This will need to be reimplemented somehow as it is a very useful feature (e.g. Start menu text filter box)
+ //return insertAny( 0, 0, 0, 0, id, index, widget );
+ return insertAny( 0, &QString("UNIMPLEMENTED"), widget, 0, 0, 0, id, index );
+}
+
#endif // USE_QT4 \ No newline at end of file