Sweet Home 3D 3.4

com.eteks.sweethome3d.io
Class FileUserPreferences

java.lang.Object
  extended by com.eteks.sweethome3d.model.UserPreferences
      extended by com.eteks.sweethome3d.io.FileUserPreferences

public class FileUserPreferences
extends UserPreferences

User preferences initialized from default user preferences and stored in user preferences on local file system.

Author:
Emmanuel Puybaret

Nested Class Summary
 
Nested classes/interfaces inherited from class com.eteks.sweethome3d.model.UserPreferences
UserPreferences.Property
 
Constructor Summary
FileUserPreferences()
          Creates user preferences read from user preferences in file system, and from resource files.
FileUserPreferences(java.io.File preferencesFolder, java.io.File[] applicationFolders)
          Creates user preferences stored in the folders given in parameter.
 
Method Summary
 void addFurnitureLibrary(java.lang.String furnitureLibraryName)
          Adds the file furnitureLibraryName to the first furniture libraries folder to make the furniture library available to catalog.
 void addLanguageLibrary(java.lang.String languageLibraryName)
          Adds languageLibraryName to the first language libraries folder to make the language library it contains available to supported languages.
 void addTexturesLibrary(java.lang.String texturesLibraryName)
          Adds the file texturesLibraryName to the first textures libraries folder to make the textures library available to catalog.
 boolean furnitureLibraryExists(java.lang.String name)
          Returns true if the given furniture library file exists in the first furniture libraries folder.
 java.io.File getApplicationFolder()
          Returns the first Sweet Home 3D application folder.
 java.io.File[] getApplicationFolders()
          Returns Sweet Home 3D application folders.
 java.io.File[] getApplicationSubfolders(java.lang.String subfolder)
          Returns subfolders of Sweet Home 3D application folders of a given name.
protected  java.util.prefs.Preferences getPreferences()
          Returns default Java preferences for current system user.
 java.util.List<java.lang.ClassLoader> getResourceClassLoaders()
          Returns the default class loader of user preferences and the class loaders that give access to resources in language libraries plugin folder.
 boolean isActionTipIgnored(java.lang.String actionKey)
          Returns whether an action tip should be ignored or not.
 boolean languageLibraryExists(java.lang.String name)
          Returns true if the given language library exists in the first language libraries folder.
 void resetIgnoredActionTips()
          Resets the display flag of action tips.
 void setActionTipIgnored(java.lang.String actionKey)
          Sets which action tip should be ignored.
 boolean texturesLibraryExists(java.lang.String name)
          Returns true if the given textures library file exists in the first textures libraries folder.
 void write()
          Writes user preferences in current user preferences in system.
 
Methods inherited from class com.eteks.sweethome3d.model.UserPreferences
addAutoCompletionString, addPropertyChangeListener, getAutoCompletedProperties, getAutoCompletionStrings, getAutoSaveDelayForRecovery, getCurrency, getDefaultSupportedLanguages, getDefaultTextStyle, getFurnitureCatalog, getLanguage, getLengthUnit, getLocalizedString, getLocalizedString, getNewFloorThickness, getNewWallHeight, getNewWallThickness, getPatternsCatalog, getRecentHomes, getRecentHomesMaxCount, getSupportedLanguages, getTexturesCatalog, getWallPattern, isFurnitureCatalogViewedInTree, isFurnitureViewedFromTop, isGridVisible, isLanguageEditable, isMagnetismEnabled, isNavigationPanelVisible, isRoomFloorColoredOrTextured, isRulersVisible, removePropertyChangeListener, setAutoCompletionStrings, setAutoSaveDelayForRecovery, setCurrency, setFloorColoredOrTextured, setFurnitureCatalog, setFurnitureCatalogViewedInTree, setFurnitureViewedFromTop, setGridVisible, setLanguage, setMagnetismEnabled, setNavigationPanelVisible, setNewFloorThickness, setNewWallHeight, setNewWallThickness, setPatternsCatalog, setRecentHomes, setRulersVisible, setSupportedLanguages, setTexturesCatalog, setUnit, setWallPattern
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileUserPreferences

public FileUserPreferences()
Creates user preferences read from user preferences in file system, and from resource files.


FileUserPreferences

public FileUserPreferences(java.io.File preferencesFolder,
                           java.io.File[] applicationFolders)
Creates user preferences stored in the folders given in parameter.

Parameters:
preferencesFolder - the folder where preferences files are stored or null if this folder is the default one.
applicationFolders - the folders where application private files are stored or null if it's the default one. As the first application folder is used as the folder where plug-ins files are imported by the user, it should have write access otherwise the user won't be able to import them.
Method Detail

getResourceClassLoaders

public java.util.List<java.lang.ClassLoader> getResourceClassLoaders()
Returns the default class loader of user preferences and the class loaders that give access to resources in language libraries plugin folder.

Overrides:
getResourceClassLoaders in class UserPreferences

write

public void write()
           throws RecorderException
Writes user preferences in current user preferences in system.

Specified by:
write in class UserPreferences
Throws:
RecorderException - if user preferences couldn'y be saved.

getApplicationFolder

public java.io.File getApplicationFolder()
                                  throws java.io.IOException
Returns the first Sweet Home 3D application folder.

Throws:
java.io.IOException

getApplicationFolders

public java.io.File[] getApplicationFolders()
                                     throws java.io.IOException
Returns Sweet Home 3D application folders.

Throws:
java.io.IOException

getApplicationSubfolders

public java.io.File[] getApplicationSubfolders(java.lang.String subfolder)
                                        throws java.io.IOException
Returns subfolders of Sweet Home 3D application folders of a given name.

Throws:
java.io.IOException

getPreferences

protected java.util.prefs.Preferences getPreferences()
Returns default Java preferences for current system user. Caution : This method is called once in constructor so overriding implementations shouldn't be based on the state of their fields.


setActionTipIgnored

public void setActionTipIgnored(java.lang.String actionKey)
Sets which action tip should be ignored.

Overrides:
setActionTipIgnored in class UserPreferences

isActionTipIgnored

public boolean isActionTipIgnored(java.lang.String actionKey)
Returns whether an action tip should be ignored or not.

Overrides:
isActionTipIgnored in class UserPreferences

resetIgnoredActionTips

public void resetIgnoredActionTips()
Resets the display flag of action tips.

Overrides:
resetIgnoredActionTips in class UserPreferences

languageLibraryExists

public boolean languageLibraryExists(java.lang.String name)
                              throws RecorderException
Returns true if the given language library exists in the first language libraries folder.

Specified by:
languageLibraryExists in class UserPreferences
Parameters:
name - the name of the resource to check
Throws:
RecorderException

addLanguageLibrary

public void addLanguageLibrary(java.lang.String languageLibraryName)
                        throws RecorderException
Adds languageLibraryName to the first language libraries folder to make the language library it contains available to supported languages.

Specified by:
addLanguageLibrary in class UserPreferences
Parameters:
languageLibraryName - the name of the resource in which the library will be written.
Throws:
RecorderException

furnitureLibraryExists

public boolean furnitureLibraryExists(java.lang.String name)
                               throws RecorderException
Returns true if the given furniture library file exists in the first furniture libraries folder.

Specified by:
furnitureLibraryExists in class UserPreferences
Parameters:
name - the name of the resource to check
Throws:
RecorderException

addFurnitureLibrary

public void addFurnitureLibrary(java.lang.String furnitureLibraryName)
                         throws RecorderException
Adds the file furnitureLibraryName to the first furniture libraries folder to make the furniture library available to catalog.

Specified by:
addFurnitureLibrary in class UserPreferences
Parameters:
furnitureLibraryName - the name of the resource in which the library will be written.
Throws:
RecorderException

texturesLibraryExists

public boolean texturesLibraryExists(java.lang.String name)
                              throws RecorderException
Returns true if the given textures library file exists in the first textures libraries folder.

Specified by:
texturesLibraryExists in class UserPreferences
Parameters:
name - the name of the resource to check
Throws:
RecorderException

addTexturesLibrary

public void addTexturesLibrary(java.lang.String texturesLibraryName)
                        throws RecorderException
Adds the file texturesLibraryName to the first textures libraries folder to make the textures library available to catalog.

Specified by:
addTexturesLibrary in class UserPreferences
Parameters:
texturesLibraryName - the name of the resource in which the library will be written.
Throws:
RecorderException

Sweet Home 3D 3.4

? Copyrights 2006-2011 eTeks - All rights reserved
Distributed under GNU General Public License