1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-16 04:35:45 +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;
import java.util.Set;
import java.util.SortedSet;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
@ -113,17 +110,10 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
@Override
public void widgetSelected(SelectionEvent e) {
Object[] items = context.getElements(null);
SortedSet<GetterSetterInsertEditProvider> checkedFunctions = context.selectedFunctions;
for (Object treeItem : items) {
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(){
@Override
public void widgetSelected(SelectionEvent e) {
Object[] items = context.getElements(null);
for (Object treeItem : items) {
for (Object treeItem : context.getElements(null)) {
variableSelectionView.setChecked(treeItem, false);
}
context.selectedFunctions.clear();
updateSelectedFunctions();
}
});
@ -162,23 +151,21 @@ public class GenerateGettersAndSettersInputPage extends UserInputWizardPage impl
}
private void selectMethods(AccessorKind type) {
Object[] items = context.getElements(null);
Set<GetterSetterInsertEditProvider> checked = context.selectedFunctions;
for (Object treeItem : items) {
for (Object treeItem : context.getElements(null)) {
if (treeItem instanceof FieldWrapper) {
FieldWrapper field = (FieldWrapper) treeItem;
Object[] funtions = context.getChildren(field);
for (Object funct : funtions) {
if (funct instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider getSet = (GetterSetterInsertEditProvider) funct;
Object[] accessors = context.getChildren(field);
for (Object accessor : accessors) {
if (accessor instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider getSet = (GetterSetterInsertEditProvider) accessor;
if (getSet.getType() == type) {
checked.add(getSet);
variableSelectionView.setChecked(getSet, true);
}
}
}
}
}
updateSelectedFunctions();
}
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()) {
if (currentElement instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider editProvider = (GetterSetterInsertEditProvider) currentElement;
checkedFunctions.add(editProvider);
}
}
updateSelectedFunctions();
variableSelectionView.addCheckStateListener(new ICheckStateListener() {
@Override
public void checkStateChanged(CheckStateChangedEvent event) {
Set<GetterSetterInsertEditProvider> checkedFunctions = context.selectedFunctions;
for (Object currentElement : variableSelectionView.getCheckedElements()) {
if (currentElement instanceof GetterSetterInsertEditProvider) {
GetterSetterInsertEditProvider editProvider = (GetterSetterInsertEditProvider) currentElement;
checkedFunctions.add(editProvider);
}
}
updateSelectedFunctions();
}
});
}
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
public void preferenceChange(PreferenceChangeEvent event) {
if (variableSelectionView.getTree().isDisposed()) {