Example #1
0
  public UISkinData build() {
    saveStyle();
    Map<String, UIStyleFamily> skinFamilies = Maps.newHashMap();

    if (baseSkin != null) {
      UIStyle rootStyle = new UIStyle(baseSkin.getDefaultStyle());
      baseStyles.get("").applyTo(rootStyle);
      skinFamilies.put("", buildFamily("", baseSkin));
      for (String family : families) {
        skinFamilies.put(family, buildFamily(family, baseSkin));
      }
      for (String family : baseSkin.getFamilies()) {
        if (!skinFamilies.containsKey(family)) {
          skinFamilies.put(family, baseSkin.getFamily(family));
        }
      }
      return new UISkinData(skinFamilies);
    } else {
      UIStyle rootStyle = new UIStyle();
      baseStyles.get("").applyTo(rootStyle);
      skinFamilies.put("", buildFamily("", rootStyle));
      for (String family : families) {
        skinFamilies.put(family, buildFamily(family, rootStyle));
      }
      return new UISkinData(skinFamilies);
    }
  }