package be.nikiroo.jvcard.tui; import java.io.File; import java.io.IOException; import java.util.LinkedList; import java.util.List; import be.nikiroo.jvcard.Card; import be.nikiroo.jvcard.parsers.Format; import be.nikiroo.jvcard.tui.panes.ContactList; import be.nikiroo.jvcard.tui.panes.FileList; import com.googlecode.lanterna.TerminalSize; import com.googlecode.lanterna.TextColor; import com.googlecode.lanterna.gui2.BasicWindow; import com.googlecode.lanterna.gui2.Button; import com.googlecode.lanterna.gui2.DefaultWindowManager; import com.googlecode.lanterna.gui2.EmptySpace; import com.googlecode.lanterna.gui2.GridLayout; import com.googlecode.lanterna.gui2.Label; import com.googlecode.lanterna.gui2.MultiWindowTextGUI; import com.googlecode.lanterna.gui2.Panel; import com.googlecode.lanterna.gui2.TextBox; import com.googlecode.lanterna.gui2.Window; import com.googlecode.lanterna.gui2.table.Table; import com.googlecode.lanterna.screen.Screen; import com.googlecode.lanterna.screen.TerminalScreen; import com.googlecode.lanterna.terminal.DefaultTerminalFactory; import com.googlecode.lanterna.terminal.Terminal; public class Main { public static final String APPLICATION_TITLE = "jVcard"; public static final String APPLICATION_VERSION = "0.9"; public static void main(String[] args) throws IOException { Boolean textMode = null; if (args.length > 0 && args[0].equals("--tui")) textMode = true; if (args.length > 0 && args[0].equals("--gui")) textMode = false; Window win = null; // TODO: do not hardcode that: Card card = new Card(new File("/home/niki/.addressbook"), Format.Abook); win = new MainWindow(new ContactList(card)); // List files = new LinkedList(); files.add(new File("/home/niki/vcf/coworkers.vcf")); files.add(new File("/home/niki/vcf/oce.vcf")); win = new MainWindow(new FileList(files)); // TuiLauncher.start(textMode, win); /* * String file = args.length > 0 ? args[0] : null; String file2 = * args.length > 1 ? args[1] : null; * * if (file == null) file = * "/home/niki/workspace/rcard/utils/CVcard/test.vcf"; if (file2 == * null) file2 = "/home/niki/workspace/rcard/utils/CVcard/test.abook"; * * Card card = new Card(new File(file), Format.VCard21); * System.out.println(card.toString()); * * System.out.println("\n -- PINE -- \n"); * * card = new Card(new File(file2), Format.Abook); * System.out.println(card.toString(Format.Abook)); */ } static private void fullTestTable() throws IOException { final Table table = new Table("Column 1", "Column 2", "Column 3"); table.getTableModel().addRow("1", "2", "3"); table.setSelectAction(new Runnable() { @Override public void run() { List data = table.getTableModel().getRow( table.getSelectedRow()); for (int i = 0; i < data.size(); i++) { System.out.println(data.get(i)); } } }); Window win = new BasicWindow(); win.setComponent(table); DefaultTerminalFactory factory = new DefaultTerminalFactory(); Terminal terminal = factory.createTerminal(); Screen 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); screen.stopScreen(); } }