package org.knime.knip.tracking.nodes.hiliter; import org.knime.core.node.defaultnodesettings.SettingsModel; import org.knime.core.node.defaultnodesettings.SettingsModelBoolean; import org.knime.core.node.defaultnodesettings.SettingsModelColumnName; import org.knime.core.node.defaultnodesettings.SettingsModelString; /** * Simple helper class to store {@link SettingsModel}s used within * {@link TrackHilitePropagatorNodeModel}. * * @author <a href="mailto:gabriel.einsdorf@uni.kn">Gabriel Einsdorf</a> * */ final class TrackHilitePropagatorSettingsModels { public static final String DEFAULT_TRACK_PREFIX = "Track:"; private TrackHilitePropagatorSettingsModels() { // prevent instatiation } /** * Enum describing the Hiliting Modes. */ enum TrackHilitingMode { /** * Hiliting a track row also hilites all rows which are in that track. */ TRACK_TO_POINTS("Track to Points"), /** * Hiliting a row also hilites all other rows that are on the same * track. */ POINTS_TO_POINTS("Points to Points"), /** * No influence on the hiliting. */ OFF("Disabled"); private String m_name; private TrackHilitingMode(final String describingName) { m_name = describingName; } @Override public String toString() { return m_name; } } /** * @return settings model to store the selected column containing the * tracks. */ public static SettingsModelColumnName createTrackColumnSelectionSettingsModel() { return new SettingsModelColumnName("tracks_column_selection_model", ""); } /** * @return settings model to store the source labeling */ public static SettingsModelString createSourceLabelingSettingsModel() { return new SettingsModelString("source_labeling_settings_model", ""); } /** * @return settings model to store the custom track label selection */ public static SettingsModelBoolean createUseCustomTrackPrefixModel() { return new SettingsModelBoolean("use_custom_track_prefix", false); } /** * @return settings model to store the custom label for the tracks */ public static SettingsModelString createCustomTrackPrefixModel() { return new SettingsModelString("custom_track_label_prefix", DEFAULT_TRACK_PREFIX); } /** * @return settings model to store the track hiliting mode */ public static SettingsModelString createTrackHilitingModeModel() { return new SettingsModelString("track_hiliting_mode", TrackHilitingMode.OFF.toString()); } }