1 package be
.nikiroo
.jvcard
.tui
;
3 import java
.io
.IOException
;
5 import com
.googlecode
.lanterna
.TerminalSize
;
6 import com
.googlecode
.lanterna
.TextColor
;
7 import com
.googlecode
.lanterna
.gui2
.DefaultWindowManager
;
8 import com
.googlecode
.lanterna
.gui2
.EmptySpace
;
9 import com
.googlecode
.lanterna
.gui2
.MultiWindowTextGUI
;
10 import com
.googlecode
.lanterna
.gui2
.Window
;
11 import com
.googlecode
.lanterna
.screen
.Screen
;
12 import com
.googlecode
.lanterna
.screen
.TerminalScreen
;
13 import com
.googlecode
.lanterna
.terminal
.DefaultTerminalFactory
;
14 import com
.googlecode
.lanterna
.terminal
.ResizeListener
;
15 import com
.googlecode
.lanterna
.terminal
.Terminal
;
23 public class TuiLauncher
{
25 static public void start(Boolean textMode
, Window win
) throws IOException
{
26 Terminal terminal
= null;
28 DefaultTerminalFactory factory
= new DefaultTerminalFactory();
29 if (textMode
== null) {
30 terminal
= factory
.createTerminal();
31 } else if (textMode
) {
32 factory
.setForceTextTerminal(true);
33 terminal
= factory
.createTerminal();
35 terminal
= factory
.createTerminalEmulator();
38 if (win
instanceof MainWindow
) {
39 MainWindow mwin
= (MainWindow
) win
;
40 mwin
.refresh(terminal
.getTerminalSize());
41 terminal
.addResizeListener(new ResizeListener() {
43 public void onResized(Terminal terminal
, TerminalSize newSize
) {
44 mwin
.refresh(newSize
);
49 Screen screen
= new TerminalScreen(terminal
);
52 // Create gui and start gui
53 MultiWindowTextGUI gui
= new MultiWindowTextGUI(screen
,
54 new DefaultWindowManager(), new EmptySpace(TextColor
.ANSI
.BLUE
));
55 gui
.addWindowAndWait(win
);