[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] fixes for 47571, 48774
|
This patch fixes the "resolved location can be blanked" and "Error if
Create C++ Class with no name" bugs in the class wizard.
-Chris
Index: src/org/eclipse/cdt/internal/ui/wizards/dialogfields/LinkToFileGroup.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/dialogfields/LinkToFileGroup.java,v
retrieving revision 1.8
diff -u -r1.8 LinkToFileGroup.java
--- src/org/eclipse/cdt/internal/ui/wizards/dialogfields/LinkToFileGroup.java 24 Jun 2004 13:56:05 -0000 1.8
+++ src/org/eclipse/cdt/internal/ui/wizards/dialogfields/LinkToFileGroup.java 24 Jun 2004 15:27:29 -0000
@@ -62,6 +62,7 @@
protected Button variablesButton;
private Label resolvedPathLabelText;
private Label resolvedPathLabelData;
+ private boolean preventDialogFieldChanged = false;
public LinkToFileGroup(IStringButtonAdapter adapter, Listener listener) {
super(adapter);
@@ -124,7 +125,8 @@
resolveVariable();
if (listener != null)
listener.handleEvent(new Event());
- dialogFieldChanged();
+ if (!preventDialogFieldChanged)
+ dialogFieldChanged();
}
};
linkButton.addSelectionListener(selectionListener);
@@ -139,9 +141,11 @@
public void setText(String text) {
fText= text;
if (isOkToUse(linkTargetField)) {
+ preventDialogFieldChanged = true;
linkTargetField.setText(text);
+ preventDialogFieldChanged = false;
}
- dialogFieldChanged();
+// dialogFieldChanged();
}
public Text getTextControl(Composite parent){
@@ -155,7 +159,8 @@
resolveVariable();
if (listener != null)
listener.handleEvent(new Event());
- dialogFieldChanged();
+ if (!preventDialogFieldChanged)
+ dialogFieldChanged();
}
});
if (initialLinkTarget != null)
@@ -279,7 +284,8 @@
}
if (selection != null) {
linkTargetField.setText(selection);
- dialogFieldChanged();
+ if (!preventDialogFieldChanged)
+ dialogFieldChanged();
}
}
/**
@@ -300,7 +306,8 @@
if (variableNames != null && variableNames.length == 1)
{
linkTargetField.setText(variableNames[0]);
- dialogFieldChanged();
+ if (!preventDialogFieldChanged)
+ dialogFieldChanged();
}
}
}
@@ -338,7 +345,8 @@
initialLinkTarget = target;
if (linkTargetField != null && linkTargetField.isDisposed() == false) {
linkTargetField.setText(target);
- dialogFieldChanged();
+ if (!preventDialogFieldChanged)
+ dialogFieldChanged();
}
}
/**
Index: src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java,v
retrieving revision 1.22
diff -u -r1.22 NewClassWizardPage.java
--- src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java 24 Jun 2004 13:56:05 -0000 1.22
+++ src/org/eclipse/cdt/ui/wizards/NewClassWizardPage.java 24 Jun 2004 15:27:29 -0000
@@ -189,6 +189,7 @@
linkedResourceGroupForBody.setLabelText(NewWizardMessages.getString("NewClassWizardPage.files.body")); //$NON-NLS-1$
fClassNameStatus= new StatusInfo();
+ ((StatusInfo)fClassNameStatus).setError(NewWizardMessages.getString("NewClassWizardPage.error.EnterClassName")); //$NON-NLS-1$
fBaseClassStatus= new StatusInfo();
fLinkedResourceGroupForHeaderStatus= new StatusInfo();
fLinkedResourceGroupForBodyStatus= new StatusInfo();
@@ -400,9 +401,9 @@
IStatus linkedResourceGroupChanged(LinkToFileGroup linkedGroup, boolean isHeader) {
StatusInfo status = new StatusInfo();
- String text = linkedGroup.getText();
if (linkedGroup.linkCreated()) {
// must not be empty
+ String text = linkedGroup.getText();
if (text == null || text.length() == 0) {
if (isHeader)
status.setError(NewWizardMessages.getString("NewClassWizardPage.error.EnterHeaderFile")); //$NON-NLS-1$
@@ -421,6 +422,21 @@
status.setError(NewWizardMessages.getString("NewClassWizardPage.error.NoHeaderFile")); //$NON-NLS-1$
else
status.setError(NewWizardMessages.getString("NewClassWizardPage.error.NoBodyFile")); //$NON-NLS-1$
+ }
+ }
+ } else {
+ String text = fClassNameDialogField.getText();
+ if (isHeader) {
+ if (text.length() > 0) {
+ linkedGroup.setText(text + HEADER_EXT);
+ } else {
+ linkedGroup.setText(text);
+ }
+ } else {
+ if (text.length() > 0) {
+ linkedGroup.setText(text + BODY_EXT);
+ } else{
+ linkedGroup.setText(text);
}
}
}