Commit | Line | Data |
---|---|---|
0b0b2b0f NR |
1 | package be.nikiroo.jvcard.tui; |
2 | ||
3 | import java.io.File; | |
4 | import java.io.IOException; | |
5 | import java.util.LinkedList; | |
6 | import java.util.List; | |
7 | ||
8 | import be.nikiroo.jvcard.Card; | |
9 | import be.nikiroo.jvcard.parsers.Format; | |
10 | import be.nikiroo.jvcard.tui.panes.ContactList; | |
11 | import be.nikiroo.jvcard.tui.panes.FileList; | |
12 | ||
13 | import com.googlecode.lanterna.TerminalSize; | |
14 | import com.googlecode.lanterna.TextColor; | |
15 | import com.googlecode.lanterna.gui2.BasicWindow; | |
16 | import com.googlecode.lanterna.gui2.Button; | |
17 | import com.googlecode.lanterna.gui2.DefaultWindowManager; | |
18 | import com.googlecode.lanterna.gui2.EmptySpace; | |
19 | import com.googlecode.lanterna.gui2.GridLayout; | |
20 | import com.googlecode.lanterna.gui2.Label; | |
21 | import com.googlecode.lanterna.gui2.MultiWindowTextGUI; | |
22 | import com.googlecode.lanterna.gui2.Panel; | |
23 | import com.googlecode.lanterna.gui2.TextBox; | |
24 | import com.googlecode.lanterna.gui2.Window; | |
25 | import com.googlecode.lanterna.gui2.table.Table; | |
26 | import com.googlecode.lanterna.screen.Screen; | |
27 | import com.googlecode.lanterna.screen.TerminalScreen; | |
28 | import com.googlecode.lanterna.terminal.DefaultTerminalFactory; | |
29 | import com.googlecode.lanterna.terminal.Terminal; | |
30 | ||
31 | public class Main { | |
32 | public static final String APPLICATION_TITLE = "jVcard"; | |
33 | public static final String APPLICATION_VERSION = "0.9"; | |
34 | ||
35 | public static void main(String[] args) throws IOException { | |
36 | Boolean textMode = null; | |
37 | if (args.length > 0 && args[0].equals("--tui")) | |
38 | textMode = true; | |
39 | if (args.length > 0 && args[0].equals("--gui")) | |
40 | textMode = false; | |
41 | ||
42 | Window win = null; | |
43 | ||
44 | // TODO: do not hardcode that: | |
45 | Card card = new Card(new File("/home/niki/.addressbook"), Format.Abook); | |
46 | win = new MainWindow(new ContactList(card)); | |
47 | // | |
48 | List<File> files = new LinkedList<File>(); | |
49 | files.add(new File("/home/niki/vcf/coworkers.vcf")); | |
50 | files.add(new File("/home/niki/vcf/oce.vcf")); | |
51 | win = new MainWindow(new FileList(files)); | |
52 | // | |
53 | ||
54 | TuiLauncher.start(textMode, win); | |
55 | ||
56 | /* | |
57 | * String file = args.length > 0 ? args[0] : null; String file2 = | |
58 | * args.length > 1 ? args[1] : null; | |
59 | * | |
60 | * if (file == null) file = | |
61 | * "/home/niki/workspace/rcard/utils/CVcard/test.vcf"; if (file2 == | |
62 | * null) file2 = "/home/niki/workspace/rcard/utils/CVcard/test.abook"; | |
63 | * | |
64 | * Card card = new Card(new File(file), Format.VCard21); | |
65 | * System.out.println(card.toString()); | |
66 | * | |
67 | * System.out.println("\n -- PINE -- \n"); | |
68 | * | |
69 | * card = new Card(new File(file2), Format.Abook); | |
70 | * System.out.println(card.toString(Format.Abook)); | |
71 | */ | |
72 | } | |
73 | ||
74 | static private void fullTestTable() throws IOException { | |
75 | final Table<String> table = new Table<String>("Column 1", "Column 2", | |
76 | "Column 3"); | |
77 | table.getTableModel().addRow("1", "2", "3"); | |
78 | table.setSelectAction(new Runnable() { | |
79 | @Override | |
80 | public void run() { | |
81 | List<String> data = table.getTableModel().getRow( | |
82 | table.getSelectedRow()); | |
83 | for (int i = 0; i < data.size(); i++) { | |
84 | System.out.println(data.get(i)); | |
85 | } | |
86 | } | |
87 | }); | |
88 | ||
89 | Window win = new BasicWindow(); | |
90 | win.setComponent(table); | |
91 | ||
92 | DefaultTerminalFactory factory = new DefaultTerminalFactory(); | |
93 | Terminal terminal = factory.createTerminal(); | |
94 | ||
95 | Screen screen = new TerminalScreen(terminal); | |
96 | screen.startScreen(); | |
97 | ||
98 | // Create gui and start gui | |
99 | MultiWindowTextGUI gui = new MultiWindowTextGUI(screen, | |
100 | new DefaultWindowManager(), new EmptySpace(TextColor.ANSI.BLUE)); | |
101 | gui.addWindowAndWait(win); | |
102 | ||
103 | screen.stopScreen(); | |
104 | } | |
105 | } |