public void displayCayenneProject()

in src/main/java/org/apache/cayenne/modeler/layout/MainWindowLayout.java [166:259]


    public void displayCayenneProject(final CayenneProject cayenneProject) throws IOException
    {
        this.cayenneProject    = cayenneProject;
//        this.dataDomainAdapter = new DataDomainAdapter(cayenneProject);

        // Wire up the window's title bar to be aware of changes to the dirty indicator.
        getStage().titleProperty().bind(titleProperty);
        cayenneProject.dirtyProperty().addListener((observable, oldValue, newValue) -> setTitle());
        setTitle();

        treeRoot.setExpanded(true);
        treeView.setRoot(treeRoot);
        treeView.setShowRoot(false);

        treeView.setCellFactory(new Callback<TreeView<String>, TreeCell<String>>()
        {
            @Override
            public TreeCell<String> call(TreeView<String> p)
            {
                return new ProjectTreeCell();
            }
        });

        // addDataDomain(CayenneModelManager.getModels().get(0));
        // System.out.println(CayenneModelManager.getModels().size());

        treeView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) ->
            {
                LOGGER.debug("observable: " + observable + ", new: " + newValue + ", old: " + oldValue);

                try
                {
                    if (oldValue != null)
                    {
                        final DetailEditorSupport<?> detailEditor = getDetailEditor(oldValue);

                        if (detailEditor != null)
                            detailEditor.endEditing();
                    }

                    if (newValue != null)
                    {
                        observable.getValue().getParent();

//                      displayDataDomain((DataDomainTreeItem) newValue);
//                      displayDataMap((DataMapTreeItem) newValue);
//                      displayObjectEntity((ObjectEntityTreeItem) newValue);
//                      displayDatabaseEntity((DatabaseEntityTreeItem) newValue);
//                      displayDataNode((DataNodeTreeItem) newValue);

                        if (newValue instanceof DataDomainTreeItem)
                            displayDetailEditor(getDataDomainDetail(), ((DataDomainTreeItem) newValue).getPropertyAdapter());
                        else if (newValue instanceof DataMapTreeItem)
                            displayDetailEditor(getDataMapDetail(), ((DataMapTreeItem) newValue).getPropertyAdapter());
                        else if (newValue instanceof ObjectEntityTreeItem)
                            displayDetailEditor(getObjectEntityDetail(), ((ObjectEntityTreeItem) newValue).getPropertyAdapter());
                        else if (newValue instanceof DatabaseEntityTreeItem)
                            displayDetailEditor(getDatabaseEntityDetail(), ((DatabaseEntityTreeItem) newValue).getPropertyAdapter());
                        else if (newValue instanceof DataNodeTreeItem)
                            displayDetailEditor(getDataNodeDetail(), ((DataNodeTreeItem) newValue).getPropertyAdapter());
//                    if (newValue.getValue() instanceof DataDomainTreeViewModel)
//                        displayDataDomain((DataDomainTreeViewModel) newValue.getValue());
//                    else if (newValue.getValue() instanceof DataMapTreeViewModel)
//                        displayDataMap(((DataMapTreeViewModel) newValue.getValue()).getDataMap());
//                    // else if (newValue.getValue() instanceof
//                    // DataNodeTreeViewModel)
//                    // displayDataNode();
//                    else if (newValue.getValue() instanceof ObjectEntityTreeViewModel)
//                        displayObjectEntity((ObjectEntityTreeViewModel) newValue.getValue());
//                    else if (newValue.getValue() instanceof DatabaseEntityTreeViewModel)
//                        displayDatabaseEntity((DatabaseEntityTreeViewModel) newValue.getValue());
                    }
                    else
                    {
                        treeView.getSelectionModel().select(0);
                    }
                }
                catch (final IOException e)
                {
                    LOGGER.error("Cannot load UI.", e);
                }
            });

        setTitle();
//        displayDataDomain(domain);

        // Register for notifications.
        NotificationCenter.addProjectListener(cayenneProject, this);

        addDataDomain();

        treeView.requestFocus();
        treeView.getSelectionModel().select(0);
    }