# kdeui Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KPopupMenu Class Reference

A menu with title items. More...

`#include <kpopupmenu.h>`

Inheritance diagram for KPopupMenu:

[legend]
Collaboration diagram for KPopupMenu:

[legend]
List of all members.

## Signals

void | aboutToShowContextMenu (KPopupMenu *menu, int menuItem, QPopupMenu *ctxMenu)

## Public Member Functions

| KPopupMenu (QWidget *parent=0, const char *name=0)
| ~KPopupMenu ()
int | insertTitle (const QString &text, int id=-1, int index=-1)
int | insertTitle (const QPixmap &icon, const QString &text, int id=-1, int index=-1)
void | changeTitle (int id, const QString &text)
void | changeTitle (int id, const QPixmap &icon, const QString &text)
QString | title (int id=-1) const
QPixmap | titlePixmap (int id) const
void | setKeyboardShortcutsEnabled (bool enable)
void | setKeyboardShortcutsExecute (bool enable)
| KPopupMenu (const QString &title, QWidget *parent=0, const char *name=0) KDE_DEPRECATED
void | setTitle (const QString &title) KDE_DEPRECATED
QPopupMenu * | contextMenu ()
const QPopupMenu * | contextMenu () const
void | hideContextMenu ()
virtual void | activateItemAt (int index)
Qt::ButtonState | state () const

## Static Public Member Functions

static KPopupMenu * | contextMenuFocus ()
static int | contextMenuFocusItem ()

## Protected Slots

QString | underlineText (const QString &text, uint length)
void | resetKeyboardVars (bool noMatches=false)
void | itemHighlighted (int whichItem)
void | showCtxMenu (QPoint pos)
void | ctxMenuHiding ()
void | ctxMenuHideShowingMenu ()

## Protected Member Functions

virtual void | closeEvent (QCloseEvent *)
virtual void | keyPressEvent (QKeyEvent *e)
virtual void | mouseReleaseEvent (QMouseEvent *e)
virtual void | mousePressEvent (QMouseEvent *e)
virtual bool | focusNextPrevChild (bool next)
virtual void | contextMenuEvent (QContextMenuEvent *e)
virtual void | hideEvent (QHideEvent *)
virtual void | virtual_hook (int id, void *data)

## Detailed Description

A menu with title items.

KPopupMenu is a class for menus with standard title items and keyboard accessibility for popups with many options and/or varying options. It acts identically to QPopupMenu, with the addition of insertTitle(), changeTitle(), setKeyboardShortcutsEnabled() and setKeyboardShortcutsExecute() methods.

The titles support a text string, an icon, plus user defined gradients, colors, and background pixmaps.

The keyboard search algorithm is incremental with additional underlining for user feedback.

Author:
  Daniel M. Duley <mosfet@kde.org>

  Hamish Rodda <rodda@kde.org>

Definition at line 123 of file kpopupmenu.h.

## Constructor & Destructor Documentation

KPopupMenu::KPopupMenu | ( | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |

| Constructs a KPopupMenu. Definition at line 164 of file kpopupmenu.cpp. References resetKeyboardVars().

KPopupMenu::~KPopupMenu | ( |  | ) |

| Destructs the object. Definition at line 172 of file kpopupmenu.cpp.

KPopupMenu::KPopupMenu | ( | const QString & | title,
|  | QWidget * | parent = `0`,
|  | const char * | name = `0`
| ) |

end of RMB menus on menus support

Deprecated:
  Obsolete method provided for backwards compatibility only. Use the normal constructor and insertTitle instead.

Definition at line 670 of file kpopupmenu.cpp.

References insertTitle(), and title().

## Member Function Documentation

int KPopupMenu::insertTitle | ( | const QString & | text,
|  | int | id = `-1`,
|  | int | index = `-1`
| ) |

| Inserts a title item with no icon. Definition at line 183 of file kpopupmenu.cpp. References QPopupMenu::insertItem(), QPopupMenu::setItemEnabled(), and KPopupTitle::setTitle(). Referenced by KDateTable::contentsMousePressEvent(), KPixmapRegionSelectorWidget::createPopupMenu(), KPopupMenu(), and KSystemTray::KSystemTray().

int KPopupMenu::insertTitle | ( | const QPixmap & | icon,
|  | const QString & | text,
|  | int | id = `-1`,
|  | int | index = `-1`
| ) |

| Inserts a title item with the given icon and title. Definition at line 192 of file kpopupmenu.cpp. References QPopupMenu::insertItem(), QPopupMenu::setItemEnabled(), and KPopupTitle::setTitle().

void KPopupMenu::changeTitle | ( | int | id,
|  | const QString & | text
| ) |

| Changes the title of the item at the specified id. If a icon was previously set it is cleared. Definition at line 202 of file kpopupmenu.cpp. References endl(), kdWarning(), and KPopupTitle::setTitle().

void KPopupMenu::changeTitle | ( | int | id,
|  | const QPixmap & | icon,
|  | const QString & | text
| ) |

| Changes the title and icon of the title item at the specified id. Definition at line 219 of file kpopupmenu.cpp. References endl(), and kdWarning().

QString KPopupMenu::title | ( | int | id = `-1` | ) | const

| Returns the title of the title item at the specified id. The default id of -1 is for backwards compatibility only, you should always specify the id. Definition at line 236 of file kpopupmenu.cpp. Referenced by KPopupMenu(), and setTitle().

QPixmap KPopupMenu::titlePixmap | ( | int | id | ) | const

| Returns the icon of the title item at the specified id. Definition at line 252 of file kpopupmenu.cpp.

void KPopupMenu::setKeyboardShortcutsEnabled | ( | bool | enable | ) |

Enables keyboard navigation by searching for the entered key sequence.

Also underlines the currently selected item, providing feedback on the search.

Defaults to off.

WARNING: calls to text() of currently keyboard-selected items will contain additional ampersand characters.

WARNING: though pre-existing keyboard shortcuts will not interfere with the operation of this feature, they may be confusing to the user as the existing shortcuts will not work.

Since:
  3.1

Definition at line 477 of file kpopupmenu.cpp.

Referenced by KPanelMenu::init().

void KPopupMenu::setKeyboardShortcutsExecute | ( | bool | enable | ) |

Enables execution of the menu item once it is uniquely specified.

Defaults to off.

Since:
  3.1

Definition at line 482 of file kpopupmenu.cpp.

void KPopupMenu::setTitle | ( | const QString & | title | ) |

Deprecated:
  Obsolete method provided for backwards compatibility only. Use insertTitle and changeTitle instead.

Definition at line 678 of file kpopupmenu.cpp.

References QPopupMenu::insertItem(), KPopupTitle::setTitle(), and title().

QPopupMenu * KPopupMenu::contextMenu | ( |  | ) |

Returns the context menu associated with this menu

Since:
  3.2.

Definition at line 514 of file kpopupmenu.cpp.

References QPopupMenu::aboutToHide(), and QPopupMenu::QPopupMenu().

const QPopupMenu * KPopupMenu::contextMenu | ( |  | ) | const

Returns the context menu associated with this menu

Since:
  3.2.

Definition at line 525 of file kpopupmenu.cpp.

void KPopupMenu::hideContextMenu | ( |  | ) |

Hides the context menu if shown

Since:
  3.2.

Definition at line 530 of file kpopupmenu.cpp.

KPopupMenu * KPopupMenu::contextMenuFocus | ( |  | ) | `[static]`

Returns the KPopupMenu associated with the current context menu

Since:
  3.2.

Definition at line 540 of file kpopupmenu.cpp.

int KPopupMenu::contextMenuFocusItem | ( |  | ) | `[static]`

returns the ID of the menuitem associated with the current context menu

Since:
  3.2

Definition at line 535 of file kpopupmenu.cpp.

void KPopupMenu::activateItemAt | ( | int | index | ) | `[virtual]`

Reimplemented for internal purposes

Since:
  3.4.

Definition at line 277 of file kpopupmenu.cpp.

Qt::ButtonState KPopupMenu::state | ( |  | ) | const

Return the state of the mouse button and keyboard modifiers when the last menuitem was activated.

Since:
  3.4

Definition at line 283 of file kpopupmenu.cpp.

Referenced by KAction::slotPopupActivated().

void KPopupMenu::aboutToShowContextMenu | ( | KPopupMenu * | menu,
|  | int | menuItem,
|  | QPopupMenu * | ctxMenu
| ) | `[signal]`

connect to this signal to be notified when a context menu is about to be shown

Parameters:

  | menu | The menu that the context menu is about to be shown for
  | menuItem | The menu item that the context menu is currently on
  | ctxMenu | The context menu itself

Since:
  3.2

void KPopupMenu::closeEvent | ( | QCloseEvent * | e | ) | `[protected, virtual]`

| This is re-implemented for keyboard navigation. Definition at line 270 of file kpopupmenu.cpp. References resetKeyboardVars().

void KPopupMenu::mouseReleaseEvent | ( | QMouseEvent * | e | ) | `[protected, virtual]`

Since:
  3.4

Definition at line 505 of file kpopupmenu.cpp.

void KPopupMenu::mousePressEvent | ( | QMouseEvent * | e | ) | `[protected, virtual]`

| RMB menus on menus. Definition at line 494 of file kpopupmenu.cpp.

QString KPopupMenu::underlineText | ( | const QString & | text,
|  | uint | length
| ) | `[protected, slot]`

Since:
  3.1

Definition at line 452 of file kpopupmenu.cpp.

References QString::insert().

void KPopupMenu::resetKeyboardVars | ( | bool | noMatches = `false` | ) | `[protected, slot]`

Since:
  3.1

Definition at line 462 of file kpopupmenu.cpp.

References QPopupMenu::changeItem(), and QPopupMenu::idAt().

Referenced by closeEvent(), and KPopupMenu().

The documentation for this class was generated from the following files:

- kpopupmenu.h
- kpopupmenu.cpp

This file is part of the documentation for kdeui Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:21:54 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003