package ppj09.gwt.swapweb.client.gui; import ppj09.gwt.swapweb.client.SwapWeb; import ppj09.gwt.swapweb.client.datatype.ArticleSearchResult; import ppj09.gwt.swapweb.client.datatype.SearchResult; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.AbsolutePanel; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Hyperlink; import com.google.gwt.user.client.ui.Widget; /** * Dieser View rendert ein einzelnes Suchergebnis vom Typ ArticleSearchResult. * Er wird zusammen mit anderen SearchResults innerhalb einer *SearchResultListView aufgerufen. * * @author Georg, Andre, Michael, Chrisitan * @version 0.1, 15.05.09 */ public class ArticleSearchResultView extends Composite implements SearchResultView { private VerticalPanel verticalPanel; private AbsolutePanel absolutePanel; private Image articleImage; private Label userLabel; private Hyperlink articlenameHyperlink; private Label offerScopeLabel; private Hyperlink userHyperlink; private Label offerScopeLabel2; private ArticleSearchResult searchResult; public ArticleSearchResultView(final SearchResult searchResult) { { this.searchResult = (ArticleSearchResult) searchResult; verticalPanel = new VerticalPanel(); initWidget(verticalPanel); verticalPanel.setSize("650", "90"); { absolutePanel = new AbsolutePanel(); absolutePanel.setSize("650", "90"); { articleImage = new Image(this.searchResult.getPictureUrl()); absolutePanel.add(articleImage, 5, 5); articleImage.setSize("80", "80"); } { userLabel = new Label("Benutzer:"); absolutePanel.add(userLabel, 105, 40); } { articlenameHyperlink = new Hyperlink(this.searchResult.getTitle(), false, "newHistoryToken"); articlenameHyperlink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.println("article"); SwapWeb.getContentPanel().clear(); SwapWeb.getContentPanel().add(new ArticleView( ( (ArticleSearchResult) searchResult).getId() ) ); SwapWeb.getContentPanel().doLayout(); } }); absolutePanel.add(articlenameHyperlink, 100, 5); articlenameHyperlink.setWidth("400"); } { offerScopeLabel = new Label("Artikelumfang:"); absolutePanel.add(offerScopeLabel, 105, 60); } { userHyperlink = new Hyperlink(this.searchResult.getUserName(), false, "newHistoryToken"); userHyperlink.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { System.out.println("user"); SwapWeb.getContentPanel().clear(); SwapWeb.getContentPanel().add(new UserView(((ArticleSearchResult) searchResult).getUserName()) ); SwapWeb.getContentPanel().doLayout(); } }); absolutePanel.add(userHyperlink, 180, 40); userHyperlink.setWidth("300"); } { offerScopeLabel2 = new Label(this.searchResult.getOfferScope()); absolutePanel.add(offerScopeLabel2, 195, 60); offerScopeLabel2.setWidth("300"); } verticalPanel.add(absolutePanel); } } } /** * @return the articlenameHyperlink text */ public String getArticlename() { return articlenameHyperlink.getText(); } /** * @param articlename * the articlenameHyperlink to set */ public void setArticlename(String articlename) { this.articlenameHyperlink.setText(articlename); } /** * @return the userHyperlink text */ public String getUsername() { return userHyperlink.getText(); } /** * @param username * the userHyperlink to set */ public void setUsername(String username) { this.userHyperlink.setText(username); } /** * @return the shippingLabel text */ public String getShipping() { return offerScopeLabel2.getText(); } /** * @param shipping * the shippingLabel to set */ public void setShipping(String shipping) { this.offerScopeLabel2.setText(shipping); } /** * @param articleImage * the articleImage to set */ public void setArticleImage(Image articleImage) { this.articleImage = articleImage; } }