Search in sources :

Example 16 with MathModelInfo

use of org.vcell.util.document.MathModelInfo in project vcell by virtualcell.

the class MathModelDbTreePanel method actionsOnClick.

/**
 * Comment
 */
protected void actionsOnClick(MouseEvent mouseEvent) {
    if (mouseEvent.isPopupTrigger()) {
        if (!getPopupMenuDisabled()) {
            TreePath treePath = ((JTree) mouseEvent.getSource()).getPathForLocation(mouseEvent.getX(), mouseEvent.getY());
            ((JTree) mouseEvent.getSource()).setSelectionPath(treePath);
            if (getSelectedVersionInfo() instanceof MathModelInfo) {
                Version version = getSelectedVersionInfo().getVersion();
                boolean isOwner = version.getOwner().compareEqual(getDocumentManager().getUser());
                configureArhivePublishMenuState(version, isOwner);
                getJMenuItemPermission().setEnabled(isOwner && !version.getFlag().compareEqual(VersionFlag.Published));
                getJMenuItemDelete().setEnabled(isOwner && !version.getFlag().compareEqual(VersionFlag.Archived) && !version.getFlag().compareEqual(VersionFlag.Published));
                compareWithMenuItemEnable(getSelectedVersionInfo());
                getMathModelPopupMenu().show(getJTree1(), mouseEvent.getPoint().x, mouseEvent.getPoint().y);
            }
        }
    } else {
        ifNeedsDoubleClickEvent(mouseEvent, MathModelInfo.class);
    }
}
Also used : JTree(javax.swing.JTree) TreePath(javax.swing.tree.TreePath) Version(org.vcell.util.document.Version) MathModelInfo(org.vcell.util.document.MathModelInfo)

Example 17 with MathModelInfo

use of org.vcell.util.document.MathModelInfo in project vcell by virtualcell.

the class MathModelDbTreePanel method compareWithMenuItemEnable.

/**
 * Comment
 */
private void compareWithMenuItemEnable(VersionInfo vInfo) {
    boolean bPreviousEditionMenuItem = false;
    boolean bLatestEditionMenuItem = false;
    boolean bAnotherEditionMenuItem = false;
    if (vInfo != null) {
        MathModelInfo thisMathModelInfo = (MathModelInfo) vInfo;
        try {
            // 
            // Get the other versions of the Mathmodel
            // 
            MathModelInfo[] mathModelVersionsList = getMathModelVersionDates(thisMathModelInfo);
            if (mathModelVersionsList != null && mathModelVersionsList.length > 0) {
                bAnotherEditionMenuItem = true;
                // 
                // Obtaining the previous version of the current biomodel
                // 
                MathModelInfo previousMathModelInfo = mathModelVersionsList[0];
                boolean bPrevious = false;
                for (int i = 0; i < mathModelVersionsList.length; i++) {
                    if (mathModelVersionsList[i].getVersion().getDate().before(thisMathModelInfo.getVersion().getDate())) {
                        bPrevious = true;
                        previousMathModelInfo = mathModelVersionsList[i];
                    } else {
                        break;
                    }
                }
                if (previousMathModelInfo.equals(mathModelVersionsList[0]) && !bPrevious) {
                    bPreviousEditionMenuItem = false;
                } else {
                    bPreviousEditionMenuItem = true;
                }
                // 
                // Obtaining the latest version of the current mathmodel
                // 
                MathModelInfo latestMathModelInfo = mathModelVersionsList[mathModelVersionsList.length - 1];
                for (int i = 0; i < mathModelVersionsList.length; i++) {
                    if (mathModelVersionsList[i].getVersion().getDate().after(latestMathModelInfo.getVersion().getDate())) {
                        latestMathModelInfo = mathModelVersionsList[i];
                    }
                }
                if (thisMathModelInfo.getVersion().getDate().after(latestMathModelInfo.getVersion().getDate())) {
                    bLatestEditionMenuItem = false;
                } else {
                    bLatestEditionMenuItem = true;
                }
            }
        } catch (DataAccessException ex) {
            ex.printStackTrace();
        }
    }
    getJPreviousEditionMenuItem().setEnabled(bPreviousEditionMenuItem);
    getJLatestEditionMenuItem().setEnabled(bLatestEditionMenuItem);
    getJAnotherEditionMenuItem().setEnabled(bAnotherEditionMenuItem);
}
Also used : MathModelInfo(org.vcell.util.document.MathModelInfo) DataAccessException(org.vcell.util.DataAccessException)

Example 18 with MathModelInfo

use of org.vcell.util.document.MathModelInfo in project vcell by virtualcell.

the class MathModelDbTreePanel method treeSelection.

/**
 * Comment
 */
protected void treeSelection() {
    TreePath treePath = getJTree1().getSelectionPath();
    if (treePath == null) {
        setSelectedVersionInfo(null);
        return;
    }
    BioModelNode bioModelNode = (BioModelNode) treePath.getLastPathComponent();
    Object object = bioModelNode.getUserObject();
    if (object instanceof VersionInfo) {
        setSelectedVersionInfo((VersionInfo) object);
    } else if (object instanceof VCDocumentInfoNode && bioModelNode.getChildCount() > 0 && ((BioModelNode) bioModelNode.getChildAt(0)).getUserObject() instanceof MathModelInfo) {
        MathModelInfo mathModelInfo = (MathModelInfo) ((BioModelNode) bioModelNode.getChildAt(0)).getUserObject();
        setSelectedVersionInfo(mathModelInfo);
    } else {
        setSelectedVersionInfo(null);
    }
}
Also used : VersionInfo(org.vcell.util.document.VersionInfo) TreePath(javax.swing.tree.TreePath) VCDocumentInfoNode(cbit.vcell.desktop.VCellBasicCellRenderer.VCDocumentInfoNode) MathModelInfo(org.vcell.util.document.MathModelInfo)

Example 19 with MathModelInfo

use of org.vcell.util.document.MathModelInfo in project vcell by virtualcell.

the class MathModelDbTreePanel method documentManager_DatabaseUpdate.

/**
 * Comment
 */
protected void documentManager_DatabaseUpdate(DatabaseEvent event) {
    if (event.getNewVersionInfo() instanceof MathModelInfo && getSelectedVersionInfo() instanceof MathModelInfo) {
        MathModelInfo selectedMMInfo = (MathModelInfo) getSelectedVersionInfo();
        MathModelInfo eventMMInfo = (MathModelInfo) event.getNewVersionInfo();
        if (eventMMInfo.getVersion().getVersionKey().equals(selectedMMInfo.getVersion().getVersionKey())) {
            setSelectedVersionInfo(event.getNewVersionInfo());
        }
    }
}
Also used : MathModelInfo(org.vcell.util.document.MathModelInfo)

Example 20 with MathModelInfo

use of org.vcell.util.document.MathModelInfo in project vcell by virtualcell.

the class MathModelDbTreePanel method documentManager_DatabaseDelete.

/**
 * Comment
 */
protected void documentManager_DatabaseDelete(DatabaseEvent event) {
    if (event.getOldVersionInfo() instanceof MathModelInfo && getSelectedVersionInfo() instanceof MathModelInfo) {
        MathModelInfo selectedMMInfo = (MathModelInfo) getSelectedVersionInfo();
        MathModelInfo eventMMInfo = (MathModelInfo) event.getOldVersionInfo();
        if (eventMMInfo.getVersion().getVersionKey().equals(selectedMMInfo.getVersion().getVersionKey())) {
            setSelectedVersionInfo(null);
            getJTree1().getSelectionModel().clearSelection();
        }
    }
}
Also used : MathModelInfo(org.vcell.util.document.MathModelInfo)

Aggregations

MathModelInfo (org.vcell.util.document.MathModelInfo)67 BioModelInfo (org.vcell.util.document.BioModelInfo)37 DataAccessException (org.vcell.util.DataAccessException)32 GeometryInfo (cbit.vcell.geometry.GeometryInfo)22 VCDocumentInfo (org.vcell.util.document.VCDocumentInfo)14 MathModel (cbit.vcell.mathmodel.MathModel)12 Vector (java.util.Vector)11 BioModel (cbit.vcell.biomodel.BioModel)10 KeyValue (org.vcell.util.document.KeyValue)10 RemoteProxyException (cbit.vcell.message.server.bootstrap.client.RemoteProxyVCellConnectionFactory.RemoteProxyException)8 Hashtable (java.util.Hashtable)8 ObjectNotFoundException (org.vcell.util.ObjectNotFoundException)8 User (org.vcell.util.document.User)8 Simulation (cbit.vcell.solver.Simulation)7 UserCancelException (org.vcell.util.UserCancelException)7 Geometry (cbit.vcell.geometry.Geometry)6 SimulationContext (cbit.vcell.mapping.SimulationContext)6 TestCriteriaNewBioModel (cbit.vcell.numericstest.TestCriteriaNewBioModel)6 TestCriteriaNewMathModel (cbit.vcell.numericstest.TestCriteriaNewMathModel)6 SimulationInfo (cbit.vcell.solver.SimulationInfo)6