org.merlotxml.merlot
Class XMLEditorSettings

java.lang.Object
  extended byorg.merlotxml.merlot.XMLEditorSettings
All Implemented Interfaces:
MerlotConstants

public class XMLEditorSettings
extends java.lang.Object
implements MerlotConstants

Settings access for the app

Author:
Kelly A. Campbell

Field Summary
protected  java.util.Properties _defaultProps
           
protected  java.lang.String[] _editorList
           
protected  java.util.Hashtable _icons
           
protected  java.lang.String[] _openFiles
           
protected  java.util.Properties _props
           
protected  java.lang.String _propsFile
           
protected static XMLEditorSettings _settings
           
protected  MerlotSplashScreen _splash
           
protected  java.util.Properties _userProps
           
protected static java.lang.String APP_ICON_LARGE
           
protected static java.lang.String APP_ICON_SMALL
           
protected static java.lang.String APPICON_LOADER
           
protected static java.lang.String ATT_PANEL_HEIGHT
           
protected static java.lang.String ATT_PANEL_WIDTH
           
protected static java.lang.String AUTO_ADD_NODES
           
protected static java.lang.String BKG_COLOR
           
protected static java.lang.String BKG_PICTURE
           
protected static java.lang.String BOT_DISPLACE
           
protected static java.lang.String COLUMN_WIDTH
           
protected static java.lang.String COUNTRY
           
protected static java.lang.String DEBUG_MODE
          Various debugging stuff like opening a certain file quickly instead of making the user walk through the file chooser
protected static java.lang.String DEFAULT_EDITOR
           
protected static java.lang.String DEFAULT_LF
           
protected static java.lang.String DEFAULT_LIB
           
protected static java.lang.String DEFAULT_SCHEMA_EDITOR
           
protected static java.lang.String DESKTOP_HEIGHT
           
protected static java.lang.String DESKTOP_WIDTH
           
protected static java.lang.String DOM_LIAISON
           
protected static java.lang.String EDIT_PANEL_HEIGHT
           
protected static java.lang.String EDIT_PANEL_WIDTH
           
protected static java.lang.String EDITOR_HEIGHT
           
protected static java.lang.String EDITOR_LIST
           
protected static java.lang.String EDITOR_WIDTH
           
protected static java.lang.String EDITOR_X
           
protected static java.lang.String EDITOR_Y
           
static java.lang.String FILESEP
           
protected static java.lang.String FILTER_NODES
           
protected static java.lang.String FRAME_TITLE
           
protected static java.lang.String ICON_DIR_PROP
           
protected static java.lang.String ICON_LOADER
           
protected static java.lang.String ICON_PROP_FILE
           
protected static java.lang.String INSET
           
protected static java.lang.String LANGUAGE
           
static int LARGE_ICON
           
static int LINUX
           
static int MACOS
           
protected static java.lang.String MERLOT_GRAPHICS_DIR
           
protected static java.lang.String MERLOT_ICON_PREFIX
           
protected static java.lang.String MERLOT_PLUGIN_PATH
           
protected static java.lang.String MERLOT_RESOURCE_PATH
           
protected static java.lang.String RECENT_FILE_PREFIX
           
protected static java.lang.String RESOURCE_PACKAGE
           
static int SMALL_ICON
           
static int SOLARIS
           
protected static java.lang.String SPLASH_SCREEN
           
protected static java.lang.String SPLIT_PANE_H
           
protected static java.lang.String SPLIT_PANE_V
           
protected static java.lang.String SUPPRESS_ADD
           
protected static java.lang.String TOP_DISPLACE
           
protected static java.lang.String TREE_PANEL_HEIGHT
           
protected static java.lang.String TREE_PANEL_WIDTH
           
protected static java.lang.String UNDO_LIMIT
           
static java.lang.String USER_DIR
           
static java.io.File USER_MERLOT_DIR
           
protected static java.lang.String VARIANT
           
protected static java.lang.String WEBDAV_SERVER
           
protected static java.lang.String WEBDAV_USER
           
static int WINDOWS
           
static java.lang.String WORKING_DIR
           
protected static java.lang.String WRITE_ATTS
           
 
Fields inherited from interface org.merlotxml.merlot.MerlotConstants
ACTION_MENU_ACCELERATOR, ACTION_MENU_ICON, ACTION_NAME, ACTION_SHORT_DESCRIPTION, ACTION_SMALL_ICON, AFTER, BEFORE, ERR, INTO, UI, XML
 
Constructor Summary
XMLEditorSettings(java.lang.String[] args)
           
XMLEditorSettings(java.lang.String[] args, boolean showSplash)
           
 
Method Summary
protected  void addIcon(java.lang.String key, java.lang.String filename)
          loads an imageicon and adds it to the icons hashtable
 void addRecentFile(java.io.File f)
           
 void addRecentFile(java.lang.String fullPath)
           
 void closeSplash()
           
 boolean debugModeOn()
           
 javax.swing.ImageIcon getAppIconLarge()
           
 javax.swing.ImageIcon getAppIconSmall()
           
 java.awt.Dimension getAttributePanelDimension()
           
 java.awt.Color getBackgroundColor()
          Gets the property named 'background.color'
 javax.swing.ImageIcon getBackgroundImage()
          Gets the background picture specified in the properties if it exists
 int getBottomDisplacement()
           
 int getColumnWidth(java.lang.String name)
          Returns the stored width of the column called name
 java.lang.String getDefaultEditor()
           
 java.lang.String getDefaultLibrary()
           
 java.util.Properties getDefaultProperties()
           
 java.util.Properties getDefaults()
           
 java.lang.String getDefaultSchemaEditor()
           
 java.awt.Dimension getDeskTopDimension()
           
 java.lang.String getDOMLiaisonClassname()
           
 java.awt.Rectangle getEditorBounds()
           
 java.lang.String getEditors()
           
 java.awt.Dimension getEditPanelDimension()
           
 int getFrameInset()
           
 java.lang.String getFrameTitle()
           
 int getHorizontalSplitPanePercentage()
           
 javax.swing.ImageIcon getIcon(java.lang.String name, int size)
          This returns an image icon for the given name and size (SMALL, LARGE).
 java.util.Locale getLocale()
           
 java.lang.String getLookAndFeel()
           
 java.lang.String[] getOpenFiles()
           
static int getOSType()
           
 java.util.List getPluginPath()
          returns the plugin path property all parsed up into separate directories
 java.util.List getPluginURLs()
           
 java.util.Properties getProperties()
           
 java.lang.String getProperty(java.lang.String s)
           
 java.util.ArrayList getRecentFiles()
           
 java.lang.String getResourcePackage()
           
static XMLEditorSettings getSharedInstance()
           
 javax.swing.ImageIcon getSplashScreenImage()
           
 boolean getSuppressAddMenuItems()
           
 int getTopDisplacement()
           
 java.awt.Dimension getTreePanelDimension()
           
 int getUndoLimit()
           
protected  void initIcons()
          Initializes our icon cache in it's own thread
 boolean isDebugOn()
           
 boolean isFilteringNodes()
           
protected  java.util.Properties loadDefPropsFile(java.util.Properties defaults)
           
 javax.swing.ImageIcon loadImage(java.lang.String filename, java.lang.String loaderclassname)
           
protected  javax.swing.ImageIcon loadImage(java.lang.String filename, java.lang.String imgldrclass, boolean recursing)
           
protected  javax.swing.ImageIcon loadImageFromProp(java.lang.String propname)
           
protected  java.lang.String loadKeys(java.lang.String str)
           
protected  java.util.Properties loadPropsFile(java.util.Properties defaults)
           
protected  java.lang.String[] parseArgs(java.lang.String[] args)
           
protected  void printUsage(java.lang.String msg)
           
protected  void reparseDefines(java.lang.String[] args)
           
 void saveProperties(java.util.Properties props)
           
protected  void saveSplitPaneSetup(XMLEditorDocUI ui)
           
 void saveUserProperties()
           
 void setProperty(java.lang.String propertyName, java.lang.String propertyValue)
          This allows a property to be set/modified Useful within plugin architecture so that some kind of memory can be achieved - i.e.
 void showSplashStatus(java.lang.String s)
           
 void startSplashScreen()
           
 boolean useJFileChooser()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LARGE_ICON

public static final int LARGE_ICON
See Also:
Constant Field Values

SMALL_ICON

public static final int SMALL_ICON
See Also:
Constant Field Values

APP_ICON_SMALL

protected static final java.lang.String APP_ICON_SMALL
See Also:
Constant Field Values

APP_ICON_LARGE

protected static final java.lang.String APP_ICON_LARGE
See Also:
Constant Field Values

BKG_COLOR

protected static final java.lang.String BKG_COLOR
See Also:
Constant Field Values

BKG_PICTURE

protected static final java.lang.String BKG_PICTURE
See Also:
Constant Field Values

FRAME_TITLE

protected static final java.lang.String FRAME_TITLE
See Also:
Constant Field Values

INSET

protected static final java.lang.String INSET
See Also:
Constant Field Values

TOP_DISPLACE

protected static final java.lang.String TOP_DISPLACE
See Also:
Constant Field Values

BOT_DISPLACE

protected static final java.lang.String BOT_DISPLACE
See Also:
Constant Field Values

DOM_LIAISON

protected static final java.lang.String DOM_LIAISON
See Also:
Constant Field Values

FILTER_NODES

protected static final java.lang.String FILTER_NODES
See Also:
Constant Field Values

DEBUG_MODE

protected static final java.lang.String DEBUG_MODE
Various debugging stuff like opening a certain file quickly instead of making the user walk through the file chooser

See Also:
Constant Field Values

SUPPRESS_ADD

protected static final java.lang.String SUPPRESS_ADD
See Also:
Constant Field Values

WRITE_ATTS

protected static final java.lang.String WRITE_ATTS
See Also:
Constant Field Values

AUTO_ADD_NODES

protected static final java.lang.String AUTO_ADD_NODES
See Also:
Constant Field Values

EDITOR_LIST

protected static final java.lang.String EDITOR_LIST
See Also:
Constant Field Values

ICON_DIR_PROP

protected static final java.lang.String ICON_DIR_PROP
See Also:
Constant Field Values

ICON_PROP_FILE

protected static final java.lang.String ICON_PROP_FILE
See Also:
Constant Field Values

MERLOT_ICON_PREFIX

protected static final java.lang.String MERLOT_ICON_PREFIX
See Also:
Constant Field Values

DEFAULT_LF

protected static final java.lang.String DEFAULT_LF
See Also:
Constant Field Values

DEFAULT_LIB

protected static final java.lang.String DEFAULT_LIB
See Also:
Constant Field Values

DEFAULT_EDITOR

protected static final java.lang.String DEFAULT_EDITOR
See Also:
Constant Field Values

DEFAULT_SCHEMA_EDITOR

protected static final java.lang.String DEFAULT_SCHEMA_EDITOR
See Also:
Constant Field Values

SPLASH_SCREEN

protected static final java.lang.String SPLASH_SCREEN
See Also:
Constant Field Values

RESOURCE_PACKAGE

protected static final java.lang.String RESOURCE_PACKAGE
See Also:
Constant Field Values

COUNTRY

protected static final java.lang.String COUNTRY
See Also:
Constant Field Values

LANGUAGE

protected static final java.lang.String LANGUAGE
See Also:
Constant Field Values

VARIANT

protected static final java.lang.String VARIANT
See Also:
Constant Field Values

MERLOT_GRAPHICS_DIR

protected static final java.lang.String MERLOT_GRAPHICS_DIR
See Also:
Constant Field Values

ICON_LOADER

protected static final java.lang.String ICON_LOADER
See Also:
Constant Field Values

APPICON_LOADER

protected static final java.lang.String APPICON_LOADER
See Also:
Constant Field Values

MERLOT_RESOURCE_PATH

protected static final java.lang.String MERLOT_RESOURCE_PATH
See Also:
Constant Field Values

UNDO_LIMIT

protected static final java.lang.String UNDO_LIMIT
See Also:
Constant Field Values

MERLOT_PLUGIN_PATH

protected static final java.lang.String MERLOT_PLUGIN_PATH
See Also:
Constant Field Values

FILESEP

public static java.lang.String FILESEP

USER_DIR

public static java.lang.String USER_DIR

WORKING_DIR

public static java.lang.String WORKING_DIR

USER_MERLOT_DIR

public static java.io.File USER_MERLOT_DIR

_propsFile

protected java.lang.String _propsFile

_props

protected java.util.Properties _props

_defaultProps

protected java.util.Properties _defaultProps

_userProps

protected java.util.Properties _userProps

_editorList

protected java.lang.String[] _editorList

_openFiles

protected java.lang.String[] _openFiles

_icons

protected java.util.Hashtable _icons

_settings

protected static XMLEditorSettings _settings

_splash

protected MerlotSplashScreen _splash

RECENT_FILE_PREFIX

protected static final java.lang.String RECENT_FILE_PREFIX
See Also:
Constant Field Values

EDITOR_X

protected static final java.lang.String EDITOR_X
See Also:
Constant Field Values

EDITOR_Y

protected static final java.lang.String EDITOR_Y
See Also:
Constant Field Values

EDITOR_WIDTH

protected static final java.lang.String EDITOR_WIDTH
See Also:
Constant Field Values

EDITOR_HEIGHT

protected static final java.lang.String EDITOR_HEIGHT
See Also:
Constant Field Values

DESKTOP_WIDTH

protected static final java.lang.String DESKTOP_WIDTH
See Also:
Constant Field Values

DESKTOP_HEIGHT

protected static final java.lang.String DESKTOP_HEIGHT
See Also:
Constant Field Values

SPLIT_PANE_V

protected static final java.lang.String SPLIT_PANE_V
See Also:
Constant Field Values

SPLIT_PANE_H

protected static final java.lang.String SPLIT_PANE_H
See Also:
Constant Field Values

EDIT_PANEL_HEIGHT

protected static final java.lang.String EDIT_PANEL_HEIGHT
See Also:
Constant Field Values

EDIT_PANEL_WIDTH

protected static final java.lang.String EDIT_PANEL_WIDTH
See Also:
Constant Field Values

TREE_PANEL_HEIGHT

protected static final java.lang.String TREE_PANEL_HEIGHT
See Also:
Constant Field Values

TREE_PANEL_WIDTH

protected static final java.lang.String TREE_PANEL_WIDTH
See Also:
Constant Field Values

ATT_PANEL_HEIGHT

protected static final java.lang.String ATT_PANEL_HEIGHT
See Also:
Constant Field Values

ATT_PANEL_WIDTH

protected static final java.lang.String ATT_PANEL_WIDTH
See Also:
Constant Field Values

WEBDAV_SERVER

protected static final java.lang.String WEBDAV_SERVER
See Also:
Constant Field Values

WEBDAV_USER

protected static final java.lang.String WEBDAV_USER
See Also:
Constant Field Values

COLUMN_WIDTH

protected static final java.lang.String COLUMN_WIDTH
See Also:
Constant Field Values

WINDOWS

public static final int WINDOWS
See Also:
Constant Field Values

SOLARIS

public static final int SOLARIS
See Also:
Constant Field Values

LINUX

public static final int LINUX
See Also:
Constant Field Values

MACOS

public static final int MACOS
See Also:
Constant Field Values
Constructor Detail

XMLEditorSettings

public XMLEditorSettings(java.lang.String[] args,
                         boolean showSplash)

XMLEditorSettings

public XMLEditorSettings(java.lang.String[] args)
Method Detail

getDefaults

public java.util.Properties getDefaults()

setProperty

public void setProperty(java.lang.String propertyName,
                        java.lang.String propertyValue)
This allows a property to be set/modified Useful within plugin architecture so that some kind of memory can be achieved - i.e. last directory accessed, username/password last used etc.


reparseDefines

protected void reparseDefines(java.lang.String[] args)

parseArgs

protected java.lang.String[] parseArgs(java.lang.String[] args)
Returns:
An array of file names to open, or an empty array if none were supplied.

getOpenFiles

public java.lang.String[] getOpenFiles()

printUsage

protected void printUsage(java.lang.String msg)

loadDefPropsFile

protected java.util.Properties loadDefPropsFile(java.util.Properties defaults)

loadPropsFile

protected java.util.Properties loadPropsFile(java.util.Properties defaults)

getProperty

public java.lang.String getProperty(java.lang.String s)

getProperties

public java.util.Properties getProperties()

getDefaultProperties

public java.util.Properties getDefaultProperties()

getSharedInstance

public static XMLEditorSettings getSharedInstance()

getBackgroundImage

public javax.swing.ImageIcon getBackgroundImage()
Gets the background picture specified in the properties if it exists

Returns:
ImageIcon of the background pic or null if not found

getAppIconSmall

public javax.swing.ImageIcon getAppIconSmall()

getAppIconLarge

public javax.swing.ImageIcon getAppIconLarge()

loadImage

public javax.swing.ImageIcon loadImage(java.lang.String filename,
                                       java.lang.String loaderclassname)

loadImage

protected javax.swing.ImageIcon loadImage(java.lang.String filename,
                                          java.lang.String imgldrclass,
                                          boolean recursing)

loadImageFromProp

protected javax.swing.ImageIcon loadImageFromProp(java.lang.String propname)

getBackgroundColor

public java.awt.Color getBackgroundColor()
Gets the property named 'background.color'

Returns:
the color property or a default color of Black

getFrameInset

public int getFrameInset()

getFrameTitle

public java.lang.String getFrameTitle()

getTopDisplacement

public int getTopDisplacement()

getBottomDisplacement

public int getBottomDisplacement()

getDOMLiaisonClassname

public java.lang.String getDOMLiaisonClassname()

isFilteringNodes

public boolean isFilteringNodes()

isDebugOn

public boolean isDebugOn()

debugModeOn

public boolean debugModeOn()

getSuppressAddMenuItems

public boolean getSuppressAddMenuItems()

getEditors

public java.lang.String getEditors()

getDefaultEditor

public java.lang.String getDefaultEditor()

getDefaultSchemaEditor

public java.lang.String getDefaultSchemaEditor()

initIcons

protected void initIcons()
Initializes our icon cache in it's own thread


addIcon

protected void addIcon(java.lang.String key,
                       java.lang.String filename)
loads an imageicon and adds it to the icons hashtable


getIcon

public javax.swing.ImageIcon getIcon(java.lang.String name,
                                     int size)
This returns an image icon for the given name and size (SMALL, LARGE). If the icon isn't found, null is returned


getLookAndFeel

public java.lang.String getLookAndFeel()

getDefaultLibrary

public java.lang.String getDefaultLibrary()

getSplashScreenImage

public javax.swing.ImageIcon getSplashScreenImage()

startSplashScreen

public void startSplashScreen()

showSplashStatus

public void showSplashStatus(java.lang.String s)

closeSplash

public void closeSplash()

getResourcePackage

public java.lang.String getResourcePackage()

getLocale

public java.util.Locale getLocale()

getUndoLimit

public int getUndoLimit()

loadKeys

protected java.lang.String loadKeys(java.lang.String str)
                             throws java.util.MissingResourceException,
                                    java.lang.UnsupportedOperationException
Throws:
java.util.MissingResourceException
java.lang.UnsupportedOperationException

useJFileChooser

public boolean useJFileChooser()

addRecentFile

public void addRecentFile(java.io.File f)

addRecentFile

public void addRecentFile(java.lang.String fullPath)

getRecentFiles

public java.util.ArrayList getRecentFiles()

getOSType

public static int getOSType()

saveProperties

public void saveProperties(java.util.Properties props)

getPluginPath

public java.util.List getPluginPath()
returns the plugin path property all parsed up into separate directories

Returns:
List containing valid File objects which are directories containing plugins

getPluginURLs

public java.util.List getPluginURLs()
                             throws java.net.MalformedURLException
Returns:
A list of URLs that identify plugins that should be made available
Throws:
java.net.MalformedURLException

getEditorBounds

public java.awt.Rectangle getEditorBounds()

getDeskTopDimension

public java.awt.Dimension getDeskTopDimension()

getEditPanelDimension

public java.awt.Dimension getEditPanelDimension()

getTreePanelDimension

public java.awt.Dimension getTreePanelDimension()

getAttributePanelDimension

public java.awt.Dimension getAttributePanelDimension()

getColumnWidth

public int getColumnWidth(java.lang.String name)
Returns the stored width of the column called name


saveUserProperties

public void saveUserProperties()

saveSplitPaneSetup

protected void saveSplitPaneSetup(XMLEditorDocUI ui)

getHorizontalSplitPanePercentage

public int getHorizontalSplitPanePercentage()