Search in sources :

Example 1 with Tab

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);
}
Also used : Tab(javafx.scene.control.Tab)

Example 2 with Tab

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);
}
Also used : TitledPane(javafx.scene.control.TitledPane) TabPane(javafx.scene.control.TabPane) HOGMCodeArea(com.sri.ai.praise.sgsolver.demo.editor.HOGMCodeArea) Tab(javafx.scene.control.Tab) Node(javafx.scene.Node)

Example 3 with Tab

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();
}
Also used : TitledPane(javafx.scene.control.TitledPane) TabPane(javafx.scene.control.TabPane) ListView(javafx.scene.control.ListView) HOGMCodeArea(com.sri.ai.praise.sgsolver.demo.editor.HOGMCodeArea) Tab(javafx.scene.control.Tab) HOGMQueryError(com.sri.ai.praise.sgsolver.solver.HOGMQueryError) Node(javafx.scene.Node)

Example 4 with Tab

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);
    }
}
Also used : Tab(javafx.scene.control.Tab) Event(javafx.event.Event)

Example 5 with Tab

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);
    }
}
Also used : Field(java.lang.reflect.Field) Tab(javafx.scene.control.Tab) Node(javafx.scene.Node) Bounds(javafx.geometry.Bounds) DropType(org.develnext.jphp.ext.javafx.support.control.tabpane.DndTabPaneFactory.DropType)

Aggregations

Tab (javafx.scene.control.Tab)95 TabPane (javafx.scene.control.TabPane)32 Label (javafx.scene.control.Label)17 TableView (javafx.scene.control.TableView)17 BorderPane (javafx.scene.layout.BorderPane)17 Scene (javafx.scene.Scene)16 ScrollPane (javafx.scene.control.ScrollPane)15 MenuItem (javafx.scene.control.MenuItem)13 TableColumn (javafx.scene.control.TableColumn)13 File (java.io.File)12 IOException (java.io.IOException)11 List (java.util.List)11 Optional (java.util.Optional)11 Button (javafx.scene.control.Button)11 ContextMenu (javafx.scene.control.ContextMenu)11 Map (java.util.Map)10 FXCollections (javafx.collections.FXCollections)10 Insets (javafx.geometry.Insets)10 Menu (javafx.scene.control.Menu)10 ObservableValue (javafx.beans.value.ObservableValue)9