@Override public Object generateCell(Table source, Object itemId, Object columnId) { final ExampleQuery eQ = (ExampleQuery) itemId; Panel p = new Panel(); p.addStyleName(ChameleonTheme.PANEL_BORDERLESS); HorizontalLayout l = new HorizontalLayout(); Button btn = new Button(); btn.setDescription("show corpus browser for " + eQ.getCorpusName()); btn.addStyleName(BaseTheme.BUTTON_LINK); btn.setIcon(SEARCH_ICON); btn.setDescription( "show results for \"" + eQ.getExampleQuery() + "\" in " + eQ.getCorpusName()); p.setContent(l); btn.addClickListener( new Button.ClickListener() { @Override public void buttonClick(Button.ClickEvent event) { ControlPanel controlPanel = ui.getControlPanel(); QueryPanel queryPanel; QueryController qController; if (controlPanel == null) { log.error("controlPanel is not initialized"); return; } queryPanel = controlPanel.getQueryPanel(); if (queryPanel == null) { log.error("queryPanel is not initialized"); return; } Set<String> corpusNameSet = new HashSet<String>(); corpusNameSet.add(eQ.getCorpusName()); QueryController controller = ui.getQueryController(); if (controller != null) { controller.setQuery(new Query(eQ.getExampleQuery(), corpusNameSet)); controller.executeQuery(); } } }); l.addComponent(btn); return p; }
@Override public Object generateCell(Table source, Object itemId, Object columnId) { ExampleQuery eQ = (ExampleQuery) itemId; return getOpenCorpusPanel(eQ.getCorpusName()); }