X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FTitleAttributeTooltipBehavior.java;fp=wicket%2Fcomponents%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fwicket%2Fbehavior%2FTitleAttributeTooltipBehavior.java;h=da55e1f8e5a0cd7f6b19491c3aba0b2be87a22cc;hb=6c5dc665abfe021a7add911d1ca167113f4ccae8;hp=0000000000000000000000000000000000000000;hpb=74740c132a0713c9505a775bf345795cf2198c95;p=utils diff --git a/wicket/components/src/main/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehavior.java b/wicket/components/src/main/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehavior.java new file mode 100644 index 00000000..da55e1f8 --- /dev/null +++ b/wicket/components/src/main/java/org/wamblee/wicket/behavior/TitleAttributeTooltipBehavior.java @@ -0,0 +1,83 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * 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 org.wamblee.wicket.behavior; + +import org.apache.wicket.Component; +import org.apache.wicket.Page; +import org.apache.wicket.behavior.HeaderContributor; +import org.apache.wicket.markup.html.IHeaderResponse; +import org.apache.wicket.markup.html.JavascriptPackageResource; +import org.wamblee.wicket.jquery.JQueryHeaderContributor; +import org.wamblee.wicket.jquery.AbstractJQueryBehavior; + +/** + * Tooltip behavior that adds tooltips based on the title attribute in an HTML + * document. The behavior may be attached to pages or components and applies to + * the element and its children to which it is applied. + * + * @author Erik Brakkee + * + */ +public class TitleAttributeTooltipBehavior extends AbstractJQueryBehavior { + + private static final String READY_FUNCTION = "org.wamblee.tooltip.clientside"; + + static final String SCRIPT = "wamblee-tooltip.js"; + + private static HeaderContributor BEHAVIOR = JavascriptPackageResource + .getHeaderContribution(TitleAttributeTooltipBehavior.class, SCRIPT); + + private String border; + private String padding; + private String background; + + public TitleAttributeTooltipBehavior() { + super(READY_FUNCTION, new SupportBehavior(), BEHAVIOR); + } + + public TitleAttributeTooltipBehavior border(String aValue) { + border = aValue; + return this; + } + + public TitleAttributeTooltipBehavior padding(String aValue) { + padding = aValue; + return this; + } + + public TitleAttributeTooltipBehavior background(String aValue) { + background = aValue; + return this; + } + + @Override + protected Object getConfigurationObject() { + return this; + } + + public String getBorder() { + return border; + } + + public String getPadding() { + return padding; + } + + public String getBackground() { + return background; + } + +}