2010-01-20 11 views
8

Estoy buscando agregar un elemento a mi GUI de wxWidgets que se comporta como un emulador de terminal. No en términos de un shell que ejecuta comandos, sino simplemente la configuración de entrada y salida de una aplicación que se ejecuta en un terminal.¿Una ventana tipo terminal para wxWidgets?

Básicamente, los requisitos son:

Streaming de entrada/salida: Cuando se introduce un carácter, que se añade a un flujo de entrada, y cuando algo se canaliza al terminal, se imprime inmediatamente.

Sin edición: una vez que escribe un carácter, está permanentemente allí, ya que es probable que haya sido consumido por la aplicación que se ejecuta en el terminal.

Algún tipo de desplazamiento (incluso si solo muestra algunas líneas o algo así).

Sería bueno si hay algo que ya lo hace, pero también serían bienvenidas las sugerencias sobre cómo implementar esto con controles ya existentes como wxTextCtrl.

+0

Jeremy, si esta fue su respuesta https://github.com/jeremysalwen/TerminalWx - ¿no valdría la pena dar una respuesta al respecto? Estoy interesado en el estado actual de tu componente. Los últimos cambios fueron en diciembre de 2013, último (y único) lanzamiento en 2012 ... – Wolf

Respuesta

3

Sé que esto es un par de semanas tarde, pero espero que todavía sea útil. Tengo un proyecto llamado Chameleon que usa un widget de terminal VT100 basado en wxWidgets, que a su vez estaba basado en un proyecto llamado taTelnet. La fuente de Chameleon está disponible en mi sitio web (download page here). No estoy seguro de si es exactamente lo que está buscando, pero podría darle algunas ideas. No dude en hacérmelo saber si tiene alguna pregunta al respecto.

+0

¡Gracias, esto es * exactamente * lo que estoy buscando! Lo investigaré y le haré cualquier pregunta que pueda tener. –

+0

Nota: el código fuente está en una estructura de directorio plana, pero el proyecto espera que esté en carpetas. –

+0

Hmm. Puede haber cometido un error cuando estaba comprimiendo. Gracias por la noticia. – markerikson

2

wxWidgets admite redireccionar STDOUT a un wxTextCtrl a través de wxStreamToTextRedirector. En cuanto a la entrada, puede anular el evento OnChar en una clase wxTextCtrl-derived para manejar esto.

Cuestiones relacionadas