001/* 002 * This library is part of OpenCms - 003 * the Open Source Content Management System 004 * 005 * Copyright (c) Alkacon Software GmbH & Co. KG (http://www.alkacon.com) 006 * 007 * This library is free software; you can redistribute it and/or 008 * modify it under the terms of the GNU Lesser General Public 009 * License as published by the Free Software Foundation; either 010 * version 2.1 of the License, or (at your option) any later version. 011 * 012 * This library is distributed in the hope that it will be useful, 013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 015 * Lesser General Public License for more details. 016 * 017 * For further information about Alkacon Software, please see the 018 * company website: http://www.alkacon.com 019 * 020 * For further information about OpenCms, please see the 021 * project website: http://www.opencms.org 022 * 023 * You should have received a copy of the GNU Lesser General Public 024 * License along with this library; if not, write to the Free Software 025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 026 */ 027 028package org.opencms.gwt.client.ui; 029 030import com.google.gwt.dom.client.Element; 031 032/** 033 * Interface for all widgets capable of auto hide.<p> 034 * 035 * @since 8.0.0 036 */ 037public interface I_CmsAutoHider { 038 039 /** 040 * Mouse events that occur within an autoHide partner will not hide a panel set to autoHide.<p> 041 * 042 * @param partner the auto hide partner to add 043 * 044 * @see com.google.gwt.user.client.ui.PopupPanel#addAutoHidePartner(com.google.gwt.dom.client.Element) 045 */ 046 void addAutoHidePartner(Element partner); 047 048 /** 049 * Hides the widget.<p> 050 */ 051 void hide(); 052 053 /** 054 * Returns if the auto hide feature is enabled.<p> 055 * 056 * @return true if auto hide is enabled 057 * 058 * @see com.google.gwt.user.client.ui.PopupPanel#isAutoHideEnabled() 059 */ 060 boolean isAutoHideEnabled(); 061 062 /** 063 * Returns if the auto hide on history event feature is enabled.<p> 064 * 065 * @return true if auto hide is enabled 066 * 067 * @see com.google.gwt.user.client.ui.PopupPanel#isAutoHideOnHistoryEventsEnabled() 068 */ 069 boolean isAutoHideOnHistoryEventsEnabled(); 070 071 /** 072 * Removes an auto-hide partner.<p> 073 * 074 * @param partner the auto-hide partner to remove 075 * 076 * @see com.google.gwt.user.client.ui.PopupPanel#removeAutoHidePartner(Element) 077 */ 078 void removeAutoHidePartner(Element partner); 079 080 /** 081 * Enable or disable the autoHide feature. When enabled, the popup will be automatically hidden when the user clicks outside of it.<p> 082 * 083 * @param autoHide enable true to enable, false to disable 084 * 085 * @see com.google.gwt.user.client.ui.PopupPanel#setAutoHideEnabled(boolean) 086 */ 087 void setAutoHideEnabled(boolean autoHide); 088 089 /** 090 * Enable or disable autoHide on history change events. When enabled, the popup will be automatically hidden when the history token changes, such as when the user presses the browser's back button. Disabled by default.<p> 091 * 092 * @param enabled enable true to enable, false to disable 093 * 094 * @see com.google.gwt.user.client.ui.PopupPanel#setAutoHideOnHistoryEventsEnabled(boolean) 095 */ 096 void setAutoHideOnHistoryEventsEnabled(boolean enabled); 097}