下面列出了怎么用org.eclipse.jface.dialogs.IDialogSettings的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* Writes the given history into the given dialog store.
* @param history
* the history
* @param settings
* the dialog settings
* @param sectionName
* the section name
* @since 3.2
*/
private void writeHistory(List<String> history, IDialogSettings settings, String sectionName) {
int itemCount = history.size();
Set<String> distinctItems = new HashSet<String>(itemCount);
for (int i = 0; i < itemCount; i++) {
String item = (String) history.get(i);
if (distinctItems.contains(item)) {
history.remove(i--);
itemCount--;
} else {
distinctItems.add(item);
}
}
while (history.size() > 8) {
history.remove(8);
}
String[] names = new String[history.size()];
history.toArray(names);
settings.put(sectionName, names);
}
/**
* Saves the sorting state to the dialog settings.
*/
private void saveState() {
IDialogSettings settings = mSettingsProvider != null ? mSettingsProvider.getTableSettings()
: null;
if (settings == null) {
return;
}
settings.put(TAG_COLUMN_INDEX, mSortedColumnIndex);
settings.put(TAG_SORT_DIRECTION, mSortDirection);
// store the column widths
TableColumn[] columns = this.getTable().getColumns();
for (int i = 0, size = columns.length; i < size; i++) {
int width = columns[i].getWidth();
if (width > 0) {
settings.put(TAG_COLUMN_WIDTH + i, width);
}
}
// store the selection
settings.put(TAG_CURRENT_SELECTION, this.getTable().getSelectionIndex());
}
/**
* Hook method for saving widget values for restoration by the next instance
* of this class.
*/
protected void saveWidgetValues() {
// update directory names history
final IDialogSettings settings = getDialogSettings();
if (settings != null) {
String[] directoryNames = settings
.getArray(STORE_DESTINATION_NAMES_ID);
if (directoryNames == null) {
directoryNames = new String[0];
}
String dest = getDetinationPath();
if (dest.endsWith(".bos")) {
dest = new File(dest).getParentFile().getAbsolutePath();
}
directoryNames = addToHistory(directoryNames, dest);
settings.put(STORE_DESTINATION_NAMES_ID, directoryNames);
}
}
/**
* Saves the history of this control.
*/
public void saveHistory() {
final IDialogSettings settings= fWizard.getDialogSettings();
if (settings != null) {
final LinkedList<String> locations= new LinkedList<String>();
final String[] items= fCombo.getItems();
for (int index= 0; index < items.length; index++)
locations.add(items[index]);
final String text= fCombo.getText().trim();
if (!"".equals(text)) { //$NON-NLS-1$
locations.remove(text);
locations.addFirst(text);
}
final int size= locations.size();
for (int index= 0; index < size - MAX_HISTORY_SIZE; index++)
locations.removeLast();
settings.put(fKey, locations.toArray(new String[locations.size()]));
}
}
/**
* Initializes the JAR package from last used wizard page values.
*/
protected void initializeJarPackage() {
IDialogSettings settings= getDialogSettings();
if (settings != null) {
fJarPackage.setExportWarnings(settings.getBoolean(STORE_EXPORT_WARNINGS));
fJarPackage.setExportErrors(settings.getBoolean(STORE_EXPORT_ERRORS));
fJarPackage.setUseSourceFolderHierarchy(settings.getBoolean(STORE_USE_SRC_FOLDERS));
fJarPackage.setSaveDescription(false); // bug 15877
String pathStr= settings.get(STORE_DESCRIPTION_LOCATION);
if (pathStr == null)
pathStr= ""; //$NON-NLS-1$
fJarPackage.setDescriptionLocation(new Path(pathStr));
if (settings.get(STORE_BUILD_IF_NEEDED) != null)
fJarPackage.setBuildIfNeeded(settings.getBoolean(STORE_BUILD_IF_NEEDED));
}
}
/**
* {@inheritDoc}
*/
@Override
public boolean performFinish() {
fJarPackage.setElements(fJarPackageWizardPage.getSelectedElementsWithoutContainedChildren());
if (!executeExportOperation(fJarPackage.createJarExportRunnable(getShell())))
return false;
// Save the dialog settings
if (fHasNewDialogSettings) {
IDialogSettings workbenchSettings= JavaPlugin.getDefault().getDialogSettings();
IDialogSettings section= workbenchSettings.getSection(DIALOG_SETTINGS_KEY);
section= workbenchSettings.addNewSection(DIALOG_SETTINGS_KEY);
setDialogSettings(section);
}
IWizardPage[] pages= getPages();
for (int i= 0; i < getPageCount(); i++) {
IWizardPage page= pages[i];
if (page instanceof IJarPackageWizardPage)
((IJarPackageWizardPage) page).finish();
}
return true;
}
@Override
protected void storeDialog(IDialogSettings settings) {
super.storeDialog(settings);
XMLMemento memento = XMLMemento.createWriteRoot("workingSet"); //$NON-NLS-1$
workingSetFilterActionGroup.saveState(memento);
workingSetFilterActionGroup.dispose();
StringWriter writer = new StringWriter();
try {
memento.save(writer);
settings.put(WORKINGS_SET_SETTINGS, writer.getBuffer().toString());
} catch (IOException e) {
StatusManager.getManager().handle(
new Status(IStatus.ERROR, AnalysisPlugin.getPluginID(), IStatus.ERROR, "", e)); //$NON-NLS-1$
// don't do anything. Simply don't store the settings
}
}
/**
* Persists resource specification control setting that are to be restored
* in the next instance of this page. Subclasses wishing to persist
* settings for their controls should extend the hook method
* <code>internalSaveWidgetValues</code>.
*/
@Override
public final void saveWidgetValues() {
super.saveWidgetValues();
// update directory names history
IDialogSettings settings= getDialogSettings();
if (settings != null) {
settings.put(STORE_EXPORT_CLASS_FILES, fJarPackage.areClassFilesExported());
settings.put(STORE_EXPORT_OUTPUT_FOLDERS, fJarPackage.areOutputFoldersExported());
settings.put(STORE_EXPORT_JAVA_FILES, fJarPackage.areJavaFilesExported());
// options
settings.put(STORE_REFACTORINGS, fJarPackage.isRefactoringAware());
settings.put(STORE_COMPRESS, fJarPackage.isCompressed());
settings.put(STORE_INCLUDE_DIRECTORY_ENTRIES, fJarPackage.areDirectoryEntriesIncluded());
settings.put(STORE_OVERWRITE, fJarPackage.allowOverwrite());
}
// Allow subclasses to save values
internalSaveWidgetValues();
}
public GetterSetterTreeSelectionDialog(Shell parent, ILabelProvider labelProvider, AddGetterSetterContentProvider contentProvider, CompilationUnitEditor editor, IType type) throws JavaModelException {
super(parent, labelProvider, contentProvider, editor, type, false);
fContentProvider= contentProvider;
fPreviousSelectedFinals= new ArrayList<GetterSetterEntry>();
// http://bugs.eclipse.org/bugs/show_bug.cgi?id=19253
IDialogSettings dialogSettings= JavaPlugin.getDefault().getDialogSettings();
fSettings= dialogSettings.getSection(SETTINGS_SECTION);
if (fSettings == null) {
fSettings= dialogSettings.addNewSection(SETTINGS_SECTION);
fSettings.put(SORT_ORDER, false);
fSettings.put(ALLOW_SETTERS_FOR_FINALS, false);
}
fSortOrder= fSettings.getBoolean(SORT_ORDER);
fAllowSettersForFinals= fSettings.getBoolean(ALLOW_SETTERS_FOR_FINALS);
fSettersForFinalFieldsFilter= new SettersForFinalFieldsFilter(contentProvider);
}
/**
* Constructor for ExternalProjectImportWizard.
*
* @param initialPath Default path for wizard to import
* @since 3.5
*/
public ImportProjectWizard(String initialPath)
{
super();
this.initialPath = initialPath;
setWindowTitle(DataTransferMessages.DataTransfer_importTitle);
setNeedsProgressMonitor(true);
IDialogSettings workbenchSettings = IDEWorkbenchPlugin.getDefault()
.getDialogSettings();
IDialogSettings wizardSettings = workbenchSettings
.getSection(IMPORT_PROJECT_SECTION);
if (wizardSettings == null) {
wizardSettings = workbenchSettings
.addNewSection(IMPORT_PROJECT_SECTION);
}
setDialogSettings(wizardSettings);
}
@Override
public void loadSettings(IDialogSettings settings) {
IDialogSettings section = settings.getSection(repositoryModel.getName());
if (section != null && section.getArray(DEPLOY_DEFAULT_SELECTION) != null) {
if (defaultSelectedElements == null || defaultSelectedElements.isEmpty()) {
defaultSelectedElements = fromStrings(section.getArray(DEPLOY_DEFAULT_SELECTION));
}
cleanBDM = section.getBoolean(CLEAN_BDM_DEFAULT_SELECTION);
validate = section.getBoolean(VALIDATE_DEFAULT_SELECTION);
latestVersionOnly = section.getBoolean(ONLY_LATEST_PROCESS_VERSION_SELECTION);
}
String activeEnvironment = ConfigurationPlugin.getDefault().getPreferenceStore()
.getString(ConfigurationPreferenceConstants.DEFAULT_CONFIGURATION);
environment = environmentProvider.getEnvironment().contains(activeEnvironment) ? activeEnvironment
: ConfigurationPreferenceConstants.LOCAL_CONFIGURAITON;
}
/**
* Hook method for restoring widget values to the values that they held
* last time this wizard was used to completion.
*/
protected void restoreWidgetValues() {
final IDialogSettings settings = getDialogSettings();
if (settings != null) {
final String[] directoryNames = settings
.getArray(STORE_DESTINATION_NAMES_ID);
if (directoryNames == null || directoryNames.length == 0) {
setDetinationPath(System.getProperty("user.home"));
return; // ie.- no settings stored
}
// destination
setDetinationPath(directoryNames[0]);
for (int i = 0; i < directoryNames.length; i++) {
addDestinationItem(directoryNames[i]);
}
}
}
/**
* Restores the column widths from dialog settings.
*
* @param settings the settings to read.
*/
private void restoreColumnWidths(IDialogSettings settings) {
final int columnCount = this.sreTable.getColumnCount();
for (int i = 0; i < columnCount; i++) {
int width = -1;
try {
width = settings.getInt(ID + ".columnWidth" + i); //$NON-NLS-1$
} catch (NumberFormatException exception) {
//
}
if ((width <= 0) || (i == this.sreTable.getColumnCount() - 1)) {
this.sreTable.getColumn(i).pack();
} else {
this.sreTable.getColumn(i).setWidth(width);
}
}
}
private void runPressed() {
super.okPressed();
if (getSelected() == null) return;
IDialogSettings settings = SootPlugin.getDefault().getDialogSettings();
String mainClass = settings.get(getSelected()+"_mainClass");
if (getLauncher() instanceof SootConfigProjectLauncher) {
((SootConfigProjectLauncher)getLauncher()).launch(getSelected(), mainClass);
}
else if (getLauncher() instanceof SootConfigJavaProjectLauncher){
((SootConfigJavaProjectLauncher)getLauncher()).launch(getSelected(), mainClass);
}
else if (getLauncher() instanceof SootConfigFileLauncher) {
((SootConfigFileLauncher)getLauncher()).launch(getSelected(), mainClass);
}
else if (getLauncher() instanceof SootConfigFromJavaFileLauncher){
((SootConfigFromJavaFileLauncher)getLauncher()).launch(getSelected(), mainClass);
}
}
/**
* Constructor for ClasspathContainerWizardPage.
*
* @param containerPages the array of container pages
*/
protected ClasspathContainerSelectionPage(ClasspathContainerDescriptor[] containerPages) {
super("ClasspathContainerWizardPage"); //$NON-NLS-1$
setTitle(NewWizardMessages.ClasspathContainerSelectionPage_title);
setDescription(NewWizardMessages.ClasspathContainerSelectionPage_description);
setImageDescriptor(JavaPluginImages.DESC_WIZBAN_ADD_LIBRARY);
fContainers= containerPages;
IDialogSettings settings= JavaPlugin.getDefault().getDialogSettings();
fDialogSettings= settings.getSection(DIALOGSTORE_SECTION);
if (fDialogSettings == null) {
fDialogSettings= settings.addNewSection(DIALOGSTORE_SECTION);
fDialogSettings.put(DIALOGSTORE_CONTAINER_IDX, 0);
}
validatePage();
}
private void loadDialogSettings() {
IDialogSettings dialogSettings = getDialogSettings();
deleteEmptyBtn.setSelection(dialogSettings.getBoolean("EMPTY"));
trimBtn.setSelection(dialogSettings.getBoolean("TRIMENDS"));
deleteDupliteBtn.setSelection(dialogSettings.getBoolean("DUPLICATE"));
deleteSameSrcDiffTgtBtn.setSelection(dialogSettings.getBoolean("DIFFRENT"));
ignoreTagBtn.setEnabled(dialogSettings.getBoolean("IGNORE_TAG_ENALBE"));
ignoreTagBtn.setSelection(dialogSettings.getBoolean("IGNORE_TAG_SELECT"));
ignoreCaseBtn.setEnabled(dialogSettings.getBoolean("IGNORE_CASE_ENALBE"));
ignoreCaseBtn.setSelection(dialogSettings.getBoolean("IGNORE_CASE_SELECT"));
}
private IDialogSettings getDialogSettings() {
IDialogSettings settings = Activator.getDefault().getDialogSettings();
IDialogSettings fDialogSettings = settings.getSection(getClass().getName());
if (fDialogSettings == null)
fDialogSettings = settings.addNewSection(getClass().getName());
return fDialogSettings;
}
protected IDialogSettings getDialogSettings() {
IDialogSettings settings = FindbugsPlugin.getDefault().getDialogSettings();
String settingsId = getDialogSettingsId();
IDialogSettings section = settings.getSection(settingsId);
if (section == null) {
section = settings.addNewSection(settingsId);
}
return section;
}
/**
* Returns the dialog settings for this view.
*
* @return the dialog settings
*/
protected final IDialogSettings getDialogSettings() {
String concreteViewId = getViewId();
IDialogSettings workbenchSettings = CheckstyleUIPlugin.getDefault().getDialogSettings();
IDialogSettings settings = workbenchSettings.getSection(concreteViewId);
if (settings == null) {
settings = workbenchSettings.addNewSection(concreteViewId);
}
return settings;
}
@Override
protected IDialogSettings getDialogBoundsSettings() {
IDialogSettings settings = LangUIPlugin.getDefault().getDialogSettings();
IDialogSettings section = settings.getSection(getDialogSettingsId());
if (section == null) {
section = settings.addNewSection(getDialogSettingsId());
}
return section;
}
/**
* Since Finish was pressed, write widget values to the dialog store so that
* they will persist into the next invocation of this wizard page.
*
* Method declared public only for use of tests.
*/
public void saveWidgetValues() {
IDialogSettings settings = getDialogSettings();
if (settings != null) {
settings.put(STORE_COPY_PROJECT_ID, true);
settings.put(STORE_ARCHIVE_SELECTED, true);
}
}
@Override
protected IDialogSettings getDialogBoundsSettings() {
IDialogSettings settings = getDialogSettings();
IDialogSettings section = settings.getSection(DIALOG_BOUNDS_SETTINGS);
if (section == null) {
section = settings.addNewSection(DIALOG_BOUNDS_SETTINGS);
section.put(DIALOG_HEIGHT, 500);
section.put(DIALOG_WIDTH, 600);
}
return section;
}
private int getLastSelectedJREKind() {
IDialogSettings settings= JavaPlugin.getDefault().getDialogSettings();
if (settings.get(LAST_SELECTED_JRE_KIND2) == null)
return EE_JRE;
return settings.getInt(LAST_SELECTED_JRE_KIND2);
}
/**
* Creates a wizard for exporting workspace resources to a JAR file.
*/
public FatJarPackageWizard() {
IDialogSettings workbenchSettings= JavaPlugin.getDefault().getDialogSettings();
IDialogSettings section= workbenchSettings.getSection(DIALOG_SETTINGS_KEY);
if (section == null)
fHasNewDialogSettings= true;
else {
fHasNewDialogSettings= false;
setDialogSettings(section);
}
}
/**
* Returns the dialog settings object used to share state
* between several find/replace dialogs.
*
* @return the dialog settings to be used
*/
private IDialogSettings getDialogSettings() {
IDialogSettings settings= JavaPlugin.getDefault().getDialogSettings();
String sectionName= getClass().getName();
IDialogSettings subSettings= settings.getSection(sectionName);
if (subSettings == null)
subSettings= settings.addNewSection(sectionName);
return subSettings;
}
private static IDialogSettings getDialogSettingsSection(IDialogSettings settings, String sectionId)
{
IDialogSettings section = settings.getSection(sectionId);
if (section == null)
{
section = settings.addNewSection(sectionId);
}
return section;
}
public ExportWizard ()
{
setNeedsProgressMonitor ( true );
setWindowTitle ( Messages.ExportWizard_WindowTitle );
IDialogSettings settings = Activator.getDefault ().getDialogSettings ().getSection ( "exportWizard" ); //$NON-NLS-1$
if ( settings == null )
{
settings = Activator.getDefault ().getDialogSettings ().addNewSection ( "exportWizard" ); //$NON-NLS-1$
}
setDialogSettings ( Activator.getDefault ().getDialogSettings ().getSection ( "exportWizard" ) ); //$NON-NLS-1$
}
/**
* Since Finish was pressed, write widget values to the dialog store so that
* they will persist into the next invocation of this wizard page.
*
* Method declared public only for use of tests.
*/
public void saveWidgetValues() {
IDialogSettings settings = getDialogSettings();
if (settings != null) {
settings.put(STORE_COPY_PROJECT_ID, true);
settings.put(STORE_ARCHIVE_SELECTED, true);
}
}
public ToStringGenerationSettings(IDialogSettings dialogSettings) {
this.dialogSettings= dialogSettings;
limitElements= asBoolean(dialogSettings.get(SETTINGS_LIMITELEMENTS), false);
customArrayToString= asBoolean(dialogSettings.get(SETTINGS_IGNOREDEFAULT), true);
toStringStyle= asInt(dialogSettings.get(SETTINGS_STRINGSTYLE), 0);
limitValue= asInt(dialogSettings.get(SETTINGS_LIMITVALUE), 10);
skipNulls= asBoolean(dialogSettings.get(SETTINGS_SKIPNULLS), false);
stringFormatTemplateNumber= asInt(dialogSettings.get(SETTINGS_SELECTED_TEMPLATE), 0);
customBuilderSettings= new CustomBuilderSettings();
customBuilderSettings.className= asString(dialogSettings.get(SETTINGS_CUSTOMBUILDER_CLASS), ""); //$NON-NLS-1$
customBuilderSettings.variableName= asString(dialogSettings.get(SETTINGS_CUSTOMBUILDER_LABEL), "builder"); //$NON-NLS-1$
customBuilderSettings.appendMethod= asString(dialogSettings.get(SETTINGS_CUSTOMBUILDER_APPENDMETHOD), "append"); //$NON-NLS-1$
customBuilderSettings.resultMethod= asString(dialogSettings.get(SETTINGS_CUSTOMBUILDER_RESULTMETHOD), "toString"); //$NON-NLS-1$
customBuilderSettings.chainCalls= asBoolean(dialogSettings.get(SETTINGS_CUSTOMBUILDER_CHAINCALLS), false);
}
public DeploySuccessDialog(Shell parentShell, String dialogTitle, String dialogMessage, int dialogImageType,
DeployedAppContentProvider contentProvider, IDialogSettings dialogSettings) {
super(parentShell, dialogTitle, null, dialogMessage, dialogImageType, 1,
new String[] { IDialogConstants.CLOSE_LABEL, IDialogConstants.OPEN_LABEL });
this.contentProvider = contentProvider;
this.dialogSettings = dialogSettings;
}