15 namespace duds {
namespace ui {
namespace menu {
18 mview(view), range(vis) { }
44 menu()->block.lock_shared();
46 if ((newRange != -1) && (newRange !=
range)) {
58 mview->menu()->block.unlock_shared();
63 if (newRange !=
range) {
73 if (iter !=
menu()->cbegin()) {
75 while ((iter !=
menu()->cbegin()) && (*iter)->isInvisible()) {
78 if (!(*iter)->isInvisible()) {
86 if (iter !=
menu()->cend()) {
88 while ((iter !=
menu()->cend()) && (*iter)->isInvisible()) {
91 if ((iter !=
menu()->cend()) && !(*iter)->isInvisible()) {
99 if (
menu()->empty()) {
104 std::size_t sel =
mview->selectedIndex();
105 int uidx =
menu()->updateIndex();
109 Menu::ItemVec::const_iterator front =
menu()->iterator(sel);
110 Menu::ItemVec::const_iterator back = front;
112 if ((*front)->isVisible()) {
114 items.push_front(front->get());
124 assert(
menu()->empty());
131 items.push_front(front->get());
141 items.push_back(back->get());
153 items.push_front(front->get());
#define DUDS_THROW_EXCEPTION(x)
Works like BOOST_THROW_EXCEPTION, but includes a stack trace if DUDS_ERRORS_VERBOSE is defined...