/* ApplicationConfiguration.java created 2007-09-19 * */ package org.signalml.app.config; import javax.swing.ToolTipManager; 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; import com.thoughtworks.xstream.annotations.XStreamAlias; /** * ApplicationConfiguration * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. * @author Stanislaw Findeisen */ @XStreamAlias("application") public class ApplicationConfiguration extends AbstractXMLConfiguration implements org.signalml.plugin.export.config.SvarogConfiguration { private String[] favouriteDirs = new String[0]; private String[] lastDirs = new String[0]; private String lastFileChooserPath; private String lastPresetPath; private String lastSaveMP5ConfigPath; private String lastLibraryPath; private boolean rightClickPagesForward; private boolean autoLoadDefaultMontage; private boolean precalculateSignalChecksums; private boolean saveConfigOnEveryChange; private boolean restoreWorkspace; private boolean antialiased; private boolean clamped; private boolean offscreenChannelsDrawn; private boolean tagToolTipsVisible; private boolean optimizeSignalDisplay; private boolean pageLinesVisible; private boolean blockLinesVisible; private boolean channelLinesVisible; private TagPaintMode tagPaintMode; private SignalColor signalColor; private boolean signalXOR; private float pageSize; private int blocksPerPage; private boolean saveFullMontageWithTag; private boolean viewModeHidesMainToolBar; private boolean viewModeHidesLeftPanel; private boolean viewModeHidesBottomPanel; private boolean viewModeCompactsPageTagBars; private boolean viewModeSnapsToPage; private int minChannelHeight; private int maxChannelHeight; private int minValueScale; private int maxValueScale; private double minTimeScale; private double maxTimeScale; // milliseconds private int toolTipInitialDelay; private int toolTipDismissDelay; private ZoomSignalSettings zoomSignalSettings = new ZoomSignalSettings(); private WignerMapPalette palette; private WignerMapScaleType scaleType; private boolean signalInBookAntialiased; private boolean originalSignalVisible; private boolean fullReconstructionVisible; private boolean reconstructionVisible; private boolean legendVisible; private boolean scaleVisible; private boolean axesVisible; private boolean atomToolTipsVisible; private int mapAspectRatioUp = 1; private int mapAspectRatioDown = 1; private int reconstructionHeight; private float backupFrequency; private String openbciIPAddress; private int openbciPort; private float monitorPageSize; /** * Determines if a highpass filter should be added to each * signal automatically. */ private boolean autoAddHighpassFilter; /** * When opening a signal automatically tries to load it with tags * that have the same file name. */ private boolean autoTryToLoadSignalWithTags; public void applySystemSettings() { // apply tooltip settings ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); toolTipManager.setInitialDelay(toolTipInitialDelay); toolTipManager.setDismissDelay(toolTipDismissDelay); } @Override public String getStandardFilename() { return "application-config.xml"; } public String[] getFavouriteDirs() { return favouriteDirs; } public void setFavouriteDirs(String[] dirs) { this.favouriteDirs = dirs; } public float getBackupFrequency() { return backupFrequency; } public void setBackupFrequency(float backupFrequency) { this.backupFrequency = backupFrequency; } public String[] getLastDirs() { return lastDirs; } public void setLastDirs(String[] dirs) { this.lastDirs = dirs; } public String getLastSaveMP5ConfigPath() { return lastSaveMP5ConfigPath; } public void setLastSaveMP5ConfigPath(String lastSaveConfigPath) { this.lastSaveMP5ConfigPath = lastSaveConfigPath; } public boolean isRightClickPagesForward() { return rightClickPagesForward; } public void setRightClickPagesForward(boolean rightClickPagesForward) { this.rightClickPagesForward = rightClickPagesForward; } public boolean isAutoLoadDefaultMontage() { return autoLoadDefaultMontage; } public void setAutoLoadDefaultMontage(boolean autoLoadDefaultMontage) { this.autoLoadDefaultMontage = autoLoadDefaultMontage; } public boolean isPrecalculateSignalChecksums() { return precalculateSignalChecksums; } public void setPrecalculateSignalChecksums(boolean precalculateSignalChecksums) { this.precalculateSignalChecksums = precalculateSignalChecksums; } @Override public boolean isSaveConfigOnEveryChange() { return saveConfigOnEveryChange; } public void setSaveConfigOnEveryChange(boolean saveConfigOnEveryChange) { this.saveConfigOnEveryChange = saveConfigOnEveryChange; } public boolean isAntialiased() { return antialiased; } public void setAntialiased(boolean antialiased) { this.antialiased = antialiased; } public boolean isClamped() { return clamped; } public void setClamped(boolean clamped) { this.clamped = clamped; } public boolean isOffscreenChannelsDrawn() { return offscreenChannelsDrawn; } public void setOffscreenChannelsDrawn(boolean offscreenChannelsDrawn) { this.offscreenChannelsDrawn = offscreenChannelsDrawn; } public boolean isTagToolTipsVisible() { return tagToolTipsVisible; } public void setTagToolTipsVisible(boolean tagToolTipsVisible) { this.tagToolTipsVisible = tagToolTipsVisible; } public boolean isOptimizeSignalDisplay() { return optimizeSignalDisplay; } public void setOptimizeSignalDisplay(boolean optimizeSignalDisplay) { this.optimizeSignalDisplay = optimizeSignalDisplay; } public boolean isPageLinesVisible() { return pageLinesVisible; } public void setPageLinesVisible(boolean pageLinesVisible) { this.pageLinesVisible = pageLinesVisible; } public boolean isBlockLinesVisible() { return blockLinesVisible; } public void setBlockLinesVisible(boolean blockLinesVisible) { this.blockLinesVisible = blockLinesVisible; } public boolean isChannelLinesVisible() { return channelLinesVisible; } public void setChannelLinesVisible(boolean channelLinesVisible) { this.channelLinesVisible = channelLinesVisible; } public TagPaintMode getTagPaintMode() { return tagPaintMode; } public void setTagPaintMode(TagPaintMode tagPaintMode) { this.tagPaintMode = tagPaintMode; } public SignalColor getSignalColor() { return signalColor; } public void setSignalColor(SignalColor signalColor) { this.signalColor = signalColor; } public boolean isSignalXOR() { return signalXOR; } public void setSignalXOR(boolean signalXOR) { this.signalXOR = signalXOR; } public float getPageSize() { return pageSize; } public void setPageSize(float pageSize) { this.pageSize = pageSize; } public int getBlocksPerPage() { return blocksPerPage; } public void setBlocksPerPage(int blocksPerPage) { this.blocksPerPage = blocksPerPage; } public boolean isRestoreWorkspace() { return restoreWorkspace; } public void setRestoreWorkspace(boolean restoreWorkspace) { this.restoreWorkspace = restoreWorkspace; } public boolean isSaveFullMontageWithTag() { return saveFullMontageWithTag; } public void setSaveFullMontageWithTag(boolean saveFullMontageWithTag) { this.saveFullMontageWithTag = saveFullMontageWithTag; } public boolean isViewModeHidesMainToolBar() { return viewModeHidesMainToolBar; } public void setViewModeHidesMainToolBar(boolean viewModeHidesMainToolBar) { this.viewModeHidesMainToolBar = viewModeHidesMainToolBar; } public boolean isViewModeHidesLeftPanel() { return viewModeHidesLeftPanel; } public void setViewModeHidesLeftPanel(boolean viewModeHidesLeftPanel) { this.viewModeHidesLeftPanel = viewModeHidesLeftPanel; } public boolean isViewModeHidesBottomPanel() { return viewModeHidesBottomPanel; } public void setViewModeHidesBottomPanel(boolean viewModeHidesBottomPanel) { this.viewModeHidesBottomPanel = viewModeHidesBottomPanel; } public boolean isViewModeCompactsPageTagBars() { return viewModeCompactsPageTagBars; } public void setViewModeCompactsPageTagBars(boolean viewModeCompactsPageTagBars) { this.viewModeCompactsPageTagBars = viewModeCompactsPageTagBars; } public boolean isViewModeSnapsToPage() { return viewModeSnapsToPage; } public void setViewModeSnapsToPage(boolean viewModeSnapsToPage) { this.viewModeSnapsToPage = viewModeSnapsToPage; } public int getToolTipInitialDelay() { return toolTipInitialDelay; } public void setToolTipInitialDelay(int toolTipInitialDelay) { this.toolTipInitialDelay = toolTipInitialDelay; } public int getToolTipDismissDelay() { return toolTipDismissDelay; } public void setToolTipDismissDelay(int toolTipDismissDelay) { this.toolTipDismissDelay = toolTipDismissDelay; } public ZoomSignalSettings getZoomSignalSettings() { return zoomSignalSettings; } public void setZoomSignalSettings(ZoomSignalSettings zoomSignalSettings) { this.zoomSignalSettings = zoomSignalSettings; } public int getMinChannelHeight() { return minChannelHeight; } public void setMinChannelHeight(int minChannelHeight) { this.minChannelHeight = minChannelHeight; } public int getMaxChannelHeight() { return maxChannelHeight; } public void setMaxChannelHeight(int maxChannelHeight) { this.maxChannelHeight = maxChannelHeight; } public int getMinValueScale() { return minValueScale; } public void setMinValueScale(int minValueScale) { this.minValueScale = minValueScale; } public int getMaxValueScale() { return maxValueScale; } public void setMaxValueScale(int maxValueScale) { this.maxValueScale = maxValueScale; } public double getMinTimeScale() { return minTimeScale; } public void setMinTimeScale(double minTimeScale) { this.minTimeScale = minTimeScale; } public double getMaxTimeScale() { return maxTimeScale; } public void setMaxTimeScale(double maxTimeScale) { this.maxTimeScale = maxTimeScale; } public String getLastLibraryPath() { return lastLibraryPath; } public void setLastLibraryPath(String lastLibraryPath) { this.lastLibraryPath = lastLibraryPath; } public WignerMapPalette getPalette() { return palette; } public void setPalette(WignerMapPalette palette) { this.palette = palette; } public WignerMapScaleType getScaleType() { return scaleType; } public void setScaleType(WignerMapScaleType scaleType) { this.scaleType = scaleType; } public boolean isSignalInBookAntialiased() { return signalInBookAntialiased; } public void setSignalInBookAntialiased(boolean signalAntialiased) { this.signalInBookAntialiased = signalAntialiased; } public boolean isOriginalSignalVisible() { return originalSignalVisible; } public void setOriginalSignalVisible(boolean originalSignalVisible) { this.originalSignalVisible = originalSignalVisible; } public boolean isFullReconstructionVisible() { return fullReconstructionVisible; } public void setFullReconstructionVisible(boolean fullReconstructionVisible) { this.fullReconstructionVisible = fullReconstructionVisible; } public boolean isReconstructionVisible() { return reconstructionVisible; } public void setReconstructionVisible(boolean reconstructionVisible) { this.reconstructionVisible = reconstructionVisible; } public boolean isLegendVisible() { return legendVisible; } public void setLegendVisible(boolean legendVisible) { this.legendVisible = legendVisible; } public boolean isScaleVisible() { return scaleVisible; } public void setScaleVisible(boolean scaleVisible) { this.scaleVisible = scaleVisible; } public boolean isAxesVisible() { return axesVisible; } public void setAxesVisible(boolean axesVisible) { this.axesVisible = axesVisible; } public boolean isAtomToolTipsVisible() { return atomToolTipsVisible; } public void setAtomToolTipsVisible(boolean atomToolTipsVisible) { this.atomToolTipsVisible = atomToolTipsVisible; } public int getMapAspectRatioUp() { return mapAspectRatioUp; } public void setMapAspectRatioUp(int mapAspectRatioUp) { this.mapAspectRatioUp = mapAspectRatioUp; } public int getMapAspectRatioDown() { return mapAspectRatioDown; } public void setMapAspectRatioDown(int mapAspectRatioDown) { this.mapAspectRatioDown = mapAspectRatioDown; } public int getReconstructionHeight() { return reconstructionHeight; } public void setReconstructionHeight(int reconstructionHeight) { this.reconstructionHeight = reconstructionHeight; } public float getMonitorPageSize() { return monitorPageSize; } public void setMonitorPageSize(float monitorPageSize) { this.monitorPageSize = monitorPageSize; } /** * Query configuration of various paths by name. * @return configuration value or null * @param name name is the same as function name without get * */ public String getPath(String name) { if ("LastPresetPath".equals(name)) return this.getLastPresetPath(); else if ("LastLibraryPath".equals(name)) return this.getLastLibraryPath(); return this.getLastFileChooserPath(); } /** * Set configuration value of paths by name. * @return configuration value or null * @param name name is the same as function name without set * */ public void setPath(String name, String path) { if ("LastPresetPath".equals(name)) this.setLastPresetPath(path); else if ("LastLibraryPath".equals(name)) this.setLastLibraryPath(path); else this.setLastFileChooserPath(path); } public String getLastFileChooserPath() { if (lastFileChooserPath == null) lastFileChooserPath = System.getProperty("user.dir"); return lastFileChooserPath; } public void setLastFileChooserPath(String lastFileChooserPath) { this.lastFileChooserPath = lastFileChooserPath; } public String getLastPresetPath() { return lastPresetPath; } public void setLastPresetPath(String lastPresetPath) { this.lastPresetPath = lastPresetPath; } public String getOpenbciIPAddress() { return openbciIPAddress; } public void setOpenbciIPAddress(String openbciIPAddress) { this.openbciIPAddress = openbciIPAddress; } public int getOpenbciPort() { return openbciPort; } public void setOpenbciPort(int openbciPort) { this.openbciPort = openbciPort; } public boolean isAutoAddHighpassFilter() { return autoAddHighpassFilter; } public void setAutoAddHighpassFilter(boolean autoAddHighpassFilter) { this.autoAddHighpassFilter = autoAddHighpassFilter; } public boolean isAutoTryToLoadSignalWithTags() { return autoTryToLoadSignalWithTags; } public void setAutoTryToLoadSignalWithTags(boolean autoTryToLoadTags) { this.autoTryToLoadSignalWithTags = autoTryToLoadTags; } }