X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditTemplateDialog.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditTemplateDialog.java index cbd80ba..5bd6980 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditTemplateDialog.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/preferences/EditTemplateDialog.java @@ -1,10 +1,10 @@ /******************************************************************************* * Copyright (c) 2000, 2004 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials + * All rights reserved. This program and the accompanying materials * are made available under the terms of the Common Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/cpl-v10.html - * + * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ @@ -73,7 +73,7 @@ import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Widget; -import org.eclipse.ui.help.WorkbenchHelp; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.texteditor.ITextEditorActionConstants; import org.eclipse.ui.texteditor.IUpdate; @@ -83,13 +83,13 @@ import org.eclipse.ui.texteditor.IUpdate; public class EditTemplateDialog extends StatusDialog { private static class TextViewerAction extends Action implements IUpdate { - + private int fOperationCode= -1; private ITextOperationTarget fOperationTarget; - - /** + + /** * Creates a new action. - * + * * @param viewer the viewer * @param operationCode the opcode */ @@ -98,24 +98,24 @@ public class EditTemplateDialog extends StatusDialog { fOperationTarget= viewer.getTextOperationTarget(); update(); } - + /** * Updates the enabled state of the action. * Fires a property change if the enabled state changes. - * + * * @see Action#firePropertyChange(String, Object, Object) */ public void update() { - + boolean wasEnabled= isEnabled(); boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode)); setEnabled(isEnabled); - + if (wasEnabled != isEnabled) { firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE); } } - + /** * @see Action#run() */ @@ -124,30 +124,30 @@ public class EditTemplateDialog extends StatusDialog { fOperationTarget.doOperation(fOperationCode); } } - } + } private final Template fTemplate; - + private Text fNameText; private Text fDescriptionText; private Combo fContextCombo; - private SourceViewer fPatternEditor; + private SourceViewer fPatternEditor; private Button fInsertVariableButton; private boolean fIsNameModifiable; private StatusInfo fValidationStatus; - private boolean fSuppressError= true; // #4354 + private boolean fSuppressError= true; // #4354 private Map fGlobalActions= new HashMap(10); - private List fSelectionActions = new ArrayList(3); + private List fSelectionActions = new ArrayList(3); private String[][] fContextTypes; - - private ContextTypeRegistry fContextTypeRegistry; - + + private ContextTypeRegistry fContextTypeRegistry; + private final TemplateVariableProcessor fTemplateProcessor= new TemplateVariableProcessor(); - + /** * Creates a new dialog. - * + * * @param parent the shell parent of the dialog * @param template the template to edit * @param edit whether this is a new template or an existing being edited @@ -156,9 +156,9 @@ public class EditTemplateDialog extends StatusDialog { */ public EditTemplateDialog(Shell parent, Template template, boolean edit, boolean isNameModifiable, ContextTypeRegistry registry) { super(parent); - + setShellStyle(getShellStyle() | SWT.MAX | SWT.RESIZE); - + String title= edit ? PreferencesMessages.getString("EditTemplateDialog.title.edit") //$NON-NLS-1$ : PreferencesMessages.getString("EditTemplateDialog.title.new"); //$NON-NLS-1$ @@ -166,10 +166,10 @@ public class EditTemplateDialog extends StatusDialog { fTemplate= template; fIsNameModifiable= isNameModifiable; - + // XXX workaround for bug 63313 - disabling prefix until fixed. // String delim= new Document().getLegalLineDelimiters()[0]; - + List contexts= new ArrayList(); for (Iterator it= registry.contextTypes(); it.hasNext();) { TemplateContextType type= (TemplateContextType) it.next(); @@ -179,21 +179,21 @@ public class EditTemplateDialog extends StatusDialog { contexts.add(new String[] { type.getId(), type.getName(), "" }); //$NON-NLS-1$ } fContextTypes= (String[][]) contexts.toArray(new String[contexts.size()][]); - + fValidationStatus= new StatusInfo(); - + fContextTypeRegistry= registry; - + TemplateContextType type= fContextTypeRegistry.getContextType(template.getContextTypeId()); fTemplateProcessor.setContextType(type); } - + /* * @see net.sourceforge.phpdt.internal.ui.dialogs.StatusDialog#create() */ public void create() { super.create(); - // update initial ok button to be disabled for new templates + // update initial ok button to be disabled for new templates boolean valid= fNameText == null || fNameText.getText().trim().length() != 0; if (!valid) { StatusInfo status = new StatusInfo(); @@ -201,7 +201,7 @@ public class EditTemplateDialog extends StatusDialog { updateButtonsEnableState(status); } } - + /* * @see Dialog#createDialogArea(Composite) */ @@ -211,30 +211,30 @@ public class EditTemplateDialog extends StatusDialog { layout.numColumns= 2; parent.setLayout(layout); parent.setLayoutData(new GridData(GridData.FILL_BOTH)); - + ModifyListener listener= new ModifyListener() { public void modifyText(ModifyEvent e) { doTextWidgetChanged(e.widget); } }; - + if (fIsNameModifiable) { - createLabel(parent, PreferencesMessages.getString("EditTemplateDialog.name")); //$NON-NLS-1$ - + createLabel(parent, PreferencesMessages.getString("EditTemplateDialog.name")); //$NON-NLS-1$ + Composite composite= new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - layout= new GridLayout(); + layout= new GridLayout(); layout.numColumns= 3; layout.marginWidth= 0; layout.marginHeight= 0; composite.setLayout(layout); - + fNameText= createText(composite); fNameText.addFocusListener(new FocusListener() { - + public void focusGained(FocusEvent e) { } - + public void focusLost(FocusEvent e) { if (fSuppressError) { fSuppressError= false; @@ -242,46 +242,46 @@ public class EditTemplateDialog extends StatusDialog { } } }); - - createLabel(composite, PreferencesMessages.getString("EditTemplateDialog.context")); //$NON-NLS-1$ + + createLabel(composite, PreferencesMessages.getString("EditTemplateDialog.context")); //$NON-NLS-1$ fContextCombo= new Combo(composite, SWT.READ_ONLY); - + for (int i= 0; i < fContextTypes.length; i++) { fContextCombo.add(fContextTypes[i][1]); } - + fContextCombo.addModifyListener(listener); } - - createLabel(parent, PreferencesMessages.getString("EditTemplateDialog.description")); //$NON-NLS-1$ - + + createLabel(parent, PreferencesMessages.getString("EditTemplateDialog.description")); //$NON-NLS-1$ + int descFlags= fIsNameModifiable ? SWT.BORDER : SWT.BORDER | SWT.READ_ONLY; fDescriptionText= new Text(parent, descFlags ); - fDescriptionText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - + fDescriptionText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fDescriptionText.addModifyListener(listener); Label patternLabel= createLabel(parent, PreferencesMessages.getString("EditTemplateDialog.pattern")); //$NON-NLS-1$ patternLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); fPatternEditor= createEditor(parent); - - Label filler= new Label(parent, SWT.NONE); + + Label filler= new Label(parent, SWT.NONE); filler.setLayoutData(new GridData()); - + Composite composite= new Composite(parent, SWT.NONE); - layout= new GridLayout(); + layout= new GridLayout(); layout.marginWidth= 0; layout.marginHeight= 0; - composite.setLayout(layout); + composite.setLayout(layout); composite.setLayoutData(new GridData()); - + fInsertVariableButton= new Button(composite, SWT.NONE); fInsertVariableButton.setLayoutData(getButtonGridData(fInsertVariableButton)); fInsertVariableButton.setText(PreferencesMessages.getString("EditTemplateDialog.insert.variable")); //$NON-NLS-1$ fInsertVariableButton.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { fPatternEditor.getTextWidget().setFocus(); - fPatternEditor.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS); + fPatternEditor.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS); } public void widgetDefaultSelected(SelectionEvent e) {} @@ -300,13 +300,13 @@ public class EditTemplateDialog extends StatusDialog { applyDialogFont(parent); return composite; } - + protected void doTextWidgetChanged(Widget w) { if (w == fNameText) { fSuppressError= false; String name= fNameText.getText(); fTemplate.setName(name); - updateButtons(); + updateButtons(); } else if (w == fContextCombo) { String name= fContextCombo.getText(); String contextId= getContextId(name); @@ -315,16 +315,16 @@ public class EditTemplateDialog extends StatusDialog { } else if (w == fDescriptionText) { String desc= fDescriptionText.getText(); fTemplate.setDescription(desc); - } + } } - + private String getContextId(String name) { if (name == null) return name; - + for (int i= 0; i < fContextTypes.length; i++) { if (name.equals(fContextTypes[i][1])) { - return fContextTypes[i][0]; + return fContextTypes[i][0]; } } return name; @@ -346,12 +346,12 @@ public class EditTemplateDialog extends StatusDialog { updateUndoAction(); updateButtons(); - } + } private static GridData getButtonGridData(Button button) { GridData data= new GridData(GridData.FILL_HORIZONTAL); data.heightHint= SWTUtil.getButtonHeightHint(button); - + return data; } @@ -365,8 +365,8 @@ public class EditTemplateDialog extends StatusDialog { private static Text createText(Composite parent) { Text text= new Text(parent, SWT.BORDER); - text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - + text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + return text; } @@ -383,24 +383,24 @@ public class EditTemplateDialog extends StatusDialog { // XXX workaround for bug 63313 - disabling prefix until fixed. // viewer.setDocument(document, prefix.length(), document.getLength() - prefix.length()); viewer.setDocument(document); - + Font font= JFaceResources.getFont(PreferenceConstants.EDITOR_TEXT_FONT); viewer.getTextWidget().setFont(font); new JavaSourcePreviewerUpdater(viewer, configuration, store); - + int nLines= document.getNumberOfLines(); if (nLines < 5) { nLines= 5; } else if (nLines > 12) { - nLines= 12; + nLines= 12; } - + Control control= viewer.getControl(); GridData data= new GridData(GridData.FILL_BOTH); data.widthHint= convertWidthInCharsToPixels(80); data.heightHint= convertHeightInCharsToPixels(nLines); control.setLayoutData(data); - + viewer.addTextListener(new ITextListener() { public void textChanged(TextEvent event) { if (event .getDocumentEvent() != null) @@ -408,7 +408,7 @@ public class EditTemplateDialog extends StatusDialog { } }); - viewer.addSelectionChangedListener(new ISelectionChangedListener() { + viewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateSelectionDependentActions(); } @@ -419,10 +419,10 @@ public class EditTemplateDialog extends StatusDialog { handleVerifyKeyPressed(event); } }); - + return viewer; } - + private String getPrefix() { String prefix; int idx= getIndex(fTemplate.getContextTypeId()); @@ -440,7 +440,7 @@ public class EditTemplateDialog extends StatusDialog { if (event.stateMask != SWT.MOD1) return; - + switch (event.character) { case ' ': fPatternEditor.doOperation(ISourceViewer.CONTENTASSIST_PROPOSALS); @@ -451,7 +451,7 @@ public class EditTemplateDialog extends StatusDialog { case 'z' - 'a' + 1: fPatternEditor.doOperation(ITextOperationTarget.UNDO); event.doit= false; - break; + break; } } @@ -483,7 +483,7 @@ public class EditTemplateDialog extends StatusDialog { fSelectionActions.add(ITextEditorActionConstants.CUT); fSelectionActions.add(ITextEditorActionConstants.COPY); fSelectionActions.add(ITextEditorActionConstants.PASTE); - + // create context menu MenuManager manager= new MenuManager(null, null); manager.setRemoveAllWhenShown(true); @@ -493,7 +493,7 @@ public class EditTemplateDialog extends StatusDialog { } }); - StyledText text= fPatternEditor.getTextWidget(); + StyledText text= fPatternEditor.getTextWidget(); Menu menu= manager.createContextMenu(text); text.setMenu(menu); } @@ -501,8 +501,8 @@ public class EditTemplateDialog extends StatusDialog { private void fillContextMenu(IMenuManager menu) { menu.add(new GroupMarker(ITextEditorActionConstants.GROUP_UNDO)); menu.appendToGroup(ITextEditorActionConstants.GROUP_UNDO, (IAction) fGlobalActions.get(ITextEditorActionConstants.UNDO)); - - menu.add(new Separator(ITextEditorActionConstants.GROUP_EDIT)); + + menu.add(new Separator(ITextEditorActionConstants.GROUP_EDIT)); menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, (IAction) fGlobalActions.get(ITextEditorActionConstants.CUT)); menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, (IAction) fGlobalActions.get(ITextEditorActionConstants.COPY)); menu.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, (IAction) fGlobalActions.get(ITextEditorActionConstants.PASTE)); @@ -515,7 +515,7 @@ public class EditTemplateDialog extends StatusDialog { protected void updateSelectionDependentActions() { Iterator iterator= fSelectionActions.iterator(); while (iterator.hasNext()) - updateAction((String)iterator.next()); + updateAction((String)iterator.next()); } protected void updateUndoAction() { @@ -531,23 +531,23 @@ public class EditTemplateDialog extends StatusDialog { } private int getIndex(String contextid) { - + if (contextid == null) return -1; - + for (int i= 0; i < fContextTypes.length; i++) { if (contextid.equals(fContextTypes[i][0])) { - return i; + return i; } } return -1; } - + protected void okPressed() { super.okPressed(); } - - private void updateButtons() { + + private void updateButtons() { StatusInfo status; boolean valid= fNameText == null || fNameText.getText().trim().length() != 0; @@ -557,7 +557,7 @@ public class EditTemplateDialog extends StatusDialog { status.setError(PreferencesMessages.getString("EditTemplateDialog.error.noname")); //$NON-NLS-1$ } } else { - status= fValidationStatus; + status= fValidationStatus; } updateStatus(status); } @@ -567,7 +567,7 @@ public class EditTemplateDialog extends StatusDialog { */ protected void configureShell(Shell newShell) { super.configureShell(newShell); - WorkbenchHelp.setHelp(newShell, IJavaHelpContextIds.EDIT_TEMPLATE_DIALOG); + PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, IJavaHelpContextIds.EDIT_TEMPLATE_DIALOG); }