Esse commit está contido em:
Matthew Horridge
2015-03-31 17:01:38 -07:00
commit 6835850f7d
4 arquivos alterados com 46 adições e 15 exclusões
@@ -6,6 +6,7 @@ import org.protege.editor.owl.OWLEditorKit;
import org.protege.editor.owl.model.find.OWLEntityFinderPreferences;
import org.protege.editor.owl.model.search.SearchResult;
import org.protege.editor.owl.ui.search.SearchPanel;
import org.protege.editor.owl.ui.search.SearchResultClickedListener;
import org.semanticweb.owlapi.model.OWLEntity;
import javax.swing.*;
@@ -85,9 +86,16 @@ public class EntityFinderField extends AugmentedJTextField {
performFind();
}
});
searchPanel.setSearchResultClickedListener(new SearchResultClickedListener() {
@Override
public void handleSearchResultClicked(SearchResult searchResult, MouseEvent e) {
if(e.getClickCount() == 2) {
selectEntity();
}
}
});
}
private void selectEntity() {
Optional<OWLEntity> selectedEntity = searchPanel.getSelectedEntity();
if (selectedEntity.isPresent()) {
@@ -62,6 +62,10 @@ public class SearchPanel extends JPanel {
add(searchActionsPanel, BorderLayout.SOUTH);
}
public void setSearchResultClickedListener(SearchResultClickedListener searchResultClickedListener) {
searchResultsPanel.setSearchResultClickedListener(searchResultClickedListener);
}
public void setSearchString(String searchString) {
this.searchString = searchString;
searchOptionsPanel.refresh();
@@ -0,0 +1,15 @@
package org.protege.editor.owl.ui.search;
import org.protege.editor.owl.model.search.SearchResult;
import java.awt.event.MouseEvent;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 31/03/15
*/
public interface SearchResultClickedListener {
void handleSearchResultClicked(SearchResult searchResult, MouseEvent e);
}
@@ -29,6 +29,8 @@ import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Collection;
import static com.google.common.base.Preconditions.checkNotNull;
/**
* Author: Matthew Horridge<br>
* Stanford University<br>
@@ -55,6 +57,12 @@ public class SearchResultsPanel extends JPanel {
private SearchResultsTableModel model;
private SearchResultClickedListener searchResultClickedListener = new SearchResultClickedListener() {
@Override
public void handleSearchResultClicked(SearchResult searchResult, MouseEvent e) {
}
};
public SearchResultsPanel(OWLEditorKit editorKit) {
this.editorKit = editorKit;
@@ -82,7 +90,10 @@ public class SearchResultsPanel extends JPanel {
handleScrollpaneViewportChanged();
}
});
}
public void setSearchResultClickedListener(SearchResultClickedListener l) {
this.searchResultClickedListener = checkNotNull(l);
}
private void setupColumnRenderers() {
@@ -107,20 +118,13 @@ public class SearchResultsPanel extends JPanel {
private void handleMouseReleased(MouseEvent e) {
if (e.getClickCount() == 2) {
handleDoubleClickRelease(e);
Optional<SearchResult> selectedSearchResult = getSelectedSearchResult();
if (selectedSearchResult.isPresent()) {
searchResultClickedListener.handleSearchResultClicked(selectedSearchResult.get(), e);
}
}
}
private void handleDoubleClickRelease(MouseEvent e) {
Optional<OWLEntity> entity = getSelectedEntity();
if (entity.isPresent()) {
editorKit.getWorkspace().getOWLSelectionModel().setSelectedEntity(entity.get());
editorKit.getWorkspace().displayOWLEntity(entity.get());
}
}
public void setSearchResults(SearchResultSet searchResultSet, int categorySizeLimit) {
this.searchResultSet = searchResultSet;
setData(searchResultSet.getSearchResults());
@@ -142,12 +146,12 @@ public class SearchResultsPanel extends JPanel {
}
public SearchResult getSelectedSearchResult() {
public Optional<SearchResult> getSelectedSearchResult() {
int selRow = resultsTable.getSelectedRow();
if (selRow == -1) {
return null;
return Optional.absent();
}
return model.getSearchResult(selRow);
return Optional.of(model.getSearchResult(selRow));
}