blob: a9c80662cfd7c2844833de0bdacd937a347fe0a1 [file] [log] [blame]
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
* distributed with this work for additional information *
* regarding copyright ownership. The ASF licenses this file *
* to you 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 org.apache.hupa.client.mvp;
import java.util.ArrayList;
import java.util.List;
import net.customware.gwt.presenter.client.EventBus;
import org.apache.hupa.client.HupaCSS;
import org.apache.hupa.client.HupaConstants;
import org.apache.hupa.client.HupaMessages;
import org.apache.hupa.client.bundles.IMAPTreeImages;
import org.apache.hupa.client.dnd.PagingScrollTableRowDragController;
import org.apache.hupa.client.widgets.ConfirmDialogBox;
import org.apache.hupa.client.widgets.HasDialog;
import org.apache.hupa.client.widgets.IMAPTreeItem;
import org.apache.hupa.shared.data.ImapFolderImpl;
<<<<<<< HEAD
import org.apache.hupa.shared.data.Message;
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.data.Message.IMAPFlag;
<<<<<<< HEAD
import org.apache.hupa.shared.data.User;
<<<<<<< HEAD
=======
import org.apache.hupa.shared.data.User;
import org.apache.hupa.shared.data.Message.IMAPFlag;
>>>>>>> first commit
=======
import org.apache.hupa.shared.data.Message.IMAPFlag;
import org.apache.hupa.shared.data.User;
>>>>>>> constantly changed by manolo
=======
import org.apache.hupa.shared.domain.ImapFolder;
>>>>>>> Allow client can use the domain entity interface.
=======
=======
import org.apache.hupa.shared.data.MessageImpl.IMAPFlag;
>>>>>>> try to change fetch messages to use RF
import org.apache.hupa.shared.domain.ImapFolder;
import org.apache.hupa.shared.domain.Message;
import org.apache.hupa.shared.domain.User;
>>>>>>> Make chechsession and login work with RF, with refactoring fetch folders.
import org.apache.hupa.shared.events.LoginEvent;
import org.apache.hupa.shared.events.LoginEventHandler;
import org.apache.hupa.shared.events.LogoutEvent;
import org.apache.hupa.shared.events.LogoutEventHandler;
import org.apache.hupa.shared.events.MoveMessageEvent;
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
=======
>>>>>>> first commit
=======
import org.apache.hupa.shared.proxy.IMAPFolderProxy;
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
import org.apache.hupa.shared.proxy.ImapFolder;
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
=======
>>>>>>> Allow client can use the domain entity interface.
import org.apache.hupa.widgets.event.EditEvent;
import org.apache.hupa.widgets.event.EditHandler;
import org.apache.hupa.widgets.ui.EnableHyperlink;
import org.apache.hupa.widgets.ui.HasEditable;
import org.apache.hupa.widgets.ui.HasEnable;
import org.apache.hupa.widgets.ui.Loading;
import org.apache.hupa.widgets.ui.RndPanel;
import com.allen_sauer.gwt.dnd.client.DragContext;
import com.allen_sauer.gwt.dnd.client.VetoDragException;
import com.allen_sauer.gwt.dnd.client.drop.DropController;
import com.allen_sauer.gwt.dnd.client.drop.SimpleDropController;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DockPanel;
import com.google.gwt.user.client.ui.HorizontalPanel;
<<<<<<< HEAD
<<<<<<< HEAD
import com.google.gwt.user.client.ui.Panel;
<<<<<<< HEAD
=======
=======
import com.google.gwt.user.client.ui.Panel;
>>>>>>> constantly changed by manolo
import com.google.gwt.user.client.ui.SimplePanel;
>>>>>>> first commit
=======
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
/**
* MainView acts like a container of other widgets which will get displayed after the user successfully logged in
*
*
*/
public class MainView extends Composite implements MainPresenter.Display {
private DockPanel dockPanel;
private VerticalPanel north;
private HupaConstants constants;
private RndPanel west;
private IMAPTreeImages tImages = GWT.create(IMAPTreeImages.class);
private Tree folderTree = new Tree(tImages, true);
private Widget centerWidget;
private RndPanel center;
private IMAPMessageListView mListView;
private HupaMessages messages;
private VerticalPanel folderPanel = new VerticalPanel();
<<<<<<< HEAD
<<<<<<< HEAD
private Panel westPanel = new HorizontalPanel();
=======
private SimplePanel panel = new SimplePanel();
>>>>>>> first commit
=======
private Panel westPanel = new HorizontalPanel();
>>>>>>> constantly changed by manolo
private HorizontalPanel folderButtonBar = new HorizontalPanel();
private EnableHyperlink newFolderButton;
private EnableHyperlink renameFolderButton;
private EnableHyperlink deleteFolderButton;
private ConfirmDialogBox confirmFolderDeleteBox = new ConfirmDialogBox();
private Loading loader;
private Loading messageLoader = new Loading();
private List<DropController> dropControllerList = new ArrayList<DropController>();
private EventBus bus;
private PagingScrollTableRowDragController controller;
protected User user;
@Inject
public MainView(EventBus bus, PagingScrollTableRowDragController controllerProvider, HupaConstants constants, HupaMessages messages) {
this.constants = constants;
this.messages = messages;
this.controller = controllerProvider;
this.bus = bus;
loader = new Loading(constants.loading());
newFolderButton = new EnableHyperlink(constants.newFolder(), "");
renameFolderButton = new EnableHyperlink(constants.renameFolder(), "");
deleteFolderButton = new EnableHyperlink(constants.deleteFolder(), "");
dockPanel = new DockPanel();
dockPanel.setSpacing(5);
dockPanel.setWidth("100%");
<<<<<<< HEAD
<<<<<<< HEAD
// Not used so far
// createNorth();
// dockPanel.add(north, DockPanel.NORTH);
// dockPanel.setCellHorizontalAlignment(north, DockPanel.ALIGN_RIGHT);
createWest();
dockPanel.add(west, DockPanel.WEST);
dockPanel.setCellWidth(west, "160px");
createCenter();
dockPanel.add(center, DockPanel.CENTER);
=======
createNorth();
=======
// Not used so far
// createNorth();
// dockPanel.add(north, DockPanel.NORTH);
// dockPanel.setCellHorizontalAlignment(north, DockPanel.ALIGN_RIGHT);
>>>>>>> constant changed by manolo
createWest();
dockPanel.add(west, DockPanel.WEST);
dockPanel.setCellWidth(west, "160px");
createCenter();
dockPanel.add(center, DockPanel.CENTER);
<<<<<<< HEAD
dockPanel.setCellHorizontalAlignment(north, DockPanel.ALIGN_RIGHT);
>>>>>>> first commit
=======
>>>>>>> constantly changed by manolo
dockPanel.setCellHorizontalAlignment(center, DockPanel.ALIGN_LEFT);
initWidget(dockPanel);
}
private void createWest() {
west = new RndPanel();
west.add(folderTree);
west.addStyleName(HupaCSS.C_tree_container);
folderTree.setAnimationEnabled(true);
folderPanel.setSpacing(5);
folderButtonBar.setSpacing(3);
folderButtonBar.add(newFolderButton);
folderButtonBar.add(renameFolderButton);
folderButtonBar.add(deleteFolderButton);
folderPanel.add(folderButtonBar);
folderPanel.add(folderTree);
<<<<<<< HEAD
<<<<<<< HEAD
westPanel.add(loader);
=======
panel.add(loader);
>>>>>>> first commit
=======
westPanel.add(loader);
>>>>>>> constantly changed by manolo
confirmFolderDeleteBox.setText(messages.confirmDeleteFolder());
bus.addHandler(LoginEvent.TYPE, new LoginEventHandler() {
public void onLogin(LoginEvent event) {
user = event.getUser();
}
});
bus.addHandler(LogoutEvent.TYPE, new LogoutEventHandler() {
public void onLogout(LogoutEvent event) {
user = null;
}
});
<<<<<<< HEAD
<<<<<<< HEAD
west.add(westPanel);
}
@SuppressWarnings("unused")
=======
west.add(panel);
=======
west.add(westPanel);
>>>>>>> constantly changed by manolo
}
<<<<<<< HEAD
>>>>>>> first commit
=======
@SuppressWarnings("unused")
>>>>>>> constant changed by manolo
private void createNorth() {
north = new VerticalPanel();
north.setWidth("100%");
}
private void createCenter() {
center = new RndPanel();
center.setWidth("100%");
// FIXME:
if (mListView != null)
center.add(mListView);
}
/*
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.MainPresenter.Display#bindTreeItems(java.util.ArrayList)
*/
public void bindTreeItems(List<IMAPTreeItem> treeList) {
folderTree.clear();
for (DropController dropController : dropControllerList) {
controller.unregisterDropController(dropController);
}
for (IMAPTreeItem iTreeItem : treeList) {
bindDropController(iTreeItem);
folderTree.addItem(iTreeItem);
if (((ImapFolderImpl) iTreeItem.getUserObject()).getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
folderTree.setSelectedItem(iTreeItem, false);
}
}
}
/**
* Bind a IMAPFolderDropController to the given Item and all its childs
*
* @param item
*/
private void bindDropController(IMAPTreeItem item) {
IMAPFolderDropController dropController = new IMAPFolderDropController(item);
controller.registerDropController(dropController);
dropControllerList.add(dropController);
if (item.getChildCount() > 0) {
for (int i = 0; i < item.getChildCount(); i++) {
bindDropController((IMAPTreeItem) item.getChild(i));
}
}
}
/*
* (non-Javadoc)
*
* @see org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getTree()
*/
public HasSelectionHandlers<TreeItem> getTree() {
return folderTree;
}
/*
* (non-Javadoc)
*
* @see net.customware.gwt.presenter.client.widget.WidgetDisplay#asWidget()
*/
public Widget asWidget() {
return this;
}
/*
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.MainPresenter.Display#setLoadingFolders(boolean)
*/
public void setLoadingFolders(boolean load) {
if (load) {
loader.show();
<<<<<<< HEAD
<<<<<<< HEAD
// panel.clear();
westPanel.add(loader);
} else {
westPanel.clear();
westPanel.add(folderPanel);
=======
panel.clear();
panel.add(loader);
} else {
panel.clear();
panel.add(folderPanel);
>>>>>>> first commit
=======
// panel.clear();
westPanel.add(loader);
} else {
westPanel.clear();
westPanel.add(folderPanel);
>>>>>>> constantly changed by manolo
}
}
/*
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.MainPresenter.Display#setLoadingMessage(boolean)
*/
public void setLoadingMessage(boolean load) {
if (load) {
messageLoader.show();
} else {
messageLoader.hide();
}
}
/**
* Drop controller which handle drop on TreeItems
*
*
*/
private class IMAPFolderDropController extends SimpleDropController {
private IMAPTreeItem item;
public IMAPFolderDropController(IMAPTreeItem item) {
super(item.getWidget());
this.item = item;
}
/**
* Veto the Drop if the folder is the same
*/
@Override
public void onPreviewDrop(DragContext context) throws VetoDragException {
if (item.equals(folderTree.getSelectedItem())) {
throw new VetoDragException();
}
}
/**
* Set the right unseen count on the folders and fire an event
*/
@Override
public void onDrop(DragContext context) {
IMAPTreeItem oldTreeItem = (IMAPTreeItem) folderTree.getSelectedItem();
Message message = (Message) controller.getDragValue();
if (message.getFlags().contains(IMAPFlag.SEEN) == false) {
oldTreeItem.decreaseUnseenMessageCount();
item.increaseUnseenMessageCount();
}
bus.fireEvent(new MoveMessageEvent(user, (ImapFolderImpl) oldTreeItem.getUserObject(), (ImapFolderImpl) item.getUserObject(), message));
}
/**
* Update the proxy widget to show its valid to drop it
*
*/
@Override
public void onEnter(DragContext context) {
if (item.equals(folderTree.getSelectedItem()) == false) {
controller.getCurrentProxy().setIsValid(true);
}
super.onEnter(context);
}
/**
* Update the proxy widget to show its invalid to drop it
*/
@Override
public void onLeave(DragContext context) {
controller.getCurrentProxy().setIsValid(false);
super.onLeave(context);
}
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getRenameClick()
*/
public HasClickHandlers getRenameClick() {
return renameFolderButton;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getDeleteEnable()
*/
public HasEnable getDeleteEnable() {
return deleteFolderButton;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getNewEnable()
*/
public HasEnable getNewEnable() {
return newFolderButton;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getRenameEnable()
*/
public HasEnable getRenameEnable() {
return renameFolderButton;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getDeleteClick()
*/
public HasClickHandlers getDeleteClick() {
return deleteFolderButton;
}
/*
* (non-Javadoc)
*
* @see org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getNewClick()
*/
public HasClickHandlers getNewClick() {
return newFolderButton;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getDeleteConfirmDialog
* ()
*/
public HasDialog getDeleteConfirmDialog() {
return confirmFolderDeleteBox;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#getDeleteConfirmClick
* ()
*/
public HasClickHandlers getDeleteConfirmClick() {
return confirmFolderDeleteBox;
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#deleteSelectedFolder
* ()
*/
public void deleteSelectedFolder() {
folderTree.getSelectedItem().remove();
// Select the INBOX after delete folder
for (int i = 0; i < folderTree.getItemCount(); i++) {
IMAPTreeItem item = (IMAPTreeItem) folderTree.getItem(i);
if (((ImapFolderImpl) item.getUserObject()).getFullName().equalsIgnoreCase(user.getSettings().getInboxFolderName())) {
folderTree.setSelectedItem(item, true);
break;
}
}
}
/*
* (non-Javadoc)
*
* @see
* org.apache.hupa.client.mvp.IMAPFolderPresenter.Display#createFolder(org
* .apache.hupa.client.widgets.EditHandler)
*/
public HasEditable createFolder(EditHandler handler) {
final IMAPTreeItem selected = (IMAPTreeItem) folderTree.getSelectedItem();
if (selected.isEdit())
return null;
ImapFolderImpl oldFolder = (ImapFolderImpl) selected.getUserObject();
// Generate a new folder with a whitespace as name, this is needed as
// workaround
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
IMAPFolderProxy folder = (IMAPFolderProxy)new IMAPFolder(oldFolder.getFullName() + oldFolder.getDelimiter() + " ");
=======
IMAPFolder folder = new IMAPFolder(oldFolder.getFullName() + oldFolder.getDelimiter() + " ");
>>>>>>> first commit
=======
IMAPFolderProxy folder = (IMAPFolderProxy)new IMAPFolder(oldFolder.getFullName() + oldFolder.getDelimiter() + " ");
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
ImapFolder folder = (ImapFolder)new ImapFolderImpl(oldFolder.getFullName() + oldFolder.getDelimiter() + " ");
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
folder.setDelimiter(oldFolder.getDelimiter());
final IMAPTreeItem newItem = new IMAPTreeItem(folder);
// add the new item as child
folderTree.getSelectedItem().addItem(newItem);
newItem.addEditHandler(handler);
newItem.addEditHandler(new EditHandler() {
public void onEditEvent(EditEvent event) {
if (event.getEventType().equals(EditEvent.EventType.Cancel)) {
// remove the folder
newItem.remove();
folderTree.setSelectedItem(selected, false);
} else if (event.getEventType().equals(EditEvent.EventType.Stop)) {
// add the new item to dnd controller
bindDropController(newItem);
// Select the parent folder to avoid an issue in gmail, because
// the new folder takes a while until it is available
folderTree.setSelectedItem(selected, false);
}
}
});
// Expand the parent
folderTree.getSelectedItem().setState(true, false);
// Select the new folder and start editing it
folderTree.setSelectedItem(newItem, false);
newItem.startEdit();
// reset the text of the new item (remove the whitespace)
newItem.setText("");
return newItem;
}
/*
* (non-Javadoc)
*
* @seeorg.apache.hupa.client.mvp.IMAPFolderPresenter.Display#
* decreaseUnseenMessageCount(org.apache.hupa.shared.data.IMAPFolder, int)
*/
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void decreaseUnseenMessageCount(IMAPFolderProxy folder, int amount) {
=======
public void decreaseUnseenMessageCount(IMAPFolder folder, int amount) {
>>>>>>> first commit
=======
public void decreaseUnseenMessageCount(IMAPFolderProxy folder, int amount) {
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
public void decreaseUnseenMessageCount(ImapFolder folder, int amount) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
int count = folderTree.getItemCount();
for (int i = 0; i < count; i++) {
IMAPTreeItem item = findTreeItemForFolder((IMAPTreeItem) folderTree.getItem(i), folder);
if (item != null) {
item.descreaseUnseenMessageCount(amount);
break;
}
}
}
/*
* (non-Javadoc)
*
* @seeorg.apache.hupa.client.mvp.IMAPFolderPresenter.Display#
* increaseUnseenMessageCount(org.apache.hupa.shared.data.IMAPFolder, int)
*/
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void increaseUnseenMessageCount(IMAPFolderProxy folder, int amount) {
=======
public void increaseUnseenMessageCount(IMAPFolder folder, int amount) {
>>>>>>> first commit
=======
public void increaseUnseenMessageCount(IMAPFolderProxy folder, int amount) {
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
public void increaseUnseenMessageCount(ImapFolder folder, int amount) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
int count = folderTree.getItemCount();
for (int i = 0; i < count; i++) {
IMAPTreeItem item = findTreeItemForFolder((IMAPTreeItem) folderTree.getItem(i), folder);
if (item != null) {
item.increaseUnseenMessageCount(amount);
break;
}
}
}
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
private IMAPTreeItem findTreeItemForFolder(IMAPTreeItem item, IMAPFolderProxy folder) {
if (folder.getFullName().equalsIgnoreCase(((IMAPFolderProxy) item.getUserObject()).getFullName())) {
=======
private IMAPTreeItem findTreeItemForFolder(IMAPTreeItem item, IMAPFolder folder) {
if (folder.getFullName().equalsIgnoreCase(((IMAPFolder) item.getUserObject()).getFullName())) {
>>>>>>> first commit
=======
private IMAPTreeItem findTreeItemForFolder(IMAPTreeItem item, IMAPFolderProxy folder) {
if (folder.getFullName().equalsIgnoreCase(((IMAPFolderProxy) item.getUserObject()).getFullName())) {
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
private IMAPTreeItem findTreeItemForFolder(IMAPTreeItem item, ImapFolder folder) {
if (folder.getFullName().equalsIgnoreCase(((ImapFolder) item.getUserObject()).getFullName())) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
return item;
}
for (int i = 0; i < item.getChildCount(); i++) {
IMAPTreeItem tItem = findTreeItemForFolder((IMAPTreeItem) item.getChild(i), folder);
if (tItem != null) {
return tItem;
}
}
return null;
}
/*
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.MainPresenter.Display#updateTreeItem(org.apache.hupa.shared.data.IMAPFolder)
*/
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
public void updateTreeItem(IMAPFolderProxy folder) {
=======
public void updateTreeItem(IMAPFolder folder) {
>>>>>>> first commit
=======
public void updateTreeItem(IMAPFolderProxy folder) {
>>>>>>> Aim to make the front end view work after the server side's IMAPFolder services RF being working, but there are issues on RF's find* method, I think.
=======
public void updateTreeItem(ImapFolder folder) {
>>>>>>> Make the ValueProxy(ImapFolder) work with Manolo's patch. Hupa can display folders in west view with RequestFactory now.
int count = folderTree.getItemCount();
for (int i = 0; i < count; i++) {
IMAPTreeItem item = findTreeItemForFolder((IMAPTreeItem) folderTree.getItem(i), folder);
if (item != null) {
item.setUserObject(folder);
break;
}
}
}
/*
* (non-Javadoc)
* @see net.customware.gwt.presenter.client.widget.WidgetContainerDisplay#addWidget(com.google.gwt.user.client.ui.Widget)
*/
public void addWidget(Widget widget) {
showWidget(widget);
}
/*
* (non-Javadoc)
* @see net.customware.gwt.presenter.client.widget.WidgetContainerDisplay#removeWidget(com.google.gwt.user.client.ui.Widget)
*/
public void removeWidget(Widget widget) {
centerWidget = null;
center.remove(widget);
}
/*
* (non-Javadoc)
* @see net.customware.gwt.presenter.client.widget.WidgetContainerDisplay#showWidget(com.google.gwt.user.client.ui.Widget)
*/
public void showWidget(Widget widget) {
centerWidget = widget;
center.setWidget(centerWidget);
}
/*
* (non-Javadoc)
* @see org.apache.hupa.client.mvp.NameAwareDisplay#getName()
*/
public String getName() {
return constants.mailTab();
}
}