Многоуровневое меню на классах, C++

Рубрика: IT. Сети. Связь
Метки: | |
Воскресенье, 5 декабря 2010 г.
Просмотров: 5291
Подписаться на комментарии по RSS

По меню перемещаться можно с помощью стрелочек <UP>/<DOWN>; <ENTER> — раскрыть/закрыть пункт меню. <ESC> — выход из меню и отображение последнего выделенного пункта.

Меню сделано на базе деревьев, которые реализованы STL-подобным классом tree.hh (сайт проекта), это означает, что не вдаваясь в детали и не используя все возможности класса с ним работают так же как с контейнерными классами из STL, например с vector.

В классе четыре поля типа «дерево», которые отвечают за хранение текущего состояния меню: id каждого пункта; дерево названий пунктов; содержит ли пункт подпункты, если да, закрыты они в данный момент или открыты; еще одно — «дерево обратных ссылок» хранит информацию о количестве подпунктов, закрывающихся для обзора в случае закрытия их пункта-родителя — это нужно для перемещения вверх по меню, минуя эти недоступные глазу пункты.

Как с ним работать программисту видно на первой картинке. На второй видно что получается в консоли:

 

  

Версия учебная, поэтому некоторые методы не работают или недоделаны.

 

Скачать исходники (MS VS 2010, 188 Кб) »

Upd. Релиз не работает без библиотек 10-й студии.

twitter.com facebook.com vkontakte.ru mail.ru friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru yandex.ru del.icio.us

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)