package com.ocpsoft.socialpm.gwt.client.local.view.component; 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.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.ocpsoft.socialpm.model.project.story.Story; public class StoryBlock extends Composite implements HasClickHandlers { interface StoryBlockBinder extends UiBinder<Widget, StoryBlock> { } private static StoryBlockBinder binder = GWT.create(StoryBlockBinder.class); private Story story; @UiField Span text; Label wrapped = null; public StoryBlock() { initWidget(binder.createAndBindUi(this)); sinkEvents(Event.ONCLICK); } public StoryBlock(Story story) { this(); setStory(story); } public StoryBlock setStory(Story story) { this.story = story; text.setInnerText("As a " + story.getRole() + ", I want " + story.getObjective() + ", so I can " + story.getResult()); return this; } public Story getStory() { return story; } @Override public HandlerRegistration addClickHandler(ClickHandler clickHandler) { return addHandler(clickHandler, ClickEvent.getType()); } }