package org.ovirt.engine.ui.webadmin.section.main.view.popup; import org.ovirt.engine.ui.common.view.AbstractPopupView; import org.ovirt.engine.ui.common.widget.UiCommandButton; import org.ovirt.engine.ui.common.widget.dialog.PopupNativeKeyPressHandler; import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; import org.ovirt.engine.ui.webadmin.section.main.presenter.popup.DynamicUrlContentPopupPresenterWidget; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.IFrameElement; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.EventBus; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.inject.Inject; public class DynamicUrlContentPopupView extends AbstractPopupView<SimpleDialogPanel> implements DynamicUrlContentPopupPresenterWidget.ViewDef { interface ViewUiBinder extends UiBinder<SimpleDialogPanel, DynamicUrlContentPopupView> { ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class); } @UiField IFrameElement iframeElement; @UiField SimpleDialogPanel dialogPanel; @Inject public DynamicUrlContentPopupView(EventBus eventBus) { super(eventBus); initWidget(ViewUiBinder.uiBinder.createAndBindUi(this)); } @Override public HasClickHandlers getCloseButton() { return null; } @Override public HasClickHandlers getCloseIconButton() { return asWidget().getCloseIconButton(); } @Override public void setPopupKeyPressHandler(PopupNativeKeyPressHandler keyPressHandler) { asWidget().setKeyPressHandler(keyPressHandler); } @Override public void init(String title, String width, String height, boolean closeIconVisible) { dialogPanel.setTitle(title); asWidget().setWidth(width); asWidget().setHeight(height); asWidget().setCloseIconButtonVisible(closeIconVisible); } @Override public void setContentUrl(String contentUrl) { iframeElement.setSrc(contentUrl); } @Override public HasClickHandlers addFooterButton(String label) { UiCommandButton button = new UiCommandButton(label); asWidget().addFooterButton(button); return button; } }