/* * Copyright 2014 Max Schuster * * 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 eu.maxschuster.vaadin.buttonlink.client; import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.user.client.DOM; import com.vaadin.client.ui.VLink; /** * @author Max Schuster */ public class VButtonLink extends VLink { public final Element wrapper = DOM.createSpan(); public VButtonLink() { super(); setElement(anchor); anchor.appendChild(wrapper); wrapper.appendChild(captionElement); setStyleName(CLASSNAME); } @Override public void setStyleName(String style) { super.setStyleName(style); if (wrapper != null) { wrapper.setClassName(getStylePrimaryName() + "-wrap"); } if (captionElement != null) { captionElement.setClassName(getStylePrimaryName() + "-caption"); } } @Override public void setStylePrimaryName(String style) { super.setStylePrimaryName(style); if (wrapper != null) { wrapper.setClassName(getStylePrimaryName() + "-wrap"); } if (captionElement != null) { captionElement.setClassName(getStylePrimaryName() + "-caption"); } } @Override public void onClick(ClickEvent event) { super.onClick(event); getElement().focus(); } }