1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-16 12:45:41 +02:00

Bug 367391 - [Generate Getters and Setters] Going back and deselecting a

getter or setter doesn't affect subsequent code generations.
This commit is contained in:
Sergey Prigogin 2011-12-27 14:23:12 -08:00
parent 71ffbded4f
commit bb1c0a023f

View file

@ -11,9 +11,6 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.internal.ui.refactoring.gettersandsetters; package org.eclipse.cdt.internal.ui.refactoring.gettersandsetters;
import java.util.Set;
import java.util.SortedSet;
import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener; import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent; import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
@ -113,17 +110,10 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
Object[] items = context.getElements(null); Object[] items = context.getElements(null);
SortedSet<GetterSetterInsertEditProvider> checkedFunctions = context.selectedFunctions;
for (Object treeItem : items) { for (Object treeItem : items) {
variableSelectionView.setChecked(treeItem, true); variableSelectionView.setChecked(treeItem, true);
Object[] children = context.getChildren(treeItem);
for (Object currentElement : children){
if (currentElement instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider editProvider = (GetterSetterInsertEditProvider) currentElement;
checkedFunctions.add(editProvider);
}
}
} }
updateSelectedFunctions();
} }
}); });
@ -132,11 +122,10 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
deselectAll.addSelectionListener(new SelectionAdapter(){ deselectAll.addSelectionListener(new SelectionAdapter(){
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e) {
Object[] items = context.getElements(null); for (Object treeItem : context.getElements(null)) {
for (Object treeItem : items) {
variableSelectionView.setChecked(treeItem, false); variableSelectionView.setChecked(treeItem, false);
} }
context.selectedFunctions.clear(); updateSelectedFunctions();
} }
}); });
@ -162,23 +151,21 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
} }
private void selectMethods(AccessorKind type) { private void selectMethods(AccessorKind type) {
Object[] items = context.getElements(null); for (Object treeItem : context.getElements(null)) {
Set<GetterSetterInsertEditProvider> checked = context.selectedFunctions;
for (Object treeItem : items) {
if (treeItem instanceof FieldWrapper) { if (treeItem instanceof FieldWrapper) {
FieldWrapper field = (FieldWrapper) treeItem; FieldWrapper field = (FieldWrapper) treeItem;
Object[] funtions = context.getChildren(field); Object[] accessors = context.getChildren(field);
for (Object funct : funtions) { for (Object accessor : accessors) {
if (funct instanceof GetterSetterInsertEditProvider) { if (accessor instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider getSet = (GetterSetterInsertEditProvider) funct; GetterSetterInsertEditProvider getSet = (GetterSetterInsertEditProvider) accessor;
if (getSet.getType() == type) { if (getSet.getType() == type) {
checked.add(getSet);
variableSelectionView.setChecked(getSet, true); variableSelectionView.setChecked(getSet, true);
} }
} }
} }
} }
} }
updateSelectedFunctions();
} }
private void createTree(Composite comp) { private void createTree(Composite comp) {
@ -199,27 +186,27 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
} }
} }
} }
Set<GetterSetterInsertEditProvider> checkedFunctions = context.selectedFunctions;
for (Object currentElement : variableSelectionView.getCheckedElements()) { updateSelectedFunctions();
if (currentElement instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider editProvider = (GetterSetterInsertEditProvider) currentElement;
checkedFunctions.add(editProvider);
}
}
variableSelectionView.addCheckStateListener(new ICheckStateListener() { variableSelectionView.addCheckStateListener(new ICheckStateListener() {
@Override @Override
public void checkStateChanged(CheckStateChangedEvent event) { public void checkStateChanged(CheckStateChangedEvent event) {
Set<GetterSetterInsertEditProvider> checkedFunctions = context.selectedFunctions; updateSelectedFunctions();
for (Object currentElement : variableSelectionView.getCheckedElements()) {
if (currentElement instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider editProvider = (GetterSetterInsertEditProvider) currentElement;
checkedFunctions.add(editProvider);
}
}
} }
}); });
} }
private void updateSelectedFunctions() {
context.selectedFunctions.clear();
for (Object currentElement : variableSelectionView.getCheckedElements()) {
if (currentElement instanceof GetterSetterInsertEditProvider) {
context.selectedFunctions.add((GetterSetterInsertEditProvider) currentElement);
}
}
setPageComplete(!context.selectedFunctions.isEmpty());
}
@Override @Override
public void preferenceChange(PreferenceChangeEvent event) { public void preferenceChange(PreferenceChangeEvent event) {
if (variableSelectionView.getTree().isDisposed()) { if (variableSelectionView.getTree().isDisposed()) {