| /* |
| * Copyright 2006 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| package com.google.gwt.sample.mail.client; |
| |
| import com.google.gwt.user.client.Window; |
| import com.google.gwt.user.client.ui.ClickListener; |
| import com.google.gwt.user.client.ui.Composite; |
| import com.google.gwt.user.client.ui.HTML; |
| import com.google.gwt.user.client.ui.HorizontalPanel; |
| import com.google.gwt.user.client.ui.VerticalPanel; |
| import com.google.gwt.user.client.ui.Widget; |
| |
| /** |
| * The top panel, which contains the 'welcome' message and various links. |
| */ |
| public class TopPanel extends Composite implements ClickListener { |
| |
| private HTML signOutLink = new HTML("<a href='javascript:;'>Sign Out</a>"); |
| private HTML aboutLink = new HTML("<a href='javascript:;'>About</a>"); |
| |
| public TopPanel() { |
| HorizontalPanel outer = new HorizontalPanel(); |
| VerticalPanel inner = new VerticalPanel(); |
| |
| outer.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT); |
| inner.setHorizontalAlignment(HorizontalPanel.ALIGN_RIGHT); |
| |
| HorizontalPanel links = new HorizontalPanel(); |
| links.setSpacing(4); |
| links.add(signOutLink); |
| links.add(aboutLink); |
| |
| outer.add(inner); |
| inner.add(new HTML("<b>Welcome back, foo@example.com</b>")); |
| inner.add(links); |
| |
| signOutLink.addClickListener(this); |
| aboutLink.addClickListener(this); |
| |
| initWidget(outer); |
| inner.setStyleName("mail-TopPanel"); |
| links.setStyleName("mail-TopPanelLinks"); |
| } |
| |
| public void onClick(Widget sender) { |
| if (sender == signOutLink) { |
| Window.alert("If this were implemented, you would be signed out now."); |
| } else if (sender == aboutLink) { |
| // When the 'About' item is selected, show the AboutDialog. |
| // Note that showing a dialog box does not block -- execution continues |
| // normally, and the dialog fires an event when it is closed. |
| AboutDialog dlg = new AboutDialog(); |
| |
| // Position it roughly in the middle of the screen. |
| int left = (Window.getClientWidth() - 512) / 2; |
| int top = (Window.getClientHeight() - 256) / 2; |
| dlg.setPopupPosition(left, top); |
| |
| dlg.show(); |
| } |
| } |
| } |