blob: 0766b4002ac5b96110cf4b28490d7311b239fb52 [file] [log] [blame]
//------------------------------------------------------------------------------
// Copyright (c) 2005, 2006 IBM Corporation and others.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// Contributors:
// IBM Corporation - initial implementation
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui.preferences;
import java.io.File;
import org.eclipse.epf.common.preferences.IPreferenceStoreWrapper;
import org.eclipse.epf.common.ui.CommonUIPlugin;
import org.eclipse.epf.library.LibraryPlugin;
import org.eclipse.epf.library.prefs.LibraryPreferenceConstants;
import org.eclipse.epf.library.ui.preferences.LibraryUIPreferences;
import org.eclipse.jface.preference.IPreferenceStore;
/**
* Location Data for library
*
* @author BingXue Xu
* @since 1.0
* fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=157401
*/
public class LibraryLocationData {
private String parentFolder;
private String libName;
private String libBriefDescription;
private boolean isSingleLibFile;
private boolean defLibDirChecked;
protected static final String libraryFile = "library.xmi"; //$NON-NLS-1$
/**
* @return Returns the isOkPressed.
*/
public boolean isOkPressed() {
return isOkPressed;
}
/**
* @param isOkPressed
* The isOkPressed to set.
*/
public void setOkPressed(boolean isOkPressed) {
this.isOkPressed = isOkPressed;
}
private boolean isOkPressed;
/**
* @return Returns the isSingleLibFile.
*/
public boolean isSingleLibFile() {
return isSingleLibFile;
}
/**
* @param isSingleLibFile
* The isSingleLibFile to set.
*/
public void setSingleLibFile(boolean isSingleLibFile) {
this.isSingleLibFile = isSingleLibFile;
}
/**
* @return Returns the libName.
*/
public String getLibName() {
return libName;
}
/**
*
* @return Full path of library.xmi
*/
public String getLibraryFile() {
return getParentFolder() + File.separator + libraryFile;
}
/**
* @param libName
* The libName to set.
*/
public void setLibName(String libName) {
this.libName = libName;
}
/**
* @return Returns the parentFolder.
*/
public String getParentFolder() {
return parentFolder;
}
/**
* @param parentFolder
* The parentFolder to set.
*/
public void setParentFolder(String parentFolder) {
this.parentFolder = parentFolder;
}
/**
* @return Returns the libBriefDescription.
*/
public String getLibBriefDescription() {
return libBriefDescription;
}
/**
* @param libBriefDescription
* The libBriefDescription to set.
*/
public void setLibBriefDescription(String libBriefDescription) {
this.libBriefDescription = libBriefDescription;
}
/**
* @return Returns the defLibDirChecked.
*/
public boolean isDefLibDirChecked() {
return defLibDirChecked;
}
/**
* @param defLibDirChecked
* The defLibDirChecked to set.
*/
public void setDefLibDirChecked(boolean defLibDirChecked) {
this.defLibDirChecked = defLibDirChecked;
}
/**
* Loads preferences from the store
*
*/
public void loadFromPreferenceStore() {
IPreferenceStoreWrapper store = LibraryPlugin.getDefault()
.getPreferenceStore();
String lastDir = store
.getString(LibraryPreferenceConstants.PREF_LAST_LIBRARY_PARENT_DIRECTORY);
this.setParentFolder(lastDir);
boolean lastChecked = store
.getBoolean(LibraryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED);
// the contains method does not seem to work so use last dir as an
// approximation if
// (store.contains(LibaryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED))
if (lastDir == null || lastDir.trim().length() == 0)
this.setDefLibDirChecked(true);
else
this.setDefLibDirChecked(lastChecked);
}
/**
* Saves dialog choices to the preference store
*
*/
public void saveToPreferenceStore() {
IPreferenceStoreWrapper store = LibraryPlugin.getDefault()
.getPreferenceStore();
File file = new File(this.getParentFolder());
LibraryUIPreferences.setSavedLibraryPath(file.getAbsolutePath());
store.setValue(
LibraryPreferenceConstants.PREF_LAST_LIBRARY_PARENT_DIRECTORY,
file.getParent());
store.setValue(
LibraryPreferenceConstants.PREF_LAST_DEFAULT_DIRECTORY_CHECKED,
this.isDefLibDirChecked());
LibraryPlugin.getDefault().savePluginPreferences();
}
}