1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Patch for Chris W.

This commit is contained in:
Hoda Amer 2004-06-24 16:03:09 +00:00
parent 500eed90e7
commit 54ec4b834f
3 changed files with 33 additions and 7 deletions

View file

@ -1,5 +1,7 @@
2004-06-24 Chris Wiebe
Fix for PR 48783 : [New Class Wizard] Err Create C++ Class with "Link to File" checkbox selected
Fix for PR 47571 : [New Class Wizard] resolved location can be blanked
Fix for PR 48774 : [New Class Wizard] Error if Create C++ Class with no name
2004-06-23 Tanya Wolff
Fix for bugs 66134,66145

View file

@ -62,6 +62,7 @@ public class LinkToFileGroup extends StringButtonDialogField {
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 @@ public class LinkToFileGroup extends StringButtonDialogField {
resolveVariable();
if (listener != null)
listener.handleEvent(new Event());
dialogFieldChanged();
if (!preventDialogFieldChanged)
dialogFieldChanged();
}
};
linkButton.addSelectionListener(selectionListener);
@ -139,9 +141,11 @@ public class LinkToFileGroup extends StringButtonDialogField {
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 @@ public class LinkToFileGroup extends StringButtonDialogField {
resolveVariable();
if (listener != null)
listener.handleEvent(new Event());
dialogFieldChanged();
if (!preventDialogFieldChanged)
dialogFieldChanged();
}
});
if (initialLinkTarget != null)
@ -279,7 +284,8 @@ public class LinkToFileGroup extends StringButtonDialogField {
}
if (selection != null) {
linkTargetField.setText(selection);
dialogFieldChanged();
if (!preventDialogFieldChanged)
dialogFieldChanged();
}
}
/**
@ -300,7 +306,8 @@ public class LinkToFileGroup extends StringButtonDialogField {
if (variableNames != null && variableNames.length == 1)
{
linkTargetField.setText(variableNames[0]);
dialogFieldChanged();
if (!preventDialogFieldChanged)
dialogFieldChanged();
}
}
}
@ -338,7 +345,8 @@ public class LinkToFileGroup extends StringButtonDialogField {
initialLinkTarget = target;
if (linkTargetField != null && linkTargetField.isDisposed() == false) {
linkTargetField.setText(target);
dialogFieldChanged();
if (!preventDialogFieldChanged)
dialogFieldChanged();
}
}
/**

View file

@ -189,6 +189,7 @@ public class NewClassWizardPage extends WizardPage implements Listener {
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 @@ public class NewClassWizardPage extends WizardPage implements Listener {
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$
@ -423,6 +424,21 @@ public class NewClassWizardPage extends WizardPage implements Listener {
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);
}
}
}
return status;
}