summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java48
1 files changed, 33 insertions, 15 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java
index aa5cd2b4..2c3db308 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/gui/ResultVisualizer.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.gui;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -25,7 +25,6 @@ package de.lmu.ifi.dbs.elki.visualization.gui;
import javax.swing.JFrame;
-import de.lmu.ifi.dbs.elki.database.Database;
import de.lmu.ifi.dbs.elki.logging.Logging;
import de.lmu.ifi.dbs.elki.result.HierarchicalResult;
import de.lmu.ifi.dbs.elki.result.Result;
@@ -34,6 +33,7 @@ import de.lmu.ifi.dbs.elki.result.ResultUtil;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization;
+import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Flag;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.StringParameter;
import de.lmu.ifi.dbs.elki.visualization.VisualizerContext;
import de.lmu.ifi.dbs.elki.visualization.VisualizerParameterizer;
@@ -48,8 +48,6 @@ import de.lmu.ifi.dbs.elki.visualization.VisualizerParameterizer;
* @apiviz.uses ResultWindow oneway
*/
public class ResultVisualizer implements ResultHandler {
- // TODO: move title/maxdim parameters into a layouter class.
-
/**
* Get a logger for this class.
*/
@@ -67,6 +65,15 @@ public class ResultVisualizer implements ResultHandler {
public static final OptionID WINDOW_TITLE_ID = OptionID.getOrCreateOptionID("vis.window.title", "Title to use for visualization window.");
/**
+ * Flag to set single display
+ *
+ * <p>
+ * Key: -vis.single
+ * </p>
+ */
+ public final static OptionID SINGLE_ID = OptionID.getOrCreateOptionID("vis.window.single", "Embed visualizers in a single window, not using thumbnails and detail views.");
+
+ /**
* Stores the set title.
*/
String title;
@@ -82,28 +89,31 @@ public class ResultVisualizer implements ResultHandler {
VisualizerParameterizer manager;
/**
+ * Single view mode
+ */
+ boolean single;
+
+ /**
* Constructor.
*
- * @param title
- * @param manager
+ * @param title Window title
+ * @param manager Parameterization manager for visualizers
+ * @param single Flag to indicat single-view mode.
*/
- public ResultVisualizer(String title, VisualizerParameterizer manager) {
+ public ResultVisualizer(String title, VisualizerParameterizer manager, boolean single) {
super();
this.title = title;
this.manager = manager;
+ this.single = single;
}
@Override
public void processNewResult(final HierarchicalResult top, final Result result) {
- final Database db = ResultUtil.findDatabase(top);
- ResultUtil.ensureClusteringResult(db, top);
- ResultUtil.ensureSelectionResult(db, db);
-
// FIXME: not really re-entrant to generate new contexts...
final VisualizerContext context = manager.newContext(top);
if(title == null) {
- title = VisualizerParameterizer.getTitle(db, result);
+ title = VisualizerParameterizer.getTitle(ResultUtil.findDatabase(top), result);
}
if(title == null) {
@@ -114,7 +124,7 @@ public class ResultVisualizer implements ResultHandler {
@Override
public void run() {
try {
- ResultWindow window = new ResultWindow(title, top, context);
+ ResultWindow window = new ResultWindow(title, top, context, single);
window.setVisible(true);
window.setExtendedState(window.getExtendedState() | JFrame.MAXIMIZED_BOTH);
window.showOverview();
@@ -143,6 +153,11 @@ public class ResultVisualizer implements ResultHandler {
* Visualization manager.
*/
VisualizerParameterizer manager;
+
+ /**
+ * Single view mode.
+ */
+ boolean single = false;
@Override
protected void makeOptions(Parameterization config) {
@@ -151,13 +166,16 @@ public class ResultVisualizer implements ResultHandler {
if(config.grab(titleP)) {
title = titleP.getValue();
}
-
+ Flag singleF = new Flag(SINGLE_ID);
+ if (config.grab(singleF)) {
+ single = singleF.getValue();
+ }
manager = config.tryInstantiate(VisualizerParameterizer.class);
}
@Override
protected ResultVisualizer makeInstance() {
- return new ResultVisualizer(title, manager);
+ return new ResultVisualizer(title, manager, single);
}
}
} \ No newline at end of file