Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.uberfire.client.common;
  
  import java.util.List;
  
 
 public class UberBreadcrumbs extends UnorderedList {
 
     private WidgetCollection children = new WidgetCollectionthis );
 
     private List<DividerdividerList = new ArrayList<Divider>();
 
     private String divider = "/";
 
     private static class Divider extends ComplexWidget {
 
         public DividerString divider ) {
             super"span" );
             setStyleName. );
             setDividerdivider );
         }
 
         public void setDividerString divider ) {
             getElement().setInnerTextdivider );
         }
     }

    
Create a empty Breadcrumbs
 
     public UberBreadcrumbs() {
         setStyleName. );
     }

    
Create Breadcrumbs with widgets

Parameters:
widgets widgets
 
     public UberBreadcrumbsWidget... widgets ) {
         this();
 
         for ( Widget widget : widgets ) {
             this.addwidget );
         }
     }

    
Create Breadcrumbs with setting divider character

Parameters:
divider separate char (ex : ">")
 
     public UberBreadcrumbsString divider ) {
         this();
         this.setDividerdivider );
     }

    
Set separater character

Parameters:
divider separater character
 
     public void setDividerString divider ) {
         if ( divider == null || divider.isEmpty() ) {
             this. = "/";
         } else {
             this. = divider;
         }
 
         for ( Divider dividerWidget :  ) {
             dividerWidget.setDividerthis. );
         }
 
     }

    
 
     @Override
     protected void onAttach() {
 
         if ( !isOrWasAttached() && .size() > 0 ) {
 
             Widget lastWidget = .get.size() - 1 );
 
             for ( final Widget w :  ) {
                 Widget item = lastWidget.equalsw ) ? w : getOrCreateListItemw );
                 if (item != null){
                     super.additem );
                 }
             }
         }
 
         super.onAttach();
    }

    
    @Override
    public void addWidget w ) {
        w.removeStyleName. );
        if ( !isOrWasAttached() ) {
            .addw );
            return;
        }
        if ( .size() > 0 ) {
            //Change last widget 2 Link
            //pygical remove
            super.remove( getWidget( getWidgetCount() - 1 ) );
            ComplexWidget item = getOrCreateListItem.get.size() - 1 ) );
            if (item != null){
                super.additem );
            }
        }
        super.addw );
        .addw );
    }
    private ComplexWidget getOrCreateListItemfinal Widget lastWidget ) {
        ListItem item = null;
        final Divider dividerWidget = new Divider );
        if ( lastWidget instanceof NavWidget ) {
            NavWidget w = (NavWidgetlastWidget;
            if ( hasDivierw ) ) {
                return w;
            } else {
                .adddividerWidget );
                w.addWidgetdividerWidget );
                return w;
            }
        } else if ( lastWidget instanceof Dropdown ) {
            final Dropdown w = (DropdownlastWidget;
            if ( hasDivierw ) ) {
                return w;
            } else {
                .adddividerWidget );
                super.addw );
                super.adddividerWidget );
                return null;
            }
        } else if ( lastWidget instanceof ListItem ) {
            item = (ListItemlastWidget;
        } else {
            item = new ListItemlastWidget );
        }
        if ( hasDivieritem ) ) {
            return item;
        }
        item.adddividerWidget );
        .adddividerWidget );
        return item;
    }
    private boolean hasDivierfinal ComplexWidget item ) {
        for ( Widget w : item ) {
            if ( w instanceof Divider ) {
                return true;
            }
        }
        return false;
    }

    
    @Override
    public boolean removeWidget w ) {
        if ( !isOrWasAttached() && .containsw ) ) {
            .removew );
            return true;
        }
        if ( getWidgetIndexw ) < 0 && !.containsw ) ) {
            return false;
        }
        if ( getWidgetIndexw ) >= 0 && .containsw ) ) {
            .removew );
            super.removew );
        } else if ( getWidgetIndexw ) >= 0 && !.containsw ) ) {
            .removegetWidgetIndexw ) );
            super.removew );
        } else if ( getWidgetIndexw ) < 0 && .containsw ) ) {
            return removegetWidget.indexOfw ) ) );
        } else {
            return false;
        }
        return true;
    }

    
    @Override
    public void clear() {
        super.clear();
         = new WidgetCollectionthis );
        .clear();
    }
New to GrepCode? Check out our FAQ X