All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gwtplatform.mvp.client.PopupView Maven / Gradle / Ivy

There is a newer version: 1.6
Show newest version
/**
 * Copyright 2011 ArcBees 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.gwtplatform.mvp.client;

/**
 * The interface for {@link View} classes that is meant to be displayed as a
 * popup, like a GWT {@link com.google.gwt.user.client.ui.PopupPanel} or a
 * {@link com.google.gwt.user.client.ui.DialogBox}.
 *
 * @author Philippe Beaudoin
 */
public interface PopupView extends View {

  /**
   * Make sure the {@link PopupView} is centered in the browser's client area.
   * This method should not change the view visibility: if it was hidden (resp.
   * visible) it remains hidden (resp. visible).
   */
  void center();

  /**
   * Make sure the {@link PopupView} is hidden. You can call this method
   * directly.
   */
  void hide();

  /**
   * Indicates that the view should automatically hide when a GWTP
   * {@link com.gwtplatform.mvp.client.proxy.NavigationEvent} is fired. This is
   * better than using GWT's
   * {@link com.google.gwt.user.client.ui.PopupPanel#setAutoHideOnHistoryEventsEnabled(boolean)}
   * since the latter will automatically hide the dialog even if navigation is
   * refused through
   * {@link com.gwtplatform.mvp.client.proxy.PlaceManager#setOnLeaveConfirmation(String)}
   * .
   */
  void setAutoHideOnNavigationEventEnabled(boolean autoHide);

  /**
   * Identifies which {@link PopupViewCloseHandler} should be called when this
   * view closed (either automatically or through a call to {@link #hide()}.
   *
   * @param popupViewCloseHandler The {@link PopupViewCloseHandler} or
   *          {@code null} to unregister any handlers.
   */
  void setCloseHandler(PopupViewCloseHandler popupViewCloseHandler);

  /**
   * Reposition the {@link PopupView} within the browser's client area. This
   * method should not change the view visibility: if it was hidden (resp.
   * visible) it remains hidden (resp. visible).
   *
   * @param left The left position of the top-left corner (in pixels).
   * @param top The top position of the top-left corner (in pixels).
   */
  void setPosition(int left, int top);

  /**
   * Important! Do not call this directly, instead use
   * {@link PresenterWidget#addToPopupSlot(PresenterWidget)} passing this
   * view's {@link PresenterWidget}.
   * 

* Make sure the {@link PopupView} is visible. */ void show(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy