135444864c7b6f49865a7e17aa0052987b72e4728showardpackage autotest.tko;
235444864c7b6f49865a7e17aa0052987b72e4728showard
335444864c7b6f49865a7e17aa0052987b72e4728showardimport autotest.common.ui.ContextMenu;
435444864c7b6f49865a7e17aa0052987b72e4728showard
564aeecdec485192241e5377b3fa5ac7cf57a0c12showardimport com.google.gwt.json.client.JSONObject;
635444864c7b6f49865a7e17aa0052987b72e4728showardimport com.google.gwt.user.client.Command;
735444864c7b6f49865a7e17aa0052987b72e4728showard
835444864c7b6f49865a7e17aa0052987b72e4728showardpublic class TestContextMenu extends ContextMenu {
935444864c7b6f49865a7e17aa0052987b72e4728showard    private static TestLabelManager labelManager = TestLabelManager.getManager();
1035444864c7b6f49865a7e17aa0052987b72e4728showard    private TestSet tests;
1135444864c7b6f49865a7e17aa0052987b72e4728showard    private TestSelectionListener listener;
1235444864c7b6f49865a7e17aa0052987b72e4728showard
1335444864c7b6f49865a7e17aa0052987b72e4728showard    public TestContextMenu(TestSet tests, TestSelectionListener listener) {
1435444864c7b6f49865a7e17aa0052987b72e4728showard        this.tests = tests;
1535444864c7b6f49865a7e17aa0052987b72e4728showard        this.listener = listener;
1635444864c7b6f49865a7e17aa0052987b72e4728showard    }
1735444864c7b6f49865a7e17aa0052987b72e4728showard
1835444864c7b6f49865a7e17aa0052987b72e4728showard    public boolean addViewDetailsIfSingleTest() {
1935444864c7b6f49865a7e17aa0052987b72e4728showard        if (!tests.isSingleTest()) {
2035444864c7b6f49865a7e17aa0052987b72e4728showard            return false;
2135444864c7b6f49865a7e17aa0052987b72e4728showard        }
2235444864c7b6f49865a7e17aa0052987b72e4728showard
2335444864c7b6f49865a7e17aa0052987b72e4728showard        addItem("View test details", new Command() {
2435444864c7b6f49865a7e17aa0052987b72e4728showard            public void execute() {
258a6eb0cf5777dded2354408e8007d9223e813c92showard                listener.onSelectTest(tests.getTestIndex());
2635444864c7b6f49865a7e17aa0052987b72e4728showard            }
2735444864c7b6f49865a7e17aa0052987b72e4728showard        });
2835444864c7b6f49865a7e17aa0052987b72e4728showard        return true;
2935444864c7b6f49865a7e17aa0052987b72e4728showard    }
3035444864c7b6f49865a7e17aa0052987b72e4728showard
3135444864c7b6f49865a7e17aa0052987b72e4728showard    public void addLabelItems() {
3264aeecdec485192241e5377b3fa5ac7cf57a0c12showard        final JSONObject condition = tests.getCondition();
33d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward        addItem("Invalidate tests", new Command() {
34d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward            public void execute() {
35d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward                labelManager.handleInvalidate(condition);
36d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward            }
37d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward        });
384d35724705fb82094fdd27b0396f70fe6a163e31showard        addItem("Revalidate tests", new Command() {
394d35724705fb82094fdd27b0396f70fe6a163e31showard            public void execute() {
404d35724705fb82094fdd27b0396f70fe6a163e31showard                labelManager.handleRevalidate(condition);
414d35724705fb82094fdd27b0396f70fe6a163e31showard            }
424d35724705fb82094fdd27b0396f70fe6a163e31showard        });
4335444864c7b6f49865a7e17aa0052987b72e4728showard        addItem("Add label", new Command() {
4435444864c7b6f49865a7e17aa0052987b72e4728showard            public void execute() {
45d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward                labelManager.handleAddLabels(condition);
4635444864c7b6f49865a7e17aa0052987b72e4728showard            }
4735444864c7b6f49865a7e17aa0052987b72e4728showard        });
4835444864c7b6f49865a7e17aa0052987b72e4728showard        addItem("Remove label", new Command() {
4935444864c7b6f49865a7e17aa0052987b72e4728showard            public void execute() {
50d50ffb4b0ef514fb969d53b82e23ab41d4d3812eshoward                labelManager.handleRemoveLabels(condition);
5135444864c7b6f49865a7e17aa0052987b72e4728showard            }
5235444864c7b6f49865a7e17aa0052987b72e4728showard        });
5335444864c7b6f49865a7e17aa0052987b72e4728showard    }
5435444864c7b6f49865a7e17aa0052987b72e4728showard}
55