package org.ovirt.engine.ui.userportal.client; import com.google.gwt.core.client.GWT; import org.ovirt.engine.core.compat.Event; import org.ovirt.engine.core.compat.EventArgs; import org.ovirt.engine.core.compat.IEventListener; import org.ovirt.engine.ui.userportal.client.views.basic.UserPortalBasicView; import org.ovirt.engine.ui.userportal.client.views.extended.UserPortalExtendedView; import com.smartgwt.client.types.Visibility; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.Layout; public class ContextArea extends HLayout { private Canvas displayedView; Layout extendedViewWrapper; Layout basicViewWrapper; public ContextArea() { GWT.log("Initializing Context Area"); UserPortalExtendedView extendedView = new UserPortalExtendedView(); UserPortalBasicView basicView = new UserPortalBasicView(); extendedViewWrapper = new Layout(); extendedViewWrapper.setLayoutRightMargin(10); extendedViewWrapper.addMember(extendedView); extendedViewWrapper.setVisibility(Visibility.HIDDEN); basicViewWrapper = new Layout(); basicViewWrapper.setLayoutRightMargin(10); basicViewWrapper.setLayoutLeftMargin(10); basicViewWrapper.addMember(basicView); basicViewWrapper.setVisibility(Visibility.HIDDEN); addMember(extendedViewWrapper); addMember(basicViewWrapper); redrawContextAreaAccordingToMode(); Masthead.getModeChangedEvent().addListener(new IEventListener() { @Override public void eventRaised(Event ev, Object sender, EventArgs args) { redrawContextAreaAccordingToMode(); } }); } private void redrawContextAreaAccordingToMode() { switch (Masthead.getUserPortalMode()) { case BASIC: setDisplayedView(basicViewWrapper); break; case EXTENDED: setDisplayedView(extendedViewWrapper); break; } } private void setDisplayedView(Canvas view) { if (displayedView != null) { displayedView.hide(); for (Canvas canvas : displayedView.getChildren()) canvas.hide(); } displayedView = view; displayedView.show(); for (Canvas canvas : displayedView.getChildren()) canvas.show(); } }