Skip to content

Commit

Permalink
TEIIDDES-220 added save and restore wizard page button states from di…
Browse files Browse the repository at this point in the history
…alogSettings
  • Loading branch information
mdrillin committed Sep 17, 2012
1 parent 49aa55f commit e1aae0f
Showing 1 changed file with 51 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IMarker;
import org.eclipse.core.resources.IResource;
Expand All @@ -23,6 +22,7 @@
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.jface.dialogs.IDialogPage;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ISelection;
Expand Down Expand Up @@ -80,6 +80,7 @@
import org.teiid.designer.xml.factory.IDocumentsAndFragmentsPopulator;
import org.teiid.designer.xml.factory.VirtualDocumentModelPopulator;
import org.teiid.designer.xml.ui.ModelerXmlUiConstants;
import org.teiid.designer.xml.ui.ModelerXmlUiPlugin;


/**
Expand Down Expand Up @@ -208,6 +209,8 @@ public void run() {

@Override
public void dispose() {
if(this.panel!=null) this.panel.saveSettings();

super.dispose();
Control c = getControl();
if (c != null) {
Expand Down Expand Up @@ -296,6 +299,9 @@ public void setMappingClassBuilderStrategy( MappingClassBuilderStrategy theStrat

class NewVirtualDocumentWizardPanel extends ScrolledComposite implements ModelerXmlUiConstants, IAccumulatedValuesChangeListener {

private static final String BUILD_MAPPING_CLASSES_KEY = "buildMappingClasses"; //$NON-NLS-1$
private static final String BUILD_ENTIRE_DOCS_KEY = "buildEntireDocs"; //$NON-NLS-1$

static final String NO_SCHEMA_SELECTED = Util.getString("NewVirtualDocumentWizardPage.noSchemaSelected"); //$NON-NLS-1$
static final String MUST_SELECT_SCHEMA = Util.getString("NewVirtualDocumentWizardPage.mustSelectSchema"); //$NON-NLS-1$
private static final String SELECT_SCHEMA_TITLE = Util.getString("NewVirtualDocumentWizardPage.selectSchemaTitle"); //$NON-NLS-1$
Expand Down Expand Up @@ -464,6 +470,9 @@ public void widgetSelected( SelectionEvent ev ) {
buildMappingClassesButton.setText(BUILD_MAPPING_CLASSES);
buildMappingClassesButton.setSelection(true);

// Restore the buildEntireDocumentsButton and buildMappingClassesButton states
restoreSettings();

Group strategyGroup = new Group(typeGroup, SWT.NONE);
strategyGroup.setLayout(new GridLayout(1, true));
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
Expand Down Expand Up @@ -586,7 +595,9 @@ public void widgetSelected( SelectionEvent e ) {
}
}
});


updateComponentEnabledStates();

// need to size scroll panel
Point pt = pnlMain.computeSize(SWT.DEFAULT, SWT.DEFAULT);
setMinWidth(pt.x);
Expand Down Expand Up @@ -1014,6 +1025,44 @@ public void run( IProgressMonitor monitor ) {
}
}
}

/**
* Saves dialog settings.
*/
protected void saveSettings() {
final IDialogSettings pluginSettings = ModelerXmlUiPlugin.getDefault().getDialogSettings();
final String sectionName = NewVirtualDocumentWizardPage.class.getSimpleName();
IDialogSettings section = pluginSettings.getSection(sectionName);
if (section == null) {
section = pluginSettings.addNewSection(sectionName);
}

boolean buttonMappingClassesState = buildMappingClassesButton.getSelection();
section.put(BUILD_MAPPING_CLASSES_KEY, buttonMappingClassesState);
boolean buildEntireDocsState = buildEntireDocumentsButton.getSelection();
section.put(BUILD_ENTIRE_DOCS_KEY, buildEntireDocsState);
}

/**
* Restores dialog settings from last time wizard ran.
*
*/
private void restoreSettings() {
final IDialogSettings pluginSettings = ModelerXmlUiPlugin.getDefault().getDialogSettings();
final String sectionName = NewVirtualDocumentWizardPage.class.getSimpleName();
IDialogSettings section = pluginSettings.getSection(sectionName);
if (section == null) {
section = pluginSettings.addNewSection(sectionName);
return;
} else {
Boolean buildMappingClasses = section.getBoolean(BUILD_MAPPING_CLASSES_KEY);
buildMappingClassesButton.setSelection(buildMappingClasses.booleanValue());
Boolean buildEntireDocs = section.getBoolean(BUILD_ENTIRE_DOCS_KEY);
buildEntireDocumentsButton.setSelection(buildEntireDocs.booleanValue());
buildGlobalOnlyButton.setSelection(!buildEntireDocs.booleanValue());
}
}

}// end NewVirtualDocumentWizardPanel

class NewVirtualDocumentAccumulatorSource implements IAccumulatorSource {
Expand Down

0 comments on commit e1aae0f

Please sign in to comment.