public BreadcrumbItemSkin(BreadcrumbItem c) {
super(c, new BehaviorBase<BreadcrumbItem>(c,new ArrayList<KeyBinding>()));
HBox box = new HBox();
final SVGPath leftSide = new SVGPath();
if(!c.isFirst()) {
leftSide.setContent("M0 0 L15 0 l0 30 L0 30 l10 -15 Z");
} else {
leftSide.setContent("M0 0 L15 0 l0 30 L0 30 Z");
}
leftSide.getStyleClass().add("breadcrumbitem-ui");
final SVGPath rightSide = new SVGPath();
rightSide.setContent("M0,0 L5,0 15,15 5,30 0,30 Z");
rightSide.getStyleClass().add("breadcrumbitem-ui");
rightSide.setLayoutY(10);
final StackPane stackPane = new StackPane();
stackPane.getStyleClass().add("breadcrumbitem-ui");
stackPane.setAlignment(Pos.CENTER);
final HBox stackContent = new HBox(10);
stackContent.setAlignment(Pos.CENTER);
stackPane.getChildren().add(stackContent);
box.getChildren().add(leftSide);
box.getChildren().add(stackPane);
final Label textLabel = new Label();
if (c != null) {
if (c.getIcon() != null) {
ImageView iv = new ImageView(c.getIcon());
iv.setPreserveRatio(true);
iv.setFitHeight(20);
stackContent.getChildren().add(iv);
}
if(c.getSvgIcon() != null) {
stackContent.getChildren().add(c.getSvgIcon());
}
if (c.getText() != null) {
textLabel.setText(c.getText());
textLabel.getStyleClass().add("breadcrumbitem-text");
stackContent.getChildren().add(textLabel);
}
}
box.getChildren().add(rightSide);
leftSide.addEventHandler(MouseEvent.ANY, new BreadcrumbItemMouseHandler(){
{
getNodes().add(rightSide);
getNodes().add(stackPane);
if(!textLabel.getText().isEmpty()) {
getNodes().add(textLabel);
}
}
});
rightSide.addEventHandler(MouseEvent.ANY, new BreadcrumbItemMouseHandler(){
{
getNodes().add(leftSide);
getNodes().add(stackPane);
if(!textLabel.getText().isEmpty()) {
getNodes().add(textLabel);