use of javafx.scene.control.Tab in project Retrospector by NonlinearFruit.
the class CoreController method initialize.
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
// This is just for test, try not to put it in a really release
// if(DataManager.getMedia().size()==0)
// Dumpster.createMedia(1000);
searchTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.SEARCH);
});
mediaTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.MEDIA);
});
reviewTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.REVIEW);
});
chartTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.CHART);
});
listTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.LIST);
});
achievementTab.selectedProperty().addListener((observe, old, neo) -> {
if (neo)
setTab(TAB.ACHIEVEMENT);
});
currentTab.set(TAB.SEARCH);
currentTab.addListener((observe, old, neo) -> {
Tab tab;
switch(neo) {
default:
case SEARCH:
tab = searchTab;
break;
case MEDIA:
tab = mediaTab;
break;
case REVIEW:
tab = reviewTab;
break;
case CHART:
tab = chartTab;
break;
case LIST:
tab = listTab;
break;
case ACHIEVEMENT:
tab = achievementTab;
break;
}
anchorCenter.getSelectionModel().select(tab);
});
anchorCenter.getSelectionModel().selectedItemProperty().addListener((observe, old, neo) -> {
if (neo.getText().equals("Search"))
searchController.update();
else if (neo.getText().equals("Media"))
mediaController.update();
else if (neo.getText().equals("Review"))
reviewController.update();
else if (neo.getText().equals("Chart"))
statsController.update();
else if (neo.getText().equals("List"))
listsController.update();
else if (neo.getText().equals("Achievement"))
achieveController.update();
});
currentMedia.addListener((observe, old, neo) -> {
if (neo == null) {
mediaTab.setDisable(true);
reviewTab.setDisable(true);
// chartTab.setDisable(true);
} else {
mediaTab.setDisable(false);
// chartTab.setDisable(false);
}
});
currentReview.addListener((observe, old, neo) -> {
if (neo == null) {
reviewTab.setDisable(true);
} else {
reviewTab.setDisable(false);
}
});
mediaTab.setDisable(true);
reviewTab.setDisable(true);
// chartTab.setDisable(true);
}
use of javafx.scene.control.Tab in project aic-praise by aic-sri-international.
the class QueryController method displayQueryAnswer.
private void displayQueryAnswer(String query, Expression result, ParsedHOGModel parsedModel, long millisecondsToCompute) {
String answer = "P(" + query + " | ... ) = " + result;
String title = "Query" + duration(" took ", millisecondsToCompute) + " to compute '" + answer + "'";
HOGMCodeArea resultCodeArea = new HOGMCodeArea(false);
resultCodeArea.setText(answer);
resultCodeArea.setEditable(false);
Node resultContent = null;
if (SGSolverDemoController.isInDebugMode()) {
HOGMCodeArea parsedModelArea = createParsedModelView(parsedModel);
TabPane resultTabs = new TabPane();
resultTabs.getTabs().add(new Tab("Answer", resultCodeArea));
resultTabs.getTabs().add(new Tab("Parsed As", parsedModelArea));
resultContent = resultTabs;
} else {
resultContent = resultCodeArea;
}
TitledPane resultPane = new TitledPane(title, resultContent);
FXUtil.setTitledPaneIcon(resultPane, FontAwesomeIcons.CHECK);
showResultPane(resultPane);
}
use of javafx.scene.control.Tab in project aic-praise by aic-sri-international.
the class QueryController method displayQueryErrors.
private void displayQueryErrors(String query, List<HOGMQueryError> queryErrors, ParsedHOGModel parsedModel, long millisecondsToCompute) {
String title = "Query '" + query + "' encountered " + queryErrors.size() + " error(s) when attempting to compute answer (" + duration("took ", millisecondsToCompute) + ")";
ListView<HOGMQueryError> errors = new ListView<>(FXCollections.observableList(queryErrors));
//errors.setFixedCellSize(24);
errors.setPrefHeight(24 * 5);
errors.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
errors.getSelectionModel().selectedIndexProperty().addListener((obs, oldValue, newValue) -> {
if (newValue.intValue() >= 0) {
HOGMQueryError qError = errors.getItems().get(newValue.intValue());
if (qError.getContext() == HOGMQueryError.Context.MODEL) {
modelPageEditor.highlight(qError.getStartContextIndex(), qError.getEndContextIndex());
} else if (qError.getContext() == HOGMQueryError.Context.QUERY) {
queryComboBox.getEditor().selectAll();
}
}
});
Node resultContent = null;
if (SGSolverDemoController.isInDebugMode()) {
HOGMCodeArea parsedModelArea = createParsedModelView(parsedModel);
TabPane resultTabs = new TabPane();
resultTabs.getTabs().add(new Tab("Errors", errors));
resultTabs.getTabs().add(new Tab("Parsed As", parsedModelArea));
resultContent = resultTabs;
} else {
resultContent = errors;
}
TitledPane resultPane = new TitledPane(title, resultContent);
FXUtil.setTitledPaneIcon(resultPane, FontAwesomeIcons.TIMES);
showResultPane(resultPane);
errors.getSelectionModel().selectFirst();
}
use of javafx.scene.control.Tab in project jphp by jphp-compiler.
the class TabPaneEx method doSelectionChange.
private void doSelectionChange(int index) {
if (onSelectionChange != null) {
Tab tab = getTabs().get(index);
Event event = new Event(this, tab, EventType.ROOT);
onSelectionChange.handle(event);
}
}
use of javafx.scene.control.Tab in project jphp by jphp-compiler.
the class DnDTabPaneSkin method tabPane_handleDragOver.
@SuppressWarnings("all")
void tabPane_handleDragOver(Pane tabHeaderArea, Pane headersRegion, DragEvent event) {
Tab draggedTab = DRAGGED_TAB;
if (draggedTab == null) {
return;
}
// Consume the drag in any case
event.consume();
double x = event.getX() - headersRegion.getBoundsInParent().getMinX();
Node referenceNode = null;
DropType type = DropType.AFTER;
for (Node n : headersRegion.getChildren()) {
Bounds b = n.getBoundsInParent();
if (b.getMaxX() > x) {
if (b.getMinX() + b.getWidth() / 2 > x) {
referenceNode = n;
type = DropType.BEFORE;
} else {
referenceNode = n;
type = DropType.AFTER;
}
break;
}
}
if (referenceNode == null && headersRegion.getChildren().size() > 0) {
referenceNode = headersRegion.getChildren().get(headersRegion.getChildren().size() - 1);
type = DropType.AFTER;
}
if (referenceNode != null) {
try {
// $NON-NLS-1$
Field field = referenceNode.getClass().getDeclaredField("tab");
field.setAccessible(true);
Tab tab = (Tab) field.get(referenceNode);
boolean noMove = false;
if (tab == draggedTab) {
noMove = true;
} else if (type == DropType.BEFORE) {
int idx = getSkinnable().getTabs().indexOf(tab);
if (idx > 0) {
if (getSkinnable().getTabs().get(idx - 1) == draggedTab) {
noMove = true;
}
}
} else {
int idx = getSkinnable().getTabs().indexOf(tab);
if (idx + 1 < getSkinnable().getTabs().size()) {
if (getSkinnable().getTabs().get(idx + 1) == draggedTab) {
noMove = true;
}
}
}
if (noMove) {
efx_dragFeedback(draggedTab, null, null, DropType.NONE);
return;
}
Bounds b = referenceNode.getBoundsInLocal();
b = referenceNode.localToScene(b);
b = getSkinnable().sceneToLocal(b);
efx_dragFeedback(draggedTab, tab, b, type);
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
event.acceptTransferModes(TransferMode.MOVE);
} else {
efx_dragFeedback(draggedTab, null, null, DropType.NONE);
}
}
Aggregations