public InstallOptionsWidgetEditorDialog(Shell parent, INIFile iniFile, INISection section) { super(parent); mDialog = InstallOptionsDialog.loadINIFile(iniFile); mSection = section; mCurrentWidget = (InstallOptionsWidget) mDialog.getElement(mSection); mCreateMode = (mCurrentWidget == null); mOldValidateFixMode = iniFile.getValidateFixMode(); iniFile.setValidateFixMode( mCreateMode ? INILine.VALIDATE_FIX_ALL : INILine.VALIDATE_FIX_ERRORS); setTitle( mCreateMode ? InstallOptionsPlugin.getResourceString("create.control.dialog.title") : InstallOptionsPlugin.getResourceString( "edit.control.dialog.title")); //$NON-NLS-1$ //$NON-NLS-2$ }
@Override public boolean close() { if (mSection != null) { INIFile iniFile = (INIFile) mSection.getParent(); if (iniFile != null) { iniFile.setValidateFixMode(mOldValidateFixMode); } } if (mCurrentWidget != null) { mCurrentWidget.removeModelCommandListener(InstallOptionsWidgetEditorDialog.this); mCurrentWidget.removePropertyChangeListener(InstallOptionsWidgetEditorDialog.this); if (mCurrentWidget.getParent() != null) { mCurrentWidget .getParent() .removePropertyChangeListener(InstallOptionsWidgetEditorDialog.this); } } return super.close(); }