use of cbit.vcell.client.ChildWindowManager.ChildWindow in project vcell by virtualcell.
the class MathModelWindowManager method checkValidSimulationDataViewerFrames.
/**
* Insert the method's description here.
* Creation date: (7/20/2004 1:13:06 PM)
*/
private void checkValidSimulationDataViewerFrames() {
SimulationWindow[] simWindows = (SimulationWindow[]) BeanUtils.getArray(simulationWindowsHash.elements(), SimulationWindow.class);
Simulation[] sims = getMathModel().getSimulations();
Hashtable<VCSimulationIdentifier, Simulation> hash = new Hashtable<VCSimulationIdentifier, Simulation>();
for (int i = 0; i < sims.length; i++) {
SimulationInfo simInfo = sims[i].getSimulationInfo();
if (simInfo != null) {
VCSimulationIdentifier vcSimulationIdentifier = simInfo.getAuthoritativeVCSimulationIdentifier();
hash.put(vcSimulationIdentifier, sims[i]);
}
}
for (int i = 0; i < simWindows.length; i++) {
if (hash.containsKey(simWindows[i].getVcSimulationIdentifier())) {
simWindows[i].resetSimulation((Simulation) hash.get(simWindows[i].getVcSimulationIdentifier()));
} else {
ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(getJPanel());
ChildWindow childWindow = childWindowManager.getChildWindowFromContext(simWindows[i]);
if (childWindow != null) {
childWindow.close();
}
}
}
}
use of cbit.vcell.client.ChildWindowManager.ChildWindow in project vcell by virtualcell.
the class TestingFrameworkWindowManager method viewResults.
/**
* Insert the method's description here.
* Creation date: (1/20/2003 11:52:18 AM)
* @return boolean
* @param mathDesc cbit.vcell.math.MathDescription
*/
public void viewResults(TestCriteriaNew testCriteria) {
VCDataIdentifier vcdID = new VCSimulationDataIdentifier(testCriteria.getSimInfo().getAuthoritativeVCSimulationIdentifier(), 0);
// get the data manager and wire it up
try (SuppressRemote sr = new VCellThreadChecker.SuppressRemote()) {
// okay to call remote from Swing for testing
Simulation sim = ((ClientDocumentManager) getRequestManager().getDocumentManager()).getSimulation(testCriteria.getSimInfo());
DataViewerController dataViewerCtr = getRequestManager().getDataViewerController(null, sim, 0);
addDataListener(dataViewerCtr);
// make the viewer
DataViewer viewer = dataViewerCtr.createViewer();
viewer.setDataViewerManager(this);
addExportListener(viewer);
// create the simCompareWindow - this is just a lightweight window to display the simResults.
// It was created originally to compare 2 sims, it can also be used here instead of creating the more heavy-weight SimWindow.
ChildWindowManager childWindowManager = TFWFinder.findChildWindowManager(getComponent());
ChildWindow childWindow = childWindowManager.addChildWindow(viewer, vcdID, "Comparing ... " + vcdID, true);
childWindow.setIsCenteredOnParent();
childWindow.pack();
childWindow.show();
} catch (Throwable e) {
PopupGenerator.showErrorDialog(TestingFrameworkWindowManager.this, e.getMessage());
}
}
use of cbit.vcell.client.ChildWindowManager.ChildWindow in project vcell by virtualcell.
the class TestingFrameworkWindowManager method compare.
/**
* Insert the method's description here.
* Creation date: (1/20/2003 11:52:18 AM)
* @return boolean
* @param mathDesc cbit.vcell.math.MathDescription
*/
public void compare(final TestCriteriaNew testCriteria, final SimulationInfo userDefinedRegrSimInfo) {
final String KEY_MERGEDDATAINFO = "KEY_MERGEDDATAINFO";
final String KEY_MERGEDDATASETVIEWERCNTRLR = "KEY_MERGEDDATASETVIEWERCNTRLR";
AsynchClientTask gatherDataTask = new AsynchClientTask("Gathering compare Dta...", AsynchClientTask.TASKTYPE_NONSWING_BLOCKING) {
@Override
public void run(Hashtable<String, Object> hashTable) throws Exception {
// create the merged data for the simulationInfo in testCriteria and the regression simInfo
SimulationInfo simInfo = testCriteria.getSimInfo();
SimulationInfo regrSimInfo = null;
if (userDefinedRegrSimInfo != null) {
regrSimInfo = userDefinedRegrSimInfo;
} else {
regrSimInfo = testCriteria.getRegressionSimInfo();
}
if (regrSimInfo == null) {
return;
}
VCDataIdentifier vcSimId1 = new VCSimulationDataIdentifier(simInfo.getAuthoritativeVCSimulationIdentifier(), 0);
VCDataIdentifier vcSimId2 = new VCSimulationDataIdentifier(regrSimInfo.getAuthoritativeVCSimulationIdentifier(), 0);
User user = simInfo.getOwner();
VCDataIdentifier[] vcIdentifierArray = new VCDataIdentifier[] { vcSimId2, vcSimId1 };
MergedDataInfo mergedDataInfo = new MergedDataInfo(user, vcIdentifierArray, MergedDataInfo.createDefaultPrefixNames(vcIdentifierArray.length));
hashTable.put(KEY_MERGEDDATAINFO, mergedDataInfo);
// get the data manager and wire it up
//
// get all "Data1.XXX" data identifiers ... and remove those which are functions
// add functions of the form DIFF_XXX = (Data1.XXX - Data2.XXX) for convenience in comparing results.
//
Simulation sim1 = ((ClientDocumentManager) getRequestManager().getDocumentManager()).getSimulation(simInfo);
Simulation sim2 = ((ClientDocumentManager) getRequestManager().getDocumentManager()).getSimulation(regrSimInfo);
boolean isSpatial = sim1.isSpatial();
if (sim2.isSpatial() != isSpatial) {
throw new RuntimeException("Cannot compare spatial and non-spatial data sets : " + simInfo + "& " + regrSimInfo);
}
DataManager mergedDataManager = getRequestManager().getDataManager(null, mergedDataInfo, isSpatial);
DataManager data1Manager = getRequestManager().getDataManager(null, vcSimId1, isSpatial);
DataManager data2Manager = getRequestManager().getDataManager(null, vcSimId2, isSpatial);
Vector<AnnotatedFunction> functionList = new Vector<AnnotatedFunction>();
AnnotatedFunction[] data1Functions = data1Manager.getFunctions();
AnnotatedFunction[] existingFunctions = mergedDataManager.getFunctions();
DataIdentifier[] data1Identifiers = data1Manager.getDataIdentifiers();
DataIdentifier[] data2Identifiers = data2Manager.getDataIdentifiers();
for (int i = 0; i < data1Identifiers.length; i++) {
//
// make sure dataIdentifier is not already a function
//
boolean bIsFunction = false;
for (int j = 0; j < data1Functions.length; j++) {
if (data1Identifiers[i].getName().equals(data1Functions[j].getName())) {
bIsFunction = true;
}
}
if (bIsFunction) {
continue;
}
//
// make sure corresponding identifier exists in "Data2"
//
boolean bIsInData2 = false;
for (int j = 0; j < data2Identifiers.length; j++) {
if (data2Identifiers[j].getName().equals(data1Identifiers[i].getName())) {
bIsInData2 = true;
}
}
if (!bIsInData2) {
continue;
}
//
// create "Diff" function
//
String data1Name = "Data1." + data1Identifiers[i].getName();
String data2Name = "Data2." + data1Identifiers[i].getName();
String functionName = "DIFF_" + data1Identifiers[i].getName();
VariableType varType = data1Identifiers[i].getVariableType();
Expression exp = new Expression(data1Name + "-" + data2Name);
AnnotatedFunction newFunction = new AnnotatedFunction(functionName, exp, data1Identifiers[i].getDomain(), "", varType, FunctionCategory.OUTPUTFUNCTION);
//
// make sure new "Diff" function isn't already in existing function list.
//
boolean bDiffFunctionAlreadyHere = false;
for (int j = 0; j < existingFunctions.length; j++) {
if (newFunction.getName().equals(existingFunctions[j].getName())) {
bDiffFunctionAlreadyHere = true;
}
}
if (bDiffFunctionAlreadyHere) {
continue;
}
functionList.add(newFunction);
}
OutputContext outputContext = null;
if (functionList.size() > 0) {
AnnotatedFunction[] newDiffFunctions = (AnnotatedFunction[]) BeanUtils.getArray(functionList, AnnotatedFunction.class);
outputContext = new OutputContext(newDiffFunctions);
}
MergedDatasetViewerController mergedDatasetViewerCtr = getRequestManager().getMergedDatasetViewerController(outputContext, mergedDataInfo, !isSpatial);
hashTable.put(KEY_MERGEDDATASETVIEWERCNTRLR, mergedDatasetViewerCtr);
}
};
AsynchClientTask showResultsTask = new AsynchClientTask("Showing Compare Results", AsynchClientTask.TASKTYPE_SWING_BLOCKING) {
@Override
public void run(Hashtable<String, Object> hashTable) throws Exception {
// make the viewer
MergedDatasetViewerController mergedDatasetViewerCtr = (MergedDatasetViewerController) hashTable.get(KEY_MERGEDDATASETVIEWERCNTRLR);
addDataListener(mergedDatasetViewerCtr);
DataViewer viewer = mergedDatasetViewerCtr.createViewer();
viewer.setDataViewerManager(TestingFrameworkWindowManager.this);
addExportListener(viewer);
VCDataIdentifier vcDataIdentifier = (MergedDataInfo) hashTable.get(KEY_MERGEDDATAINFO);
ChildWindowManager childWindowManager = TFWFinder.findChildWindowManager(getComponent());
ChildWindow childWindow = childWindowManager.addChildWindow(viewer, vcDataIdentifier, "Comparing ... " + vcDataIdentifier.getID());
childWindow.pack();
// childWindow.setSize(450, 450);
childWindow.setIsCenteredOnParent();
childWindow.show();
}
};
ClientTaskDispatcher.dispatch(getComponent(), new Hashtable<String, Object>(), new AsynchClientTask[] { gatherDataTask, showResultsTask }, false);
}
use of cbit.vcell.client.ChildWindowManager.ChildWindow in project vcell by virtualcell.
the class ApplicationComponents method getDataViewerFrames.
/**
* Insert the method's description here.
* Creation date: (6/3/2004 4:40:40 PM)
*/
public ChildWindow[] getDataViewerFrames(Component component) {
SimulationWindow[] simWindows = (SimulationWindow[]) BeanUtils.getArray(simulationWindowsHash.elements(), SimulationWindow.class);
ArrayList<ChildWindow> childWindows = new ArrayList<ChildWindow>();
ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(component);
for (int i = 0; i < simWindows.length; i++) {
ChildWindow childWindow = childWindowManager.getChildWindowFromContext(simWindows[i]);
if (childWindow != null) {
childWindows.add(childWindow);
}
}
return childWindows.toArray(new ChildWindow[childWindows.size()]);
}
use of cbit.vcell.client.ChildWindowManager.ChildWindow in project vcell by virtualcell.
the class BioModelEditorModelPanel method showDiagramView.
private void showDiagramView() {
if (tabbedPane.getSelectedIndex() == ModelPanelTabID.reaction_diagram.ordinal()) {
if (tabbedPane.getComponentAt(ModelPanelTabID.reaction_diagram.ordinal()) != modelPanelTabs[ModelPanelTabID.reaction_diagram.ordinal()].getComponent()) {
ChildWindowManager childWindowManager = ChildWindowManager.findChildWindowManager(this);
if (childWindowManager != null) {
ChildWindow childWindow = childWindowManager.getChildWindowFromContext(this.reactionCartoonEditorPanel);
if (childWindow != null) {
childWindow.setIsCenteredOnParent();
childWindow.show();
}
}
}
}
}
Aggregations