001/* 002 * #%L 003 * GwtMaterial 004 * %% 005 * Copyright (C) 2015 - 2017 GwtMaterialDesign 006 * %% 007 * Licensed under the Apache License, Version 2.0 (the "License"); 008 * you may not use this file except in compliance with the License. 009 * You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 * #L% 019 */ 020package gwt.material.design.client.base; 021 022import gwt.material.design.client.base.mixin.TooltipMixin; 023import gwt.material.design.client.constants.Position; 024import gwt.material.design.client.ui.MaterialTooltip; 025 026/** 027 * Interface that determines the class has a {@link MaterialTooltip} attached to 028 * it. 029 * 030 * @author gilberto-torrezan 031 * @see TooltipMixin 032 * @see MaterialWidget 033 */ 034public interface HasTooltip { 035 036 /** 037 * @return the current tooltip text to be shown 038 */ 039 String getTooltip(); 040 041 /** 042 * Sets the tooltip text to be shown for the component. 043 */ 044 void setTooltip(String tooltip); 045 046 /** 047 * @return the position where the tooltip text should appear, relative to 048 * the component 049 */ 050 Position getTooltipPosition(); 051 052 /** 053 * Sets the {@link Position} where the tooltip text should appear, relative 054 * to the component. 055 */ 056 void setTooltipPosition(Position position); 057 058 /** 059 * @return the delay in ms used to show the tooltip 060 */ 061 int getTooltipDelayMs(); 062 063 /** 064 * Sets the time in ms to show the tooltip text for the component 065 */ 066 void setTooltipDelayMs(int delayMs); 067 068 void setTooltipHTML(String html); 069 070 String getTooltipHTML(); 071 072}