svgui  1.9
SubdividingMenu Class Reference

A menu that divides its entries into submenus, alphabetically. More...

#include <SubdividingMenu.h>

List of all members.

Public Member Functions

 SubdividingMenu (int lowerLimit=0, int upperLimit=0, QWidget *parent=0)
 SubdividingMenu (const QString &title, int lowerLimit=0, int upperLimit=0, QWidget *parent=0)
virtual ~SubdividingMenu ()
void setEntries (const std::set< QString > &entries)
void entriesAdded ()
virtual void addAction (QAction *)
virtual QAction * addAction (const QString &)
virtual void addAction (const QString &entry, QAction *)
virtual void addMenu (QMenu *)
virtual QMenu * addMenu (const QString &)
virtual void addMenu (const QString &entry, QMenu *)

Protected Attributes

std::map< QString, QMenu * > m_nameToChunkMenuMap
int m_lowerLimit
int m_upperLimit
bool m_entriesSet
std::map< QString, QObject * > m_pendingEntries

Detailed Description

A menu that divides its entries into submenus, alphabetically.

For menus that may contain a very large or small number of named items (e.g. plugins).

The menu needs to be told, before any of the actions are added, what the set of entry strings will be, so it can determine a reasonable categorisation. Do this by calling the setEntries() method. If it isn't practical to do this in advance, then add the entries and call entriesAdded() afterwards instead.

Definition at line 37 of file SubdividingMenu.h.


Constructor & Destructor Documentation

SubdividingMenu::SubdividingMenu ( int  lowerLimit = 0,
int  upperLimit = 0,
QWidget *  parent = 0 
)

Definition at line 25 of file SubdividingMenu.cpp.

SubdividingMenu::SubdividingMenu ( const QString &  title,
int  lowerLimit = 0,
int  upperLimit = 0,
QWidget *  parent = 0 
)

Definition at line 34 of file SubdividingMenu.cpp.

Definition at line 43 of file SubdividingMenu.cpp.

References m_pendingEntries.


Member Function Documentation

void SubdividingMenu::setEntries ( const std::set< QString > &  entries)

Definition at line 52 of file SubdividingMenu.cpp.

References addMenu(), m_entriesSet, m_lowerLimit, m_nameToChunkMenuMap, and m_upperLimit.

Referenced by entriesAdded().

void SubdividingMenu::addAction ( QAction *  action) [virtual]

Definition at line 171 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

Referenced by addAction(), and entriesAdded().

QAction * SubdividingMenu::addAction ( const QString &  name) [virtual]

Definition at line 191 of file SubdividingMenu.cpp.

References addAction(), m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

void SubdividingMenu::addAction ( const QString &  entry,
QAction *  action 
) [virtual]

Definition at line 209 of file SubdividingMenu.cpp.

References addAction(), m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

void SubdividingMenu::addMenu ( QMenu *  menu) [virtual]

Definition at line 227 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

Referenced by addMenu(), entriesAdded(), and setEntries().

QMenu * SubdividingMenu::addMenu ( const QString &  name) [virtual]

Definition at line 247 of file SubdividingMenu.cpp.

References addMenu(), m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

void SubdividingMenu::addMenu ( const QString &  entry,
QMenu *  menu 
) [virtual]

Definition at line 266 of file SubdividingMenu.cpp.

References addMenu(), m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.


Member Data Documentation

std::map<QString, QMenu *> SubdividingMenu::m_nameToChunkMenuMap [protected]

Definition at line 66 of file SubdividingMenu.h.

Referenced by addAction(), addMenu(), and setEntries().

Definition at line 68 of file SubdividingMenu.h.

Referenced by setEntries().

Definition at line 69 of file SubdividingMenu.h.

Referenced by setEntries().

Definition at line 71 of file SubdividingMenu.h.

Referenced by addAction(), addMenu(), entriesAdded(), and setEntries().

std::map<QString, QObject *> SubdividingMenu::m_pendingEntries [protected]

Definition at line 72 of file SubdividingMenu.h.

Referenced by addAction(), addMenu(), entriesAdded(), and ~SubdividingMenu().


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