001package org.gwtbootstrap3.client.ui.base.button; 002 003/* 004 * #%L 005 * GwtBootstrap3 006 * %% 007 * Copyright (C) 2016 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 023import org.gwtbootstrap3.client.ui.base.HasBadge; 024import org.gwtbootstrap3.client.ui.base.HasIcon; 025import org.gwtbootstrap3.client.ui.base.HasIconPosition; 026import org.gwtbootstrap3.client.ui.base.mixin.IconTextMixin; 027import org.gwtbootstrap3.client.ui.constants.BadgePosition; 028import org.gwtbootstrap3.client.ui.constants.ButtonType; 029import org.gwtbootstrap3.client.ui.constants.IconFlip; 030import org.gwtbootstrap3.client.ui.constants.IconPosition; 031import org.gwtbootstrap3.client.ui.constants.IconRotate; 032import org.gwtbootstrap3.client.ui.constants.IconSize; 033import org.gwtbootstrap3.client.ui.constants.IconType; 034 035import com.google.gwt.user.client.ui.HasText; 036 037/** 038 * Base class for buttons that can contain an icon. 039 * 040 * @author Sven Jacobs 041 * @see org.gwtbootstrap3.client.ui.Icon 042 */ 043public abstract class AbstractIconButton extends AbstractButton implements HasText, HasIcon, HasIconPosition, HasBadge { 044 045 IconTextMixin<AbstractIconButton> iconTextMixin = new IconTextMixin<AbstractIconButton>(this); 046 047 protected AbstractIconButton() { 048 } 049 050 protected AbstractIconButton(final ButtonType type) { 051 super(type); 052 } 053 054 @Override 055 public void setText(final String text) { 056 iconTextMixin.setText(text); 057 } 058 059 @Override 060 public String getText() { 061 return iconTextMixin.getText(); 062 } 063 064 @Override 065 public void setIcon(final IconType iconType) { 066 iconTextMixin.setIcon(iconType); 067 } 068 069 @Override 070 public IconType getIcon() { 071 return iconTextMixin.getIcon(); 072 } 073 074 @Override 075 public void setIconPosition(final IconPosition iconPosition) { 076 iconTextMixin.setIconPosition(iconPosition); 077 } 078 079 @Override 080 public IconPosition getIconPosition() { 081 return iconTextMixin.getIconPosition(); 082 } 083 084 @Override 085 public void setIconSize(final IconSize iconSize) { 086 iconTextMixin.setIconSize(iconSize); 087 } 088 089 @Override 090 public IconSize getIconSize() { 091 return iconTextMixin.getIconSize(); 092 } 093 094 @Override 095 public void setIconFlip(final IconFlip iconFlip) { 096 iconTextMixin.setIconFlip(iconFlip); 097 } 098 099 @Override 100 public IconFlip getIconFlip() { 101 return iconTextMixin.getIconFlip(); 102 } 103 104 @Override 105 public void setIconRotate(final IconRotate iconRotate) { 106 iconTextMixin.setIconRotate(iconRotate); 107 } 108 109 @Override 110 public IconRotate getIconRotate() { 111 return iconTextMixin.getIconRotate(); 112 } 113 114 @Override 115 public void setIconBordered(final boolean iconBordered) { 116 iconTextMixin.setIconBordered(iconBordered); 117 } 118 119 @Override 120 public boolean isIconBordered() { 121 return iconTextMixin.isIconBordered(); 122 } 123 124 /** 125 * {@inheritDoc} 126 */ 127 @Override 128 public void setIconInverse(final boolean iconInverse) { 129 iconTextMixin.setIconInverse(iconInverse); 130 } 131 132 /** 133 * {@inheritDoc} 134 */ 135 @Override 136 public boolean isIconInverse() { 137 return iconTextMixin.isIconInverse(); 138 } 139 140 @Override 141 public void setIconSpin(final boolean iconSpin) { 142 iconTextMixin.setIconSpin(iconSpin); 143 } 144 145 @Override 146 public boolean isIconSpin() { 147 return iconTextMixin.isIconSpin(); 148 } 149 150 @Override 151 public void setIconPulse(boolean iconPulse) { 152 iconTextMixin.setIconPulse(iconPulse); 153 } 154 155 @Override 156 public boolean isIconPulse() { 157 return iconTextMixin.isIconPulse(); 158 } 159 160 @Override 161 public void setIconFixedWidth(final boolean iconFixedWidth) { 162 iconTextMixin.setIconFixedWidth(iconFixedWidth); 163 } 164 165 @Override 166 public boolean isIconFixedWidth() { 167 return iconTextMixin.isIconFixedWidth(); 168 } 169 170 @Override 171 public void setBadgeText(String badgeText) { 172 iconTextMixin.setBadgeText(badgeText); 173 } 174 175 @Override 176 public String getBadgeText() { 177 return iconTextMixin.getBadgeText(); 178 } 179 180 @Override 181 public void setBadgePosition(BadgePosition badgePosition) { 182 iconTextMixin.setBadgePosition(badgePosition); 183 } 184 185 @Override 186 public BadgePosition getBadgePosition() { 187 return iconTextMixin.getBadgePosition(); 188 } 189}