/**
*
*/
package xplayer.presenter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import application.tools.InfoTool;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.control.Tab;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.BorderPane;
/**
* The Class XPlayerSettingsController.
*
* @author GOXR3PLUS
*/
public class XPlayerExtraSettings extends BorderPane {
// ------------------------
@FXML
private Tab equalizerTab;
@FXML
private Tab playListTab;
// ------------------------
/** The x player UI. */
XPlayerController xPlayerUI;
/**
* Constructor.
*
* @param xPlayerUI
* the x player UI
*/
public XPlayerExtraSettings(XPlayerController xPlayerUI) {
this.xPlayerUI = xPlayerUI;
// --------------------------FXMLLoader--------------------------
FXMLLoader loader = new FXMLLoader(getClass().getResource(InfoTool.FXMLS + "XPlayerExtraSettingsController.fxml"));
loader.setController(this);
loader.setRoot(this);
try {
loader.load();
} catch (IOException ex) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "XPlayerSettingsController FXML can't be loaded!", ex);
}
}
/**
* As soon as fxml has been loaded then this method will be called
* 1)-constructor,2)-FXMLLOADER,3)-initialize();
*/
@FXML
private void initialize() {
// When this can be visible?
this.setOnKeyReleased(key -> {
if (key.getCode() == KeyCode.ESCAPE)
xPlayerUI.getSettingsToggle().setSelected(false);
});
this.visibleProperty().bind(xPlayerUI.getSettingsToggle().selectedProperty());
this.visibleProperty().addListener((observable , oldValue , newValue) -> {
if (newValue) // true?
this.requestFocus();
});
// ----PlayListTab
playListTab.setContent(xPlayerUI.getxPlayerPlayList());
}
/**
* @return the equalizerTab
*/
public Tab getEqualizerTab() {
return equalizerTab;
}
}