/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* 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
*******************************************************************************/
package org.ebayopensource.turmeric.policy.adminui.client.view.policy;
import java.util.Iterator;
import org.ebayopensource.turmeric.policy.adminui.client.presenter.MenuController.MenuControllerDisplay;
import org.ebayopensource.turmeric.policy.adminui.client.view.common.FooterWidget;
import org.ebayopensource.turmeric.policy.adminui.client.view.common.HeaderWidget;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.ResizeComposite;
import com.google.gwt.user.client.ui.ScrollPanel;
import com.google.gwt.user.client.ui.Widget;
/**
* The Class ApplicationMenuView.
*/
public class ApplicationMenuView extends ResizeComposite implements HasWidgets, MenuControllerDisplay {
private DockLayoutPanel mainPanel;
private HeaderWidget headerWidget;
private FooterWidget footerWidget;
private Widget contentWidget;
/**
* Instantiates a new application menu view.
*/
public ApplicationMenuView() {
initialize();
initWidget(mainPanel);
}
/**
* Initialize.
*/
public final void initialize() {
mainPanel = new DockLayoutPanel(Unit.PX);
mainPanel.setWidth("100%");
headerWidget = new HeaderWidget("88");
footerWidget = new FooterWidget();
mainPanel.addNorth(headerWidget,88);
mainPanel.addSouth(footerWidget,40);
}
/**
* Adds the.
* @param arg0
* the arg0
* @see com.google.gwt.user.client.ui.HasWidgets#add(com.google.gwt.user.client.ui.Widget)
*/
@Override
public final void add(final Widget arg0) {
if (contentWidget != null){
mainPanel.remove(contentWidget);
}
contentWidget = arg0;
mainPanel.add(contentWidget);
}
/**
* Clear.
* @see com.google.gwt.user.client.ui.HasWidgets#clear()
*/
@Override
public final void clear() {
if (contentWidget != null) {
mainPanel.remove(contentWidget);
}
contentWidget = null;
}
/**
* Iterator.
* @return the iterator
* @see com.google.gwt.user.client.ui.HasWidgets#iterator()
*/
@Override
public final Iterator<Widget> iterator() {
return mainPanel.iterator();
}
/**
* Removes the.
* @param arg0
* the arg0
* @return true, if successful
* @see com.google.gwt.user.client.ui.HasWidgets#remove(com.google.gwt.user.client.ui.Widget)
*/
@Override
public final boolean remove(final Widget arg0) {
boolean result = false;
if (contentWidget != null) {
result = mainPanel.remove(contentWidget);
}
contentWidget = null;
return result;
}
/**
* As widget.
* @return the widget
* @see org.ebayopensource.turmeric.policy.adminui.client.Container#asWidget()
*/
@Override
public final Widget asWidget() {
return this;
}
/**
* Gets the logout component.
* @return the logout component
* @see org.ebayopensource.turmeric.policy.adminui.client.presenter.MenuController.MenuControllerDisplay#getLogoutComponent()
*/
@Override
public final HasClickHandlers getLogoutComponent() {
return headerWidget.getLogoutComponent();
}
/* (non-Javadoc)
* @see org.ebayopensource.turmeric.policy.adminui.client.presenter.MenuController.MenuControllerDisplay#setUserName(java.lang.String)
*/
@Override
public final void setUserName(final String name) {
headerWidget.setUserName(name);
}
}