X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.phphelp/src/net/sourceforge/phpdt/httpquery/preferences/ConfigurationDialog.java b/net.sourceforge.phpeclipse.phphelp/src/net/sourceforge/phpdt/httpquery/preferences/ConfigurationDialog.java index 68e2e22..13b7844 100644 --- a/net.sourceforge.phpeclipse.phphelp/src/net/sourceforge/phpdt/httpquery/preferences/ConfigurationDialog.java +++ b/net.sourceforge.phpeclipse.phphelp/src/net/sourceforge/phpdt/httpquery/preferences/ConfigurationDialog.java @@ -34,227 +34,239 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; /** - * + * */ public class ConfigurationDialog extends Dialog { - protected IConfigurationWorkingCopy fConfiguration; - - protected boolean isEdit; - - private Button okButton; - - private Text fUserName; - - private Text fUrl; - - private Text fPassword; - - interface StringModifyListener { - public void valueChanged(String s); - } - - interface BooleanModifyListener { - public void valueChanged(boolean b); - } - - interface TypeModifyListener { - public void valueChanged(String fType); - } - - /** - * @param parentShell - */ - public ConfigurationDialog(Shell parentShell, IConfigurationWorkingCopy configuration) { - super(parentShell); - this.fConfiguration = configuration; - isEdit = true; - } - - public ConfigurationDialog(Shell parentShell) { - super(parentShell); - fConfiguration = PHPHelpPlugin.createConfiguration(); - isEdit = false; - } - - protected void configureShell(Shell shell) { - super.configureShell(shell); - if (isEdit) - shell.setText(PHPHelpPlugin.getResource("%editConfig")); - else - shell.setText(PHPHelpPlugin.getResource("%newConfig")); - } - - protected Label createLabel(Composite comp, String txt) { - Label label = new Label(comp, SWT.NONE); - label.setText(txt); - label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING)); - return label; - } - - protected Text createPassword(Composite comp, String txt, final StringModifyListener listener) { - final Text text = new Text(comp, SWT.BORDER | SWT.PASSWORD); - if (txt != null) - text.setText(txt); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = 150; - text.setLayoutData(data); - if (listener != null) - text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - listener.valueChanged(text.getText()); - } - }); - return text; - } - - protected Text createText(Composite comp, String txt, final StringModifyListener listener) { - final Text text = new Text(comp, SWT.BORDER); - if (txt != null) - text.setText(txt); - GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = 150; - text.setLayoutData(data); - if (listener != null) - text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - listener.valueChanged(text.getText()); - } - }); - return text; - } - - protected Combo createTypeCombo(Composite comp, final ArrayList types, String sel, final TypeModifyListener listener) { - final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY); - int size = types.size(); - String[] items = new String[size]; - int index = -1; - for (int i = 0; i < size; i++) { - items[i] = (String)types.get(i); - if (items[i].equals(sel)) - index = i; - } - combo.setItems(items); - if (index >= 0) - combo.select(index); - GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING); - data.widthHint = 150; - combo.setLayoutData(data); - if (listener != null) - combo.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - listener.valueChanged((String)types.get(combo.getSelectionIndex())); - } - - public void widgetDefaultSelected(SelectionEvent e) { - widgetSelected(e); - } - }); - return combo; - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) - */ - protected Control createDialogArea(Composite parent) { - Composite composite = (Composite) super.createDialogArea(parent); - ((GridLayout) composite.getLayout()).numColumns = 2; - - // WorkbenchHelp.setHelp(composite, ContextIds.PREF_DIALOG); - - createLabel(composite, PHPHelpPlugin.getResource("%name")); - fUserName = createText(composite, fConfiguration.getName() + "", new StringModifyListener() { - public void valueChanged(String name) { - fConfiguration.setName(name); - validateFields(); - } - }); - - Group group = new Group(composite, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - group.setLayout(layout); - GridData data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 2; - - group.setLayoutData(data); - group.setText(PHPHelpPlugin.getResource("%configGroup")); - - createLabel(group, PHPHelpPlugin.getResource("%user")); - fUserName = createText(group, fConfiguration.getUser() + "", new StringModifyListener() { - public void valueChanged(String s) { - fConfiguration.setUser(s); - validateFields(); - } - }); - - Composite warningComposite = new Composite(group, SWT.NONE); - layout = new GridLayout(); - layout.numColumns = 2; - layout.marginHeight = 0; - layout.marginHeight = 0; - warningComposite.setLayout(layout); - data = new GridData(GridData.FILL_HORIZONTAL); - data.horizontalSpan = 3; - warningComposite.setLayoutData(data); - Label warningLabel = new Label(warningComposite, SWT.NONE); - warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING)); - warningLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING)); - Label warningText = new Label(warningComposite, SWT.WRAP); - warningText.setText(PHPHelpPlugin.getResource("%scrambledPassword")); //$NON-NLS-1$ - data = new GridData(GridData.FILL_HORIZONTAL); - data.widthHint = 300; - warningText.setLayoutData(data); - - createLabel(group, PHPHelpPlugin.getResource("%password")); - fPassword = createPassword(group, fConfiguration.getPassword() + "", new StringModifyListener() { - public void valueChanged(String s) { - fConfiguration.setPassword(s); - validateFields(); - } - }); - - createLabel(group, PHPHelpPlugin.getResource("%url")); - fUrl = createText(group, fConfiguration.getURL(), new StringModifyListener() { - public void valueChanged(String s) { - fConfiguration.setURL(s); - validateFields(); - } - }); - - createLabel(group, PHPHelpPlugin.getResource("%parseType")); - createTypeCombo(group, PHPHelpPlugin.getTypes(), fConfiguration.getType(), new TypeModifyListener() { - public void valueChanged(String fType) { - fConfiguration.setType(fType); - } - }); - - return composite; - } - - protected void okPressed() { - fConfiguration.save(); - super.okPressed(); - } - - protected Control createButtonBar(Composite parent) { - Control buttonControl = super.createButtonBar(parent); - validateFields(); - return buttonControl; - } - - private void setOKButtonEnabled(boolean curIsEnabled) { - if (okButton == null) - okButton = getButton(IDialogConstants.OK_ID); - - if (okButton != null) - okButton.setEnabled(curIsEnabled); - } - - protected void validateFields() { - boolean result = true; - - setOKButtonEnabled(result); - } + protected IConfigurationWorkingCopy fConfiguration; + + protected boolean isEdit; + + private Button okButton; + + //private Text fName; + + //private Text fUrl; + + // private Text fPassword; + + interface StringModifyListener { + public void valueChanged(String s); + } + + interface BooleanModifyListener { + public void valueChanged(boolean b); + } + + interface TypeModifyListener { + public void valueChanged(String fType); + } + + /** + * @param parentShell + */ + public ConfigurationDialog(Shell parentShell, + IConfigurationWorkingCopy configuration) { + super(parentShell); + this.fConfiguration = configuration; + isEdit = true; + } + + public ConfigurationDialog(Shell parentShell) { + super(parentShell); + fConfiguration = PHPHelpPlugin.createConfiguration(); + isEdit = false; + } + + protected void configureShell(Shell shell) { + super.configureShell(shell); + if (isEdit) + shell.setText(PHPHelpPlugin.getResource("%editConfig")); + else + shell.setText(PHPHelpPlugin.getResource("%newConfig")); + } + + protected Label createLabel(Composite comp, String txt) { + Label label = new Label(comp, SWT.NONE); + label.setText(txt); + label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING + | GridData.VERTICAL_ALIGN_BEGINNING)); + return label; + } + + protected Text createPassword(Composite comp, String txt, + final StringModifyListener listener) { + final Text text = new Text(comp, SWT.BORDER | SWT.PASSWORD); + if (txt != null) + text.setText(txt); + GridData data = new GridData(GridData.FILL_HORIZONTAL + | GridData.VERTICAL_ALIGN_BEGINNING); + data.widthHint = 150; + text.setLayoutData(data); + if (listener != null) + text.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + listener.valueChanged(text.getText()); + } + }); + return text; + } + + protected Text createText(Composite comp, String txt, + final StringModifyListener listener) { + final Text text = new Text(comp, SWT.BORDER); + if (txt != null) + text.setText(txt); + GridData data = new GridData(GridData.FILL_HORIZONTAL + | GridData.VERTICAL_ALIGN_BEGINNING); + data.widthHint = 150; + text.setLayoutData(data); + if (listener != null) + text.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + listener.valueChanged(text.getText()); + } + }); + return text; + } + + protected Combo createTypeCombo(Composite comp, final ArrayList types, + String sel, final TypeModifyListener listener) { + final Combo combo = new Combo(comp, SWT.DROP_DOWN | SWT.READ_ONLY); + int size = types.size(); + String[] items = new String[size]; + int index = -1; + for (int i = 0; i < size; i++) { + items[i] = (String) types.get(i); + if (items[i].equals(sel)) + index = i; + } + combo.setItems(items); + if (index >= 0) + combo.select(index); + GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL + | GridData.VERTICAL_ALIGN_BEGINNING); + data.widthHint = 150; + combo.setLayoutData(data); + if (listener != null) + combo.addSelectionListener(new SelectionListener() { + public void widgetSelected(SelectionEvent e) { + listener.valueChanged((String) types.get(combo + .getSelectionIndex())); + } + + public void widgetDefaultSelected(SelectionEvent e) { + widgetSelected(e); + } + }); + return combo; + } + + protected Control createDialogArea(Composite parent) { + Composite composite = (Composite) super.createDialogArea(parent); + ((GridLayout) composite.getLayout()).numColumns = 2; + + // WorkbenchHelp.setHelp(composite, ContextIds.PREF_DIALOG); + + createLabel(composite, PHPHelpPlugin.getResource("%name")); +// fName = createText(composite, fConfiguration.getName() + "", +// new StringModifyListener() { +// public void valueChanged(String name) { +// fConfiguration.setName(name); +// validateFields(); +// } +// }); + + Group group = new Group(composite, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + group.setLayout(layout); + GridData data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 2; + + group.setLayoutData(data); + group.setText(PHPHelpPlugin.getResource("%configGroup")); + + // createLabel(group, PHPHelpPlugin.getResource("%user")); + // fUserName = createText(group, fConfiguration.getUser() + "", new + // StringModifyListener() { + // public void valueChanged(String s) { + // fConfiguration.setUser(s); + // validateFields(); + // } + // }); + + // Composite warningComposite = new Composite(group, SWT.NONE); + // layout = new GridLayout(); + // layout.numColumns = 2; + // layout.marginHeight = 0; + // layout.marginHeight = 0; + // warningComposite.setLayout(layout); + // data = new GridData(GridData.FILL_HORIZONTAL); + // data.horizontalSpan = 3; + // warningComposite.setLayoutData(data); + // Label warningLabel = new Label(warningComposite, SWT.NONE); + // warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING)); + // warningLabel.setLayoutData(new + // GridData(GridData.VERTICAL_ALIGN_BEGINNING + // | GridData.HORIZONTAL_ALIGN_BEGINNING)); + // Label warningText = new Label(warningComposite, SWT.WRAP); + // warningText.setText(PHPHelpPlugin.getResource("%scrambledPassword")); + // //$NON-NLS-1$ + // data = new GridData(GridData.FILL_HORIZONTAL); + // data.widthHint = 300; + // warningText.setLayoutData(data); + + // createLabel(group, PHPHelpPlugin.getResource("%password")); + // fPassword = createPassword(group, fConfiguration.getPassword() + "", + // new StringModifyListener() { + // public void valueChanged(String s) { + // fConfiguration.setPassword(s); + // validateFields(); + // } + // }); + + createLabel(group, PHPHelpPlugin.getResource("%url")); +// fUrl = createText(group, fConfiguration.getURL(), +// new StringModifyListener() { +// public void valueChanged(String s) { +// fConfiguration.setURL(s); +// validateFields(); +// } +// }); + + createLabel(group, PHPHelpPlugin.getResource("%parseType")); + createTypeCombo(group, PHPHelpPlugin.getTypes(), fConfiguration + .getType(), new TypeModifyListener() { + public void valueChanged(String fType) { + fConfiguration.setType(fType); + } + }); + + return composite; + } + + protected void okPressed() { + fConfiguration.save(); + super.okPressed(); + } + + protected Control createButtonBar(Composite parent) { + Control buttonControl = super.createButtonBar(parent); + validateFields(); + return buttonControl; + } + + private void setOKButtonEnabled(boolean curIsEnabled) { + if (okButton == null) + okButton = getButton(IDialogConstants.OK_ID); + + if (okButton != null) + okButton.setEnabled(curIsEnabled); + } + + protected void validateFields() { + boolean result = true; + + setOKButtonEnabled(result); + } } \ No newline at end of file