package com.airlock.iam.plugin.configeditor.util;

import com.vaadin.server.FontIcon;
import com.vaadin.shared.ui.ContentMode;
import com.vaadin.ui.CssLayout;
import com.vaadin.ui.Label;

public final class FontIcons {
   private FontIcons() {
   }

   public static FontIcons.FontIconComponent fontIcon(FontIcon resource) {
      return new FontIcons.FontIconComponent(resource);
   }

   public static final class FontIconComponent extends CssLayout {
      private final Label iconHolder = new Label();

      private FontIconComponent(FontIcon icon) {
         this.iconHolder.setContentMode(ContentMode.HTML);
         this.iconHolder.setValue(icon.getHtml());
         this.setSizeUndefined();
         this.addComponent(this.iconHolder);
      }

      public void setFontIcon(FontIcon icon) {
         this.iconHolder.setValue(icon.getHtml());
      }
   }
}
