svgui  1.9
SubdividingMenu Class Reference

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

#include <SubdividingMenu.h>

Inheritance diagram for SubdividingMenu:
Collaboration diagram for SubdividingMenu:

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() [1/2]

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

Definition at line 25 of file SubdividingMenu.cpp.

◆ SubdividingMenu() [2/2]

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

Definition at line 34 of file SubdividingMenu.cpp.

◆ ~SubdividingMenu()

SubdividingMenu::~SubdividingMenu ( )
virtual

Definition at line 43 of file SubdividingMenu.cpp.

References m_pendingEntries.

Member Function Documentation

◆ setEntries()

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

Definition at line 52 of file SubdividingMenu.cpp.

References m_entriesSet, m_lowerLimit, m_nameToChunkMenuMap, and m_upperLimit.

Referenced by entriesAdded().

◆ entriesAdded()

void SubdividingMenu::entriesAdded ( )

Definition at line 136 of file SubdividingMenu.cpp.

References addAction(), addMenu(), m_entriesSet, m_pendingEntries, and setEntries().

◆ addAction() [1/3]

void SubdividingMenu::addAction ( QAction *  action)
virtual

Definition at line 171 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

Referenced by entriesAdded().

◆ addAction() [2/3]

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

Definition at line 191 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

◆ addAction() [3/3]

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

Definition at line 209 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

◆ addMenu() [1/3]

void SubdividingMenu::addMenu ( QMenu *  menu)
virtual

Definition at line 227 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

Referenced by entriesAdded().

◆ addMenu() [2/3]

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

Definition at line 247 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

◆ addMenu() [3/3]

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

Definition at line 266 of file SubdividingMenu.cpp.

References m_entriesSet, m_nameToChunkMenuMap, and m_pendingEntries.

Member Data Documentation

◆ m_nameToChunkMenuMap

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

Definition at line 66 of file SubdividingMenu.h.

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

◆ m_lowerLimit

int SubdividingMenu::m_lowerLimit
protected

Definition at line 68 of file SubdividingMenu.h.

Referenced by setEntries().

◆ m_upperLimit

int SubdividingMenu::m_upperLimit
protected

Definition at line 69 of file SubdividingMenu.h.

Referenced by setEntries().

◆ m_entriesSet

bool SubdividingMenu::m_entriesSet
protected

Definition at line 71 of file SubdividingMenu.h.

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

◆ m_pendingEntries

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: