org.gwtbootstrap3.client.ui.CarouselControl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gwtbootstrap3 Show documentation
Show all versions of gwtbootstrap3 Show documentation
GWT wrapper for the Bootstrap front-end framework
The newest version!
package org.gwtbootstrap3.client.ui;
/*
* #%L
* GwtBootstrap3
* %%
* Copyright (C) 2016 GwtBootstrap3
* %%
* 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.
* #L%
*/
import org.gwtbootstrap3.client.ui.base.ComplexWidget;
import org.gwtbootstrap3.client.ui.base.HasHref;
import org.gwtbootstrap3.client.ui.base.helper.StyleHelper;
import org.gwtbootstrap3.client.ui.constants.Attributes;
import org.gwtbootstrap3.client.ui.constants.IconType;
import org.gwtbootstrap3.client.ui.constants.Styles;
import org.gwtbootstrap3.client.ui.html.Span;
import com.google.gwt.dom.client.AnchorElement;
import com.google.gwt.dom.client.Document;
import com.google.gwt.user.client.ui.HasText;
/**
* @author Joshua Godi
*/
public class CarouselControl extends ComplexWidget implements HasHref, HasText {
private static final String BUTTON = "button";
private final AnchorElement anchorElem;
private final Icon icon;
private final Span span;
public CarouselControl() {
// Anchor
this.anchorElem = Document.get().createAnchorElement();
setElement(anchorElem);
setStyleName(Styles.CAROUSEL_CONTROL);
anchorElem.setAttribute(Attributes.ROLE, BUTTON);
// Icon
icon = new Icon();
add(icon);
// Span (SR_ONLY)
span = new Span();
span.setStyleName(Styles.SR_ONLY);
add(span);
}
public void setIconType(final IconType iconType) {
icon.setType(iconType);
}
public void setPrev(final boolean prev) {
getElement().removeAttribute(Attributes.DATA_SLIDE);
getElement().setAttribute(Attributes.DATA_SLIDE, Carousel.PREV);
StyleHelper.toggleStyleName(this, prev, Styles.LEFT);
icon.addStyleName(Styles.ICON_PREV);
}
public void setNext(final boolean next) {
getElement().removeAttribute(Attributes.DATA_SLIDE);
getElement().setAttribute(Attributes.DATA_SLIDE, Carousel.NEXT);
StyleHelper.toggleStyleName(this, next, Styles.RIGHT);
icon.addStyleName(Styles.ICON_NEXT);
}
@Override
public void setHref(String href) {
anchorElem.setHref(href);
}
@Override
public String getHref() {
return anchorElem.getHref();
}
@Override
public String getText() {
return span.getText();
}
@Override
public void setText(String text) {
span.setText(text);
}
}