Подобное терминалу окно для wxWidgets?

Я надеюсь добавлять элемент к своему wxWidgets GUI, который ведет себя как эмулятор терминала. Не с точки зрения оболочки, которая выполняет команды, но просто установку ввода - вывода приложения, работающего в терминале.

В основном требования:

Потоковая передача ввода/вывода: при вводе символа добавляется к входному потоку, и когда что-то передается по каналу к терминалу, это сразу распечатывает.

Никакое редактирование: После того как Вы вводите в символе, это постоянно там, так как это было, вероятно, использовано приложением, работающим в терминале.

Своего рода прокрутка (даже если это просто показывает несколько строк или что-то).

Было бы хорошо, если существует что-то, что уже делает это, но предложения о том, как реализовать это с уже существующими средствами управления, такими как wxTextCtrl, также приветствовались бы.

8
задан Myrddin Emrys 12 February 2010 в 00:21
поделиться

2 ответа

Я знаю, что это на пару недель позже, но надеюсь, что это все еще полезно. У меня есть проект под названием Chameleon, использующий виджет терминала VT100 на базе wxWidgets, который сам был основан на проекте под названием taTelnet. Исходный код Chameleon доступен с моего сайта (страница скачивания здесь). Не уверен, что это именно то, что вы ищете, но это может дать вам некоторые идеи. Не стесняйтесь, дайте мне знать, если у вас возникнут вопросы по этому поводу.

3
ответ дан 5 December 2019 в 23:15
поделиться

Чтобы начать вас, вы должны хранить номер в какой-то массиве, как std :: вектор (цифра для каждой позиции в массиве), и вам нужно найти определенный алгоритм, который рассчитает факториал (может быть в каком-то специализированном классе). ;)

-121--2410550-

WxWidgets поддерживает перенаправление stdout к WxtextCTRL через WXSTREAMTOTEXTREDIRECTER . Что касается ввода, вы можете переопределить событие onchar в классе, полученном на WXTextCTRL, чтобы обработать это.

2
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: