/* * Copyright 2014-2015 CyberVision, Inc. * * 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 org.kaaproject.avro.ui.gwt.client.widget; import static org.kaaproject.avro.ui.gwt.client.util.Utils.avroUiStyle; import com.google.gwt.dom.client.DivElement; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.user.client.ui.InlineLabel; import com.google.gwt.user.client.ui.Label; public class AlertPanel extends Label { private DivElement textNode; public enum Type { INFO(avroUiStyle.info(), avroUiStyle.iconInfo()), HINT(avroUiStyle.hint(), avroUiStyle.iconHint()), WARNING(avroUiStyle.warning(), avroUiStyle.iconWarning()), ERROR(avroUiStyle.error(), avroUiStyle.iconError()), SUCCESS(avroUiStyle.success(), avroUiStyle.iconSuccess()); String labelStyleName; String iconStyleName; Type(String _labelStyleName, String _iconStyleName) { labelStyleName = _labelStyleName; iconStyleName = _iconStyleName; } } public AlertPanel(Type type) { setStylePrimaryName(avroUiStyle.uiMessage()); addStyleName(type.labelStyleName); InlineLabel icon = new InlineLabel(); icon.setStylePrimaryName(avroUiStyle.uiIcon()); icon.addStyleName(type.iconStyleName); getElement().appendChild(icon.getElement()); textNode = Document.get().createDivElement(); textNode.getStyle().setWidth(100, Unit.PCT); getElement().appendChild(textNode); } public void setMessage(String message) { textNode.setInnerHTML(message); } }