1 16 package com.google.gwt.sample.mail.client; 17 18 import com.google.gwt.user.client.Window; 19 import com.google.gwt.user.client.ui.AbstractImagePrototype; 20 import com.google.gwt.user.client.ui.ClickListener; 21 import com.google.gwt.user.client.ui.Composite; 22 import com.google.gwt.user.client.ui.HTML; 23 import com.google.gwt.user.client.ui.HorizontalPanel; 24 import com.google.gwt.user.client.ui.Image; 25 import com.google.gwt.user.client.ui.ImageBundle; 26 import com.google.gwt.user.client.ui.VerticalPanel; 27 import com.google.gwt.user.client.ui.Widget; 28 29 32 public class TopPanel extends Composite implements ClickListener { 33 34 37 public interface Images extends ImageBundle { 38 AbstractImagePrototype logo(); 39 } 40 41 private HTML signOutLink = new HTML("<a HREF='javascript:;'>Sign Out</a>"); 42 private HTML aboutLink = new HTML("<a HREF='javascript:;'>About</a>"); 43 44 public TopPanel(Images images) { 45 HorizontalPanel outer = new HorizontalPanel(); 46 VerticalPanel inner = new VerticalPanel(); 47 48 outer.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT); 49 inner.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT); 50 51 HorizontalPanel links = new HorizontalPanel(); 52 links.setSpacing(4); 53 links.add(signOutLink); 54 links.add(aboutLink); 55 56 final Image logo = images.logo().createImage(); 57 outer.add(logo); 58 outer.setCellHorizontalAlignment(logo, HorizontalPanel.ALIGN_LEFT); 59 60 outer.add(inner); 61 inner.add(new HTML("<b>Welcome back, foo@example.com</b>")); 62 inner.add(links); 63 64 signOutLink.addClickListener(this); 65 aboutLink.addClickListener(this); 66 67 initWidget(outer); 68 setStyleName("mail-TopPanel"); 69 links.setStyleName("mail-TopPanelLinks"); 70 } 71 72 public void onClick(Widget sender) { 73 if (sender == signOutLink) { 74 Window.alert("If this were implemented, you would be signed out now."); 75 } else if (sender == aboutLink) { 76 AboutDialog dlg = new AboutDialog(); 80 dlg.show(); 81 dlg.center(); 82 } 83 } 84 } 85 | Popular Tags |