001 package org.gwtbootstrap3.client.ui.html;
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.base.HasAlignment;
024 import org.gwtbootstrap3.client.ui.base.HasEmphasis;
025 import org.gwtbootstrap3.client.ui.base.helper.StyleHelper;
026 import org.gwtbootstrap3.client.ui.base.mixin.HTMLMixin;
027 import org.gwtbootstrap3.client.ui.constants.Alignment;
028 import org.gwtbootstrap3.client.ui.constants.Emphasis;
029 import org.gwtbootstrap3.client.ui.gwt.HTMLPanel;
030
031 import com.google.gwt.dom.client.ParagraphElement;
032
033 /**
034 * @author Sven Jacobs
035 */
036 public class Paragraph extends HTMLPanel implements HasAlignment, HasEmphasis {
037
038 private final HTMLMixin<Paragraph> textMixin = new HTMLMixin<Paragraph>(this);
039
040 public Paragraph() {
041 this("");
042 }
043
044 public Paragraph(final String html) {
045 super(ParagraphElement.TAG, html);
046 }
047
048 public void setText(final String text) {
049 textMixin.setText(text);
050 }
051
052 public String getText() {
053 return textMixin.getText();
054 }
055
056 public String getHTML() {
057 return textMixin.getHTML();
058 }
059
060 public void setHTML(final String html) {
061 textMixin.setHTML(html);
062 }
063
064 @Override
065 public void setAlignment(final Alignment alignment) {
066 StyleHelper.addUniqueEnumStyleName(this, Alignment.class, alignment);
067 }
068
069 @Override
070 public Alignment getAlignment() {
071 return Alignment.fromStyleName(getStyleName());
072 }
073
074 @Override
075 public void setEmphasis(final Emphasis emphasis) {
076 StyleHelper.addUniqueEnumStyleName(this, Emphasis.class, emphasis);
077 }
078
079 @Override
080 public Emphasis getEmphasis() {
081 return Emphasis.fromStyleName(getStyleName());
082 }
083 }