package be.nikiroo.jvcard.tui;
import java.io.IOException;
+import java.util.List;
+
+import be.nikiroo.jvcard.tui.panes.FileList;
import com.googlecode.lanterna.TerminalSize;
import com.googlecode.lanterna.TextColor;
-import com.googlecode.lanterna.gui2.DefaultWindowManager;
-import com.googlecode.lanterna.gui2.EmptySpace;
import com.googlecode.lanterna.gui2.MultiWindowTextGUI;
import com.googlecode.lanterna.gui2.Window;
import com.googlecode.lanterna.screen.Screen;
*
*/
public class TuiLauncher {
+ static private Screen screen = null;
+
+ /**
+ * Start the TUI program.
+ *
+ * @param textMode
+ * TRUE to force text mode, FALSE to force the Swing terminal
+ * emulator, null to automatically determine the best choice
+ * @param files
+ * the files to show at startup
+ *
+ * @throws IOException
+ * in case of IO error
+ */
+ static public void start(Boolean textMode, List<String> files)
+ throws IOException {
+ Window win = new MainWindow(new FileList(files));
+ TuiLauncher.start(textMode, win);
+ }
+
+ /**
+ * Return the used {@link Screen}.
+ *
+ * @return the {@link Screen}
+ */
+ static public Screen getScreen() {
+ return screen;
+ }
+ /**
+ * Start the TUI program.
+ *
+ * @param textMode
+ * TRUE to force text mode, FALSE to force the Swing terminal
+ * emulator, null to automatically determine the best choice
+ * @param win
+ * the window to show at start
+ *
+ * @throws IOException
+ * in case of IO error
+ */
static public void start(Boolean textMode, Window win) throws IOException {
Terminal terminal = null;
});
}
- Screen screen = new TerminalScreen(terminal);
+ screen = new TerminalScreen(terminal);
screen.startScreen();
// Create gui and start gui
MultiWindowTextGUI gui = new MultiWindowTextGUI(screen,
- new DefaultWindowManager(), new EmptySpace(TextColor.ANSI.BLUE));
- gui.addWindowAndWait(win);
+ TextColor.ANSI.BLUE);
+ gui.setTheme(UiColors.getCustomTheme());
+
+ gui.addWindowAndWait(win);
screen.stopScreen();
}
}