/*
 * Copyright (c) 2016, Mirante and/or its affiliates. All rights reserved.
 * Mirante PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package br.net.mirante.singular.showcase.component.layout;

import br.net.mirante.singular.form.mform.PackageBuilder;
import br.net.mirante.singular.form.mform.SIComposite;
import br.net.mirante.singular.form.mform.SPackage;
import br.net.mirante.singular.form.mform.STypeComposite;
import br.net.mirante.singular.form.mform.STypeList;
import br.net.mirante.singular.form.mform.basic.ui.AtrBasic;
import br.net.mirante.singular.form.mform.basic.ui.AtrBootstrap;
import br.net.mirante.singular.form.mform.basic.view.SViewBreadcrumb;
import br.net.mirante.singular.form.mform.core.STypeString;
import br.net.mirante.singular.form.mform.util.comuns.STypeYearMonth;

public class CaseListByBreadcrumbPackage extends SPackage {

    @Override
    protected void carregarDefinicoes(PackageBuilder pb) {

        STypeComposite<?> testForm = pb.createCompositeType("testForm");

        final STypeList<STypeComposite<SIComposite>, SIComposite> experiencias = testForm.addFieldListOfComposite("experienciasProfissionais", "experiencia");
        final STypeComposite<?> experiencia = experiencias.getElementsType();
        final STypeYearMonth dtInicioExperiencia = experiencia.addField("inicio", STypeYearMonth.class, true);
        final STypeYearMonth dtFimExperiencia = experiencia.addField("fim", STypeYearMonth.class);
        final STypeString empresa = experiencia.addFieldString("empresa", true);
        final STypeString cargo = experiencia.addFieldString("cargo", true);
        final STypeString atividades = experiencia.addFieldString("atividades");

        {
            //@destacar:bloco
            experiencias
                    .withView(SViewBreadcrumb::new)
            //@destacar:fim
                    .as(AtrBasic::new).label("Experiências profissionais");
            dtInicioExperiencia
                    .as(AtrBasic::new).label("Data inicial")
                    .as(AtrBootstrap::new).colPreference(2);
            dtFimExperiencia
                    .as(AtrBasic::new).label("Data final")
                    .as(AtrBootstrap::new).colPreference(2);
            empresa
                    .as(AtrBasic::new).label("Empresa")
                    .as(AtrBootstrap::new).colPreference(8);
            cargo
                    .as(AtrBasic::new).label("Cargo");
            atividades
                    .withTextAreaView()
                    .as(AtrBasic::new).label("Atividades Desenvolvidas");
        }

    }
}

@@ -1869,33 +1869,32 @@
          .as
-(
 AtrBasic
 ::new).label
@@ -1873,37 +1873,33 @@
      .asAtrBasic
-::new
+(
 ).label(%22Experi%C3%AA
@@ -1972,33 +1972,32 @@
          .as
-(
 AtrBasic
 ::new).label
@@ -1976,37 +1976,33 @@
      .asAtrBasic
-::new
+(
 ).label(%22Data in
@@ -2024,33 +2024,32 @@
              .as
-(
 AtrBootstrap::ne
@@ -2036,37 +2036,33 @@
  .asAtrBootstrap
-::new
+(
 ).colPreference(
@@ -2113,33 +2113,32 @@
          .as
-(
 AtrBasic
 ::new).label
@@ -2117,37 +2117,33 @@
      .asAtrBasic
-::new
+(
 ).label(%22Data fi
@@ -2163,33 +2163,32 @@
              .as
-(
 AtrBootstrap::ne
@@ -2175,37 +2175,33 @@
  .asAtrBootstrap
-::new
+(
 ).colPreference(
@@ -2243,33 +2243,32 @@
          .as
-(
 AtrBasic
 ::new).label
@@ -2247,37 +2247,33 @@
      .asAtrBasic
-::new
+(
 ).label(%22Empresa
@@ -2294,25 +2294,24 @@
          .as
-(
 AtrBootstrap
@@ -2310,21 +2310,17 @@
 ootstrap
-::new
+(
 ).colPre
@@ -2368,33 +2368,32 @@
          .as
-(
 AtrBasic
 ::new).label
@@ -2372,37 +2372,33 @@
      .asAtrBasic
-::new
+(
 ).label(%22Cargo%22)
@@ -2489,17 +2489,16 @@
  .as
-(
 AtrBasic
 ::ne
@@ -2493,21 +2493,17 @@
 AtrBasic
-::new
+(
 ).label(

ajuste no exemplo do BreadCrumb para usas asAtrBasic()