tsu-trpo / puckmun

Waka Waka Waka Waka Waka Waka Waka Waka Waka Waka Waka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Переделать работу с ncurses

maurges opened this issue · comments

Сейчас работа с ними построена странно: вещи, которым нужен экран, создают объект класса NcursesScreen, а затем используют голые процедуры из библиотеки. Объект создаётся только для того, чтобы когда он уничтожился при выходе из программы или блока кода или при бросании исключения, ncurses корректно вернул экран в исходное состояние.
В этом есть проблема: это не с++ подход: не форсируется использование NcursesScreen, нет слежения за его существованием, и это может привести к тому, что неопытный программист будет вызывать процедуры ncurses когда этого делать нельзя. Поэтому нужно в рамках этой задачи сделать следующее: класс NcursesScreen наделить обёртками над всеми необходимыми процедурами ncurses, и заменить вызовы обычных процедур на вызовы соответствующих методов объекта. Заодно можно сделать более осмысленный порядок аргументов, чем он сейчас у ncurses, но это уже на усмотрение.