/* ConfigurationDefaults.java created 2007-09-14 * */ package org.signalml.app.config; import java.awt.Dimension; import java.util.Properties; import javax.swing.ToolTipManager; import org.apache.log4j.Logger; import org.signalml.app.view.book.wignermap.WignerMapPalette; import org.signalml.app.view.signal.SignalColor; import org.signalml.app.view.tag.TagPaintMode; import org.signalml.domain.book.WignerMapScaleType; /** ConfigurationDefaults * * * @author Michał Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. * @author Zbigniew Jędrzejewski-Szmek */ public class ConfigurationDefaults { protected static final Logger logger = Logger.getLogger(ConfigurationDefaults.class); private static final Properties properties; private static final String GREYSCALE_PALETTE = "greyscale"; static { properties = ConfigurationDefaultsLoader.Load(ConfigurationDefaults.class, "signalml_defaults.properties"); } public static void setGeneralConfigurationDefaults(GeneralConfiguration config) { config.setProfileDefault(true); config.setProfilePath(null); } // property accessor methods static String getString(String name) { return properties.getProperty(name); } static boolean getBoolean(String name) { return Boolean.parseBoolean(getString(name)); } static int getInt(String name) { return Integer.parseInt(getString(name)); } static double getDouble(String name) { return Double.parseDouble(getString(name)); } static float getFloat(String name) { return Float.parseFloat(getString(name)); } // configuration methods public static void setMainFrameConfigurationDefaults(MainFrameConfiguration config) { config.setMaximized(getBoolean("mainframe.maximized")); config.setXSize(getInt("mainframe.xSize")); config.setYSize(getInt("mainframe.ySize")); config.setViewMode(getBoolean("mainframe.documentMaximized")); config.setHDividerLocation(getInt("mainframe.hDividerLocation")); config.setVDividerLocation(getInt("mainframe.vDividerLocation")); } public static void setApplicationConfigurationDefaults(ApplicationConfiguration config) { config.setRightClickPagesForward(getBoolean("application.rightClickPagesForward")); config.setAutoLoadDefaultMontage(getBoolean("application.autoLoadDefaultMontage")); config.setAutoAddHighpassFilter(getBoolean("application.autoAddHighpassFilter")); config.setAutoTryToLoadSignalWithTags(getBoolean("application.autoTryToLoadSignalWithTags")); config.setPrecalculateSignalChecksums(getBoolean("application.precalculateSignalChecksums")); config.setSaveConfigOnEveryChange(getBoolean("application.saveConfigOnEveryChange")); config.setRestoreWorkspace(getBoolean("application.restoreWorkspace")); config.setAntialiased(getBoolean("application.antialiased")); config.setClamped(getBoolean("application.clamped")); config.setOffscreenChannelsDrawn(getBoolean("application.offscreenChannelsDrawn")); config.setTagToolTipsVisible(getBoolean("application.tagToolTipsVisible")); config.setOptimizeSignalDisplay(getBoolean("application.optimizeSignalDisplay")); config.setPageLinesVisible(getBoolean("application.pageLinesVisible")); config.setBlockLinesVisible(getBoolean("application.blockLinesVisible")); config.setChannelLinesVisible(getBoolean("application.channelLinesVisible")); config.setTagPaintMode(TagPaintMode.valueOf(getString("application.tagPaintMode"))); config.setSignalColor(SignalColor.valueOf(getString("application.signalColor"))); config.setSignalXOR(getBoolean("application.signalXOR")); config.setPageSize(getFloat("application.pageSize")); config.setBlocksPerPage(getInt("application.blocksPerPage")); config.setSaveFullMontageWithTag(getBoolean("application.saveFullMontageWithTag")); config.setViewModeHidesMainToolBar(getBoolean("application.viewModeHidesMainToolBar")); config.setViewModeHidesLeftPanel(getBoolean("application.viewModeHidesLeftPanel")); config.setViewModeHidesBottomPanel(getBoolean("application.viewModeHidesBottomPanel")); config.setViewModeCompactsPageTagBars(getBoolean("application.viewModeCompactsPageTagBars")); config.setViewModeSnapsToPage(getBoolean("application.viewModeSnapsToPage")); // these defaults are taken from Swing defaults ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); config.setToolTipInitialDelay(toolTipManager.getInitialDelay()); config.setToolTipDismissDelay(toolTipManager.getDismissDelay()); setZoomSignalSettingsDefaults(config.getZoomSignalSettings()); config.setMinChannelHeight(getInt("application.minChannelHeight")); config.setMaxChannelHeight(getInt("application.maxChannelHeight")); config.setMinValueScale(getInt("application.minValueScale")); config.setMaxValueScale(getInt("application.maxValueScale")); config.setMinTimeScale(getDouble("application.minTimeScale")); config.setMaxTimeScale(getDouble("application.maxTimeScale")); final String paletteString = getString("application.palette"); config.setPalette(WignerMapPalette.valueOf(paletteString)); config.setScaleType(WignerMapScaleType.valueOf(getString("application.scaleType"))); config.setSignalInBookAntialiased(getBoolean("application.signalInBookAntialiased")); config.setOriginalSignalVisible(getBoolean("application.originalSignalVisible")); config.setFullReconstructionVisible(getBoolean("application.fullReconstructionVisible")); config.setReconstructionVisible(getBoolean("application.reconstructionVisible")); config.setLegendVisible(getBoolean("application.legendVisible")); config.setScaleVisible(getBoolean("application.scaleVisible")); config.setAxesVisible(getBoolean("application.axesVisible")); config.setAtomToolTipsVisible(getBoolean("application.atomToolTipsVisible")); config.setMapAspectRatioUp(getInt("application.mapAspectRatioUp")); config.setMapAspectRatioDown(getInt("application.mapAspectRatioDown")); config.setReconstructionHeight(getInt("application.reconstructionHeight")); config.setBackupFrequency(getFloat("application.signalRecording.frequency")); config.setMonitorPageSize(getFloat("monitor.pageSize")); config.setOpenbciIPAddress(getString("monitor.openbciIPAddress")); config.setOpenbciPort(getInt("monitor.openbciPort")); } public static void setZoomSignalSettingsDefaults(ZoomSignalSettings settings) { int width = getInt("application.zoomSettings.zoomSize.width"); int height = getInt("application.zoomSettings.zoomSize.height"); settings.setZoomSize(new Dimension(width, height)); settings.setFactor(getFloat("application.zoomSettings.factor")); settings.setChannelSwitching(getBoolean("application.zoomSettings.channelSwitching")); } public static String getDefaultEegPlRegisterURL() { return getString("eeg.pl.registerUrl"); } public static String getDefaultEegPlSignalmlWsURL() { return getString("eeg.pl.signalmlwsUrl"); } }