diff options
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.java | 48 |
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 |