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

de.swm.commons.mobile.client.utils.ISwmPopupUtil Maven / Gradle / Ivy

package de.swm.commons.mobile.client.utils;

import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Widget;
import de.swm.commons.mobile.client.widgets.command.CommandPopup;
import de.swm.gwt.client.interfaces.ITypedAction;

import java.util.List;

/**
 * Util class to create popup dialogs.
 *
 * @author steuer.konstantin
 *         
* copyright (C) 2012, Stadtwerke München GmbH */ public interface ISwmPopupUtil { /** * Ein Handler zur Steuerung des StatusPopups {@link ISwmPopupUtil#showStatusPopup(String, java.util.List)}. * * @author steuer.konstantin *
* copyright (C) 2012, Stadtwerke München GmbH */ public interface StatusPopupHandler { /** * Aenderung des Anzeigestatus. * * @param statusDescription . */ void changeStatus(String statusDescription); /** * Beenden des StatusPopups.. */ void cancelStatusPopup(); } /** * Descriptor zur definition von Buttons in {@link ISwmPopupUtil#showMultiButtonPopup(String, java.util.List, * java.util.List)}. * * @author steuer.konstantin *
* copyright (C) 2012, Stadtwerke München GmbH */ public class ItemDesciptor implements Comparable { /** * Objekt für die Action. Bei Strings: Buttontyp. * Ist eine beliebige Zeichenkette, welcher den Bottontyp definiert/beschreibt. Der Buttontyp * wird der der Action bei der Ausfuehrung {@link de.swm.gwt.client.interfaces.ITypedAction#execute(Object)} uebergeben. */ private final T type; /** * i18-Text des Buttons. */ private final String text; /** * Reihnfolge des buttons. */ private final int order; /** * Action, die beim betaetigen des Buttons ausgefuehrt wird. */ private ITypedAction action; /** * Itemtyp = Itemtext, gleiche Reihenfolge {@link #order} = 0. * * @param text {@link #text} * @param action {@link #action} * @throws IllegalArgumentException falls die action null ist. */ public ItemDesciptor(String text, ITypedAction action) throws IllegalArgumentException { this(text, (T) text, 0, action); } /** * Gleiche Reihenfolge {@link #order} = 0. * * @param text {@link #text} * @param type {@link #type} * @param action {@link #action} * @throws IllegalArgumentException falls die action null ist. */ public ItemDesciptor(String text, T type, ITypedAction action) throws IllegalArgumentException { this(text, type, 0, action); } /** * Itemtyp = Itemtext. * * @param text {@link #text} * @param order {@link #order} * @param action {@link #action} * @throws IllegalArgumentException falls die action null ist. */ public ItemDesciptor(String text, int order, ITypedAction action) throws IllegalArgumentException { this(text, (T) text, order, action); } /** * Hauptkonstruktor. * * @param text {@link #text} * @param type {@link #type} * @param order {@link #order} * @param action {@link #action} * @throws IllegalArgumentException falls die action null ist. */ public ItemDesciptor(String text, T type, int order, ITypedAction action) throws IllegalArgumentException { this.text = text; this.type = type; this.order = order; if (action == null) { throw new IllegalArgumentException("action is null"); } else { this.action = action; } } public ITypedAction getAction() { return action; } public int getOrder() { return order; } public String getText() { return text; } public T getType() { return type; } @Override public int compareTo(ItemDesciptor descriptor) { return Integer.valueOf(this.getOrder()).compareTo(Integer.valueOf(descriptor.getOrder())); } } /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param text der Text * @param okClickHanlder dier Clik handler fuer den OK button oder null */ void showPopup(boolean hasCancelButton, String header, String text, ClickHandler okClickHanlder); /** * Zeigt eine Infobox an. * * @param header die haupueberschrift. * @param text der text */ void showPopup(String header, String text); /** * Baut eine Infobox an (ohne diese Anzuzeigen). * * @param header die haupueberschrift. * @param widgets die listitems im Dialog * @return der popup panel das erzeugt wurde */ CommandPopup buildMultiWidgetPopup(String header, Widget... widgets); /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param texts eine Menge von Texten * @param okClickHanlder dier Clik handler fuer den OK button oder null */ void showPopup(boolean hasCancelButton, String header, List texts, ClickHandler okClickHanlder); /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param text der text * @param okClickHanlder dier Clik handler fuer den OK button oder null * @param cancelClickHanlder dier Clik handler fuer den Cancel button oder null */ void showPopup(boolean hasCancelButton, String header, String text, ClickHandler okClickHanlder, ClickHandler cancelClickHanlder); /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param texts die Texte * @param okClickHanlder dier Clik handler fuer den OK button oder null * @param cancelClickHanlder dier Clik handler fuer den Cancel button oder null */ void showPopup(boolean hasCancelButton, String header, List texts, ClickHandler okClickHanlder, ClickHandler cancelClickHanlder); /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param text der text * @param okClickHanlder dier Clik handler fuer den OK button oder null * @param cancelClickHanlder dier Clik handler fuer den Cancel button oder null */ void showPopupYesNo(boolean hasCancelButton, String header, String text, ClickHandler okClickHanlder, ClickHandler cancelClickHanlder); /** * Zeigt eine Infobox an. * * @param hasCancelButton true wenn der Abbruchbutton angezeigt werden soll * @param header die haupueberschrift. * @param text der text * @param popupOkText Text des OK-Buttons. * @param popupCancelText Text des Cancel-Buttons. * @param okClickHanlder dier Clik handler fuer den OK button oder null * @param cancelClickHanlder dier Clik handler fuer den Cancel button oder null */ void showPopup(boolean hasCancelButton, String header, String text, String popupOkText, String popupCancelText, ClickHandler okClickHanlder, ClickHandler cancelClickHanlder); /** * This popup retus a hanlder. Using this hndler you can change the status or hide this popup. * * @param header . * @param texts . * @return . */ StatusPopupHandler showStatusPopup(String header, List texts); /** * Zeigt ein Popup mit beliebig vielen Buttons. Die Reihenfolge der buttons, * kann in den ItemDesciptor festgelegt werden. Wird keine Reihenfolge festgelegt, * werden die buttons beliebig plaziert. * * @param Typ der ItemDescriptors * @param header die haupueberschrift. * @param texts der text * @param buttonDesciptors List von ItemDesciptor. */ void showMultiButtonPopup(String header, List texts, List> buttonDesciptors); /** * Zeigt ein Popup mit einer beliebig Langen Listenansicht. Die Reihenfolge der Items in der Liste, * kann in den ItemDesciptor festgelegt werden. Wird keine Reihenfolge festgelegt, * werden die buttons beliebig platziert. * * @param header die haupueberschrift. * @param listItemDesciptors List von ItemDesciptor. */ void showListPopup(String header, List listItemDesciptors); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy