Skip to content

Commit

Permalink
Closes #324
Browse files Browse the repository at this point in the history
  • Loading branch information
matthewhorridge committed Dec 12, 2015
1 parent 8c8fc14 commit e4097d2
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package edu.stanford.bmir.protege.web.client.ui.library.entitylabel;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.InlineLabel;
import com.google.gwt.user.client.ui.*;
import edu.stanford.bmir.protege.web.shared.entity.OWLEntityData;
import edu.stanford.bmir.protege.web.shared.selection.SelectionModel;

/**
* Author: Matthew Horridge<br>
Expand All @@ -26,13 +27,15 @@ interface EntityLabelUiBinder extends UiBinder<HTMLPanel, EntityLabel> {
protected InlineLabel typeLabel;

@UiField
protected InlineLabel browserTextLabel;
protected InlineHyperlink browserTextLabel;

@UiField
protected InlineLabel iriLabel;

private OWLEntityData entityData;

private SelectionModel selectionModel;

public EntityLabel() {
HTMLPanel rootElement = ourUiBinder.createAndBindUi(this);
initWidget(rootElement);
Expand All @@ -44,6 +47,10 @@ public void setEntity(OWLEntityData entityData) {
updateDisplay();
}

public void setSelectionModel(SelectionModel selectionModel) {
this.selectionModel = selectionModel;
}

public OWLEntityData getEntityData() {
return entityData;
}
Expand All @@ -53,6 +60,14 @@ public OWLEntityData getEntityData() {
private void updateDisplay() {
typeLabel.setText(entityData.getEntity().getEntityType().getName() + ": ");
browserTextLabel.setText(entityData.getBrowserText());
browserTextLabel.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if (selectionModel != null) {
selectionModel.setSelection(entityData);
}
}
});
iriLabel.setText("(" + entityData.getEntity().getIRI().toQuotedString() + ")");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
</ui:style>

<g:HTMLPanel>
<g:InlineLabel ui:field="typeLabel" addStyleNames="{style.type-style}"/><g:InlineLabel ui:field="browserTextLabel" addStyleNames="{style.browser-text-style}"/>
<g:InlineLabel ui:field="typeLabel" addStyleNames="{style.type-style}"/><g:InlineHyperlink ui:field="browserTextLabel" addStyleNames="{style.browser-text-style}"/>
<g:InlineLabel ui:field="iriLabel" addStyleNames="{style.iri-style}" visible="false"/>
</g:HTMLPanel>
</ui:UiBinder>
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import edu.stanford.bmir.protege.web.client.ui.library.entitylabel.EntityLabel;
import edu.stanford.bmir.protege.web.client.ui.library.timelabel.ElapsedTimeLabel;
import edu.stanford.bmir.protege.web.shared.entity.OWLEntityData;
import edu.stanford.bmir.protege.web.shared.selection.SelectionModel;

import java.util.Set;

Expand All @@ -35,15 +36,17 @@ public class ProjectChangeEventPanel extends Composite implements ProjectFeedIte
protected InlineLabel descriptionField;


private SelectionModel selectionModel;

interface ChangeEventPanelUiBinder extends UiBinder<HTMLPanel, ProjectChangeEventPanel> {

}

private static ChangeEventPanelUiBinder ourUiBinder = GWT.create(ChangeEventPanelUiBinder.class);

public ProjectChangeEventPanel() {
public ProjectChangeEventPanel(SelectionModel selectionModel) {
HTMLPanel rootElement = ourUiBinder.createAndBindUi(this);
this.selectionModel = selectionModel;
initWidget(rootElement);
}

Expand All @@ -66,6 +69,7 @@ public void setChangedEntities(final Set<OWLEntityData> entities) {
for(OWLEntityData entityData : entities) {
final EntityLabel changedEntityLabel = new EntityLabel();
changedEntityLabel.setEntity(entityData);
changedEntityLabel.setSelectionModel(selectionModel);
changedEntitiesTable.setWidget(row, 0, changedEntityLabel);
row++;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.google.gwt.user.client.ui.Composite;
import edu.stanford.bmir.protege.web.shared.event.*;
import edu.stanford.bmir.protege.web.shared.project.ProjectId;
import edu.stanford.bmir.protege.web.shared.selection.SelectionModel;

/**
* Author: Matthew Horridge<br>
Expand All @@ -14,8 +15,8 @@ public class ProjectFeedBasePanel extends Composite {

private ProjectFeedPanel eventPanel;

public ProjectFeedBasePanel(final ProjectId projectId, HasEventHandlerManagement eventHandlerMan) {
eventPanel = new ProjectFeedPanel(projectId);
public ProjectFeedBasePanel(final ProjectId projectId, HasEventHandlerManagement eventHandlerMan, SelectionModel selectionModel) {
eventPanel = new ProjectFeedPanel(projectId, selectionModel);
initWidget(eventPanel);
eventHandlerMan.addProjectEventHandler(ProjectChangedEvent.TYPE, new ProjectChangedHandler() {
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import edu.stanford.bmir.protege.web.shared.event.UserStoppedViewingProjectEvent;
import edu.stanford.bmir.protege.web.shared.notes.NoteId;
import edu.stanford.bmir.protege.web.shared.project.ProjectId;
import edu.stanford.bmir.protege.web.shared.selection.SelectionModel;

import java.util.Date;
import java.util.HashSet;
Expand All @@ -35,6 +36,8 @@ public class ProjectFeedPanel extends Composite {

private RevisionNumber lastRevisionNumber = RevisionNumber.getRevisionNumber(0);

private SelectionModel selectionModel;

private Timer elapsedTimesUpdateTimer = new Timer() {
@Override
public void run() {
Expand All @@ -54,8 +57,9 @@ interface RollingProjectChangedEventPanelUiBinder extends UiBinder<HTMLPanel, Pr

private static RollingProjectChangedEventPanelUiBinder ourUiBinder = GWT.create(RollingProjectChangedEventPanelUiBinder.class);

public ProjectFeedPanel(ProjectId projectId) {
public ProjectFeedPanel(ProjectId projectId, SelectionModel selectionModel) {
HTMLPanel rootElement = ourUiBinder.createAndBindUi(this);
this.selectionModel = selectionModel;
initWidget(rootElement);
}

Expand All @@ -64,7 +68,7 @@ public void postChangeEvent(ProjectChangedEvent event) {
return;
}
lastRevisionNumber = event.getRevisionNumber();
final ProjectChangeEventPanel changePanel = new ProjectChangeEventPanel();
final ProjectChangeEventPanel changePanel = new ProjectChangeEventPanel(selectionModel);
changePanel.setUserName(event.getUserId().getUserName());
changePanel.setTimestamp(event.getTimestamp());
changePanel.setChangedEntities(event.getSubjects());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public ProjectFeedPortlet(SelectionModel selectionModel, Project project) {

@Override
public void initialize() {
basePanel = new ProjectFeedBasePanel(getProjectId(), this);
basePanel = new ProjectFeedBasePanel(getProjectId(), this, getSelectionModel());
setTitle("Project feed");
setSize(300, 180);
add(basePanel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import org.semanticweb.owlapi.change.OWLOntologyChangeRecord;
import org.semanticweb.owlapi.model.*;
import org.semanticweb.owlapi.util.SimpleIRIMapper;
import org.yaml.snakeyaml.nodes.NodeId;

import javax.inject.Inject;
import java.io.File;
Expand Down

0 comments on commit e4097d2

Please sign in to comment.