001 package org.gwtbootstrap3.client.ui.base;
002
003 /*
004 * #%L
005 * GwtBootstrap3
006 * %%
007 * Copyright (C) 2013 GwtBootstrap3
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 * http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023 import org.gwtbootstrap3.client.ui.Anchor;
024 import org.gwtbootstrap3.client.ui.constants.IconFlip;
025 import org.gwtbootstrap3.client.ui.constants.IconPosition;
026 import org.gwtbootstrap3.client.ui.constants.IconRotate;
027 import org.gwtbootstrap3.client.ui.constants.IconSize;
028 import org.gwtbootstrap3.client.ui.constants.IconType;
029 import org.gwtbootstrap3.client.ui.constants.Toggle;
030
031 import com.google.gwt.dom.client.Element;
032 import com.google.gwt.event.dom.client.ClickHandler;
033 import com.google.gwt.event.dom.client.HasClickHandlers;
034 import com.google.gwt.event.shared.HandlerRegistration;
035 import com.google.gwt.user.client.ui.Focusable;
036
037 /**
038 * Base class for list items that contain an {@link org.gwtbootstrap3.client.ui.Anchor} link.
039 *
040 * @author Sven Jacobs
041 */
042 public abstract class AbstractAnchorListItem extends AbstractListItem
043 implements HasHref, HasTargetHistoryToken, HasClickHandlers, Focusable, HasDataToggle, HasIcon, HasIconPosition {
044
045 protected final Anchor anchor;
046
047 protected AbstractAnchorListItem() {
048 anchor = new Anchor();
049 add(anchor, (Element) getElement());
050 }
051
052 @Override
053 public void setHref(final String href) {
054 anchor.setHref(href);
055 }
056
057 @Override
058 public String getHref() {
059 return anchor.getHref();
060 }
061
062 @Override
063 public void setTargetHistoryToken(final String targetHistoryToken) {
064 anchor.setTargetHistoryToken(targetHistoryToken);
065 }
066
067 @Override
068 public String getTargetHistoryToken() {
069 return anchor.getTargetHistoryToken();
070 }
071
072 @Override
073 public HandlerRegistration addClickHandler(final ClickHandler handler) {
074 return anchor.addClickHandler(handler);
075 }
076
077 @Override
078 public int getTabIndex() {
079 return anchor.getTabIndex();
080 }
081
082 @Override
083 public void setAccessKey(final char key) {
084 anchor.setAccessKey(key);
085 }
086
087 @Override
088 public void setFocus(final boolean focused) {
089 anchor.setFocus(focused);
090 }
091
092 @Override
093 public void setTabIndex(final int index) {
094 anchor.setTabIndex(index);
095 }
096
097 @Override
098 public void setDataToggle(final Toggle toggle) {
099 anchor.setDataToggle(toggle);
100 }
101
102 @Override
103 public Toggle getDataToggle() {
104 return anchor.getDataToggle();
105 }
106
107
108 @Override
109 public void setIcon(final IconType iconType) {
110 anchor.setIcon(iconType);
111 }
112
113 @Override
114 public IconType getIcon() {
115 return anchor.getIcon();
116 }
117
118 @Override
119 public void setIconPosition(final IconPosition iconPosition) {
120 anchor.setIconPosition(iconPosition);
121 }
122
123 @Override
124 public IconPosition getIconPosition() {
125 return anchor.getIconPosition();
126 }
127
128 @Override
129 public void setIconSize(final IconSize iconSize) {
130 anchor.setIconSize(iconSize);
131 }
132
133 @Override
134 public IconSize getIconSize() {
135 return anchor.getIconSize();
136 }
137
138 @Override
139 public void setIconFlip(final IconFlip iconFlip) {
140 anchor.setIconFlip(iconFlip);
141 }
142
143 @Override
144 public IconFlip getIconFlip() {
145 return anchor.getIconFlip();
146 }
147
148 @Override
149 public void setIconRotate(final IconRotate iconRotate) {
150 anchor.setIconRotate(iconRotate);
151 }
152
153 @Override
154 public IconRotate getIconRotate() {
155 return anchor.getIconRotate();
156 }
157
158 @Override
159 public void setIconBordered(final boolean iconBordered) {
160 anchor.setIconBordered(iconBordered);
161 }
162
163 @Override
164 public boolean isIconBordered() {
165 return anchor.isIconBordered();
166 }
167
168 @Override
169 public void setIconMuted(final boolean iconMuted) {
170 anchor.setIconMuted(iconMuted);
171 }
172
173 @Override
174 public boolean isIconMuted() {
175 return anchor.isIconMuted();
176 }
177
178 @Override
179 public void setIconLight(final boolean iconLight) {
180 anchor.setIconLight(iconLight);
181 }
182
183 @Override
184 public boolean isIconLight() {
185 return anchor.isIconLight();
186 }
187
188 @Override
189 public void setIconSpin(final boolean iconSpin) {
190 anchor.setIconSpin(iconSpin);
191 }
192
193 @Override
194 public boolean isIconSpin() {
195 return anchor.isIconSpin();
196 }
197
198 @Override
199 public void setIconFixedWidth(final boolean iconFixedWidth) {
200 anchor.setIconFixedWidth(iconFixedWidth);
201 }
202
203 @Override
204 public boolean isIconFixedWidth() {
205 return anchor.isIconFixedWidth();
206 }
207
208 @Override
209 public void setEnabled(final boolean enabled) {
210 super.setEnabled(enabled);
211 anchor.setEnabled(enabled);
212 }
213 }