15cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampepackage com.android.preload.ui;
25cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
35cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport com.android.ddmlib.Client;
45cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport java.io.File;
55cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport java.util.List;
65cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport javax.swing.Action;
75cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport javax.swing.ListModel;
85cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampeimport javax.swing.table.TableModel;
95cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
105cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe/**
115cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe * UI abstraction for the tool. This allows a graphical mode, command line mode,
125cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe * or silent mode.
135cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe */
145cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampepublic interface IUI {
155cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
165cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void prepare(ListModel<Client> clientListModel, TableModel dataTableModel,
175cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe            List<Action> actions);
185cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
195cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void ready();
205cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
213bf65c916ce65c06b0920ec4b8f68d3ef6c5e721Andreas Gampe    boolean isSingleThreaded();
223bf65c916ce65c06b0920ec4b8f68d3ef6c5e721Andreas Gampe
235cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    Client getSelectedClient();
245cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
255cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    int getSelectedDataTableRow();
265cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
275cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void showWaitDialog();
285cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
295cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void updateWaitDialog(String s);
305cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
315cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void hideWaitDialog();
325cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
335cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    void showMessageDialog(String s);
345cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
355cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    boolean showConfirmDialog(String title, String message);
365cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
375cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    String showInputDialog(String message);
385cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
395cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    <T> T showChoiceDialog(String title, String message, T[] choices);
405cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
415cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    File showSaveDialog();
425cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
435cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe    File[] showOpenDialog(boolean multi);
445cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe
455cb8998363a16e667faee4eaa7e5040bce7e702bAndreas Gampe}
46