2010-01-20 35 views
8

Czekam na dodanie elementu do mojego GUI wxWidgets, który zachowuje się jak emulator terminala. Nie w odniesieniu do powłoki, która wykonuje polecenia, ale tylko do konfiguracji wejścia-wyjścia aplikacji działającej w terminalu.Okno podobne do terminala dla wxWidgets?

Zasadniczo, wymagania są:

strumieniowe wejście/wyjście: Po wpisaniu znaku, jest on dodawany do strumienia wejściowego, a gdy coś jest rurami do terminalu, to wypisuje natychmiast.

Bez edycji: Po wpisaniu znaku jest tam na stałe, ponieważ prawdopodobnie został zużyty przez aplikację uruchomioną w terminalu.

Jakieś przewijanie (nawet jeśli pokazuje tylko kilka linii lub coś takiego).

Byłoby miło, jeśli jest coś, co już to robi, ale mile widziane byłyby sugestie dotyczące implementacji tego z już istniejącymi kontrolkami, takimi jak wxTextCtrl.

+0

Jeremy, jeśli to była odpowiedź: https://github.com/jeremysalwen/TerminalWx - czy nie warto było jej odpowiedzieć? Interesuje mnie aktualny stan Twojego komponentu. Ostatnie zmiany były w grudniu 2013, ostatnie (i jedyne) wydanie w 2012 roku ... – Wolf

Odpowiedz

3

Wiem, że to spóźnienie o kilka tygodni, ale mam nadzieję, że nadal będzie przydatne. Mam projekt o nazwie Chameleon, który korzysta z widgetu terminalu VT100 opartego na wxWidgets, który był oparty na projekcie zwanym taTelnet. Źródło Chameleon jest dostępne na mojej stronie internetowej (download page here). Nie wiem, czy to dokładnie to, czego szukasz, ale może dać ci kilka pomysłów. Jeśli masz jakiekolwiek pytania, daj mi znać.

+0

Dzięki, to jest * dokładnie * to, czego szukam! Zajrzę do tego i będę zadawał ci wszelkie pytania, które mógłbym mieć. –

+0

Uwaga: kod źródłowy znajduje się w płaskiej strukturze katalogów, ale projekt oczekuje, że będzie w folderach. –

+0

Hmm. Mogłem popełnić błąd, gdy go zapakowałem. Dzięki za powiadomienie. – markerikson

2

wxWidgets obsługuje przekierowanie STDOUT do wxTextCtrl poprzez wxStreamToTextRedirector. Jeśli chodzi o dane wejściowe, można zastąpić zdarzenie OnChar w klasie pochodnej wxTextCtrl, aby obsłużyć to.