@Override protected void onConfigure() { cfg = Configuration.getDefault(); flinger = new Flinger(); flinger.gapProperty().set(4); flinger .directionProperty() .setValue(cfg.isVertical() ? Direction.VERTICAL : Direction.HORIZONTAL); slideLeft.disableProperty().bind(flinger.leftOrUpDisableProperty()); slideRight.disableProperty().bind(flinger.rightOrDownDisableProperty()); shortcuts.getChildren().add(flinger); AnchorPane.setTopAnchor(flinger, 0d); AnchorPane.setBottomAnchor(flinger, 0d); AnchorPane.setLeftAnchor(flinger, 0d); AnchorPane.setRightAnchor(flinger, 0d); networkResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("network.toolTip"))); networkResources.selectedProperty().bindBidirectional(cfg.showNetworkProperty()); ssoResources.setTooltip(UIHelpers.createDockButtonToolTip(resources.getString("sso.toolTip"))); ssoResources.selectedProperty().bindBidirectional(cfg.showSSOProperty()); browserResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("web.toolTip"))); browserResources.selectedProperty().bindBidirectional(cfg.showWebProperty()); status.setTooltip(UIHelpers.createDockButtonToolTip(status.getTooltip().getText())); exit.setTooltip(UIHelpers.createDockButtonToolTip(exit.getTooltip().getText())); signIn.setTooltip(UIHelpers.createDockButtonToolTip(signIn.getTooltip().getText())); options.setTooltip(UIHelpers.createDockButtonToolTip(options.getTooltip().getText())); fileResources.setTooltip( UIHelpers.createDockButtonToolTip(resources.getString("files.toolTip"))); fileResources.selectedProperty().bindBidirectional(cfg.showFilesProperty()); // Button size changes sizeChangeListener = new ChangeListener<Number>() { @Override public void changed( ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { flinger.recentre(); sizeButtons(); } }; cfg.sizeProperty().addListener(sizeChangeListener); // Colour changes colorChangeListener = new ChangeListener<Color>() { @Override public void changed( ObservableValue<? extends Color> observable, Color oldValue, Color newValue) { // styleToolTips(); } }; cfg.colorProperty().addListener(colorChangeListener); // Border changes borderChangeListener = new ChangeListener<Boolean>() { @Override public void changed( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) { if (newValue) { flinger .directionProperty() .setValue(cfg.isVertical() ? Direction.VERTICAL : Direction.HORIZONTAL); configurePull(); } } }; cfg.topProperty().addListener(borderChangeListener); cfg.bottomProperty().addListener(borderChangeListener); cfg.leftProperty().addListener(borderChangeListener); cfg.rightProperty().addListener(borderChangeListener); dockContent.prefWidthProperty().bind(dockStack.widthProperty()); // Hide the pull tab initially pull.setVisible(false); if (context.getBridge().isServiceUpdating()) { setMode(Mode.UPDATE); } rebuildResources(); rebuildIcons(); // styleToolTips(); sizeButtons(); setAvailable(); configurePull(); if (cfg.autoHideProperty().get()) maybeHideDock(INITIAL_AUTOHIDE_HIDE_TIME); }