diff options
Diffstat (limited to 'qtinterface/tqmenudata.cpp')
-rw-r--r-- | qtinterface/tqmenudata.cpp | 50 |
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 |