diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/EditMapEntriesDialog.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/EditMapEntriesDialog.java | 449 |
1 files changed, 0 insertions, 449 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/EditMapEntriesDialog.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/EditMapEntriesDialog.java deleted file mode 100644 index ee914628f..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/dialog/EditMapEntriesDialog.java +++ /dev/null @@ -1,449 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ - - -package org.eclipse.jst.jsf.facesconfig.ui.dialog; - -import org.eclipse.core.resources.IProject; -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; -import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.TableLayout; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.viewers.ViewerFilter; -import org.eclipse.jst.jsf.common.ui.internal.dialogfield.ClassButtonDialogField; -import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogField; -import org.eclipse.jst.jsf.common.ui.internal.dialogfield.DialogFieldBase; -import org.eclipse.jst.jsf.common.ui.internal.dialogfield.LayoutUtil; -import org.eclipse.jst.jsf.common.ui.internal.guiutils.SWTUtils; -import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigFactory; -import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage; -import org.eclipse.jst.jsf.facesconfig.emf.KeyClassType; -import org.eclipse.jst.jsf.facesconfig.emf.KeyType; -import org.eclipse.jst.jsf.facesconfig.emf.MapEntriesType; -import org.eclipse.jst.jsf.facesconfig.emf.MapEntryType; -import org.eclipse.jst.jsf.facesconfig.emf.NullValueType; -import org.eclipse.jst.jsf.facesconfig.emf.ValueClassType; -import org.eclipse.jst.jsf.facesconfig.emf.ValueType; -import org.eclipse.jst.jsf.facesconfig.ui.EditorMessages; -import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin; -import org.eclipse.jst.jsf.facesconfig.ui.section.AbstractFacesConfigSection; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; - -/** - * - * @author sfshi - * - */ -public class EditMapEntriesDialog extends Dialog { - - private static final int MIN_DIALOG_WIDTH = 300; - - private static final int TABLE_DEFAULT_HEIGHT = 160; - - private ClassButtonDialogField keyClassField; - - private ClassButtonDialogField valueClassField; - - private IProject project; - - private TableViewer tableViewer; - - private Button removeButton; - - private Button editButton; - - private MapEntriesType mapEntries; - - private AbstractFacesConfigSection section; - - /** - * - * @param parentShell - * @param mapEntries - * the map-entries element that working on. - * @param section - */ - public EditMapEntriesDialog(Shell parentShell, MapEntriesType mapEntries, - AbstractFacesConfigSection section) { - super(parentShell); - this.mapEntries = mapEntries; - this.section = section; - } - - /* - * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) - */ - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(EditorMessages.EditMapEntriesDialog_EditingMapEntries); - } - - /* - * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) - */ - protected Control createDialogArea(Composite parent) { - Composite container = new Composite(parent, SWT.FILL); - GridData data = new GridData(GridData.FILL_BOTH); - container.setLayoutData(data); - - GridLayout gl = new GridLayout(); - gl.verticalSpacing = 0; - // gl.marginHeight = 0; - container.setLayout(gl); - createKeyValueSection(container); - createTableSection(container); - - initFields(); - return container; - } - - private void initFields() { - - if (mapEntries.getKeyClass() != null) - keyClassField.setText(mapEntries.getKeyClass().getTextContent()); - - if (mapEntries.getValueClass() != null) - valueClassField - .setText(mapEntries.getValueClass().getTextContent()); - - tableViewer.setInput(mapEntries); - } - - private void createKeyValueSection(Composite parent) { - keyClassField = new ClassButtonDialogField(getProject()); - keyClassField - .setLabelText(EditorMessages.InitializationSection_MapType_KeyClass); - - valueClassField = new ClassButtonDialogField(getProject()); - - valueClassField - .setLabelText(EditorMessages.InitializationSection_MapType_ValueClass); - - Composite typeSelectionSection = SWTUtils.createComposite(parent, - SWT.NONE); - - GridData gd = new GridData(GridData.FILL_HORIZONTAL); - typeSelectionSection.setLayoutData(gd); - - int numberOfColumns = 4; - GridLayout gl = new GridLayout(numberOfColumns, false); - typeSelectionSection.setLayout(gl); - - keyClassField.doFillIntoGrid(null, typeSelectionSection, - numberOfColumns); - LayoutUtil.setHorizontalGrabbing(keyClassField.getTextControl(null, - parent)); - - valueClassField.doFillIntoGrid(null, typeSelectionSection, - numberOfColumns); - } - - /** - * - * @param parent - */ - private void createTableSection(Composite parent) { - Composite mapValueSection = SWTUtils.createComposite(parent, SWT.NONE); - - GridData gd = new GridData(GridData.FILL_BOTH); - mapValueSection.setLayoutData(gd); - - int numberOfColumns = 3; - GridLayout gl = new GridLayout(numberOfColumns, false); - mapValueSection.setLayout(gl); - - DialogField valuesTitle = new DialogFieldBase(); - valuesTitle - .setLabelText(EditorMessages.InitializationSection_MapTable_Title); - - valuesTitle.doFillIntoGrid(null, mapValueSection, numberOfColumns); - - Table mapTable = new Table(mapValueSection, SWT.FULL_SELECTION - | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); - - mapTable.addSelectionListener(new SelectionAdapter() { - - public void widgetSelected(SelectionEvent e) { - updateButtonsStatus(); - - } - - }); - mapTable.addMouseListener(new MouseAdapter() { - public void mouseDoubleClick(MouseEvent e) { - if (((IStructuredSelection) tableViewer.getSelection()).size() > 0) - editButtonSelected(null); - } - }); - gd = new GridData(GridData.FILL_BOTH); - gd.horizontalSpan = 1; - gd.heightHint = TABLE_DEFAULT_HEIGHT; - mapTable.setLayoutData(gd); - mapTable.setHeaderVisible(true); - mapTable.setLinesVisible(true); - TableLayout layout = new TableLayout(); - mapTable.setLayout(layout); - - TableColumn keyCol = new TableColumn(mapTable, SWT.NONE); - keyCol - .setText(EditorMessages.InitializationSection_MapTable_Key); - layout.addColumnData(new ColumnWeightData(1, true)); - keyCol.setResizable(true); - - TableColumn valueCol = new TableColumn(mapTable, SWT.NONE); - layout.addColumnData(new ColumnWeightData(1, true)); - - valueCol - .setText(EditorMessages.InitializationSection_MapTable_Value); - valueCol.setResizable(true); - - tableViewer = new TableViewer(mapTable); - tableViewer.setContentProvider(new AdapterFactoryContentProvider( - getAdapterFactory())); - tableViewer.setLabelProvider(new AdapterFactoryLabelProvider( - getAdapterFactory())); - - tableViewer.addFilter(new ViewerFilter() { - public boolean select(Viewer viewer, Object parentElement, - Object element) { - return FacesConfigPackage.eINSTANCE.getMapEntryType() - .isInstance(element); - } - }); - - // map's operation buttons - Composite operationContainer = null; - - operationContainer = SWTUtils - .createComposite(mapValueSection, SWT.NONE); - - gd = new GridData(GridData.FILL_VERTICAL); - operationContainer.setLayoutData(gd); - gl = new GridLayout(); - operationContainer.setLayout(gl); - - Button addButton = SWTUtils.createPushButton(operationContainer, - EditorMessages.UI_Button_Add_more); - - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - gd.grabExcessHorizontalSpace = false; - addButton.setLayoutData(gd); - addButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - addButtonSelected(e); - } - }); - - editButton = SWTUtils.createPushButton(operationContainer, - EditorMessages.UI_Button_Edit_more); - - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - gd.grabExcessHorizontalSpace = false; - editButton.setLayoutData(gd); - editButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - editButtonSelected(e); - } - - }); - removeButton = SWTUtils.createPushButton(operationContainer, - EditorMessages.UI_Button_Remove); - - gd = new GridData(GridData.FILL_HORIZONTAL - | GridData.VERTICAL_ALIGN_BEGINNING); - gd.grabExcessHorizontalSpace = false; - removeButton.setLayoutData(gd); - removeButton.addSelectionListener(new SelectionAdapter() { - - public void widgetSelected(SelectionEvent e) { - removeButtonSelected(); - } - - }); - editButton.setEnabled(false); - removeButton.setEnabled(false); - } - - /** - * @return the current project - */ - public IProject getProject() { - if (project == null) { - project = (IProject) section.getPage().getEditor().getAdapter( - IProject.class); - } - return project; - } - private AdapterFactory getAdapterFactory() { - return section.getAdapterFactory(); - } - - private void addButtonSelected(SelectionEvent e) { - AddEditMapEntryDialog dialog = new AddEditMapEntryDialog(EditorPlugin - .getActiveShell(), true); - if (dialog.open() == Dialog.OK) { - MapEntryType mapEntry = FacesConfigFactory.eINSTANCE - .createMapEntryType(); - if (dialog.getKey() != null) { - KeyType key = FacesConfigFactory.eINSTANCE.createKeyType(); - key.setTextContent(dialog.getKey()); - mapEntry.setKey(key); - } - if (dialog.isNullValue()) { - NullValueType nullValue = FacesConfigFactory.eINSTANCE - .createNullValueType(); - mapEntry.setNullValue(nullValue); - } else { - ValueType value = FacesConfigFactory.eINSTANCE - .createValueType(); - value.setTextContent(dialog.getValue()); - mapEntry.setValue(value); - } - - mapEntries.getMapEntry().add(mapEntry); - } - - } - - private void editButtonSelected(SelectionEvent e) { - MapEntryType mapEntry = (MapEntryType) ((IStructuredSelection) tableViewer - .getSelection()).getFirstElement(); - AddEditMapEntryDialog dialog = new AddEditMapEntryDialog(EditorPlugin - .getActiveShell(), false); - if (mapEntry.getKey() != null) - dialog.setKey(mapEntry.getKey().getTextContent()); - if (mapEntry.getNullValue() != null) - dialog.setNullValue(true); - else if (mapEntry.getValue() != null) - dialog.setValue(mapEntry.getValue().getTextContent()); - - if (dialog.open() == Dialog.OK) { - if (mapEntry.getKey() != null) - mapEntry.getKey().setTextContent(dialog.getKey()); - else { - KeyType keyType = FacesConfigFactory.eINSTANCE.createKeyType(); - keyType.setTextContent(dialog.getKey()); - mapEntry.setKey(keyType); - } - if (dialog.isNullValue()) { - if (mapEntry.getValue() != null) - EcoreUtil.remove(mapEntry.getValue()); - // mapEntry.eUnset(FacesConfigPackage.eINSTANCE.getMapEntryType_Value()); - mapEntry.setNullValue(FacesConfigFactory.eINSTANCE - .createNullValueType()); - - } else { - if (mapEntry.getNullValue() != null) - EcoreUtil.remove(mapEntry.getNullValue()); - if (mapEntry.getValue() != null) - mapEntry.getValue().setTextContent(dialog.getValue()); - else { - ValueType value = FacesConfigFactory.eINSTANCE - .createValueType(); - value.setTextContent(dialog.getValue()); - mapEntry.setValue(value); - } - - } - tableViewer.refresh(mapEntry); - } - - } - - private void removeButtonSelected() { - MapEntryType mapEntry = (MapEntryType) ((IStructuredSelection) tableViewer - .getSelection()).getFirstElement(); - mapEntries.getMapEntry().remove(mapEntry); - tableViewer.refresh(); - updateButtonsStatus(); - } - - /** - * update the button status - */ - public void updateButtonsStatus() { - if (((IStructuredSelection) tableViewer.getSelection()).size() > 0) { - editButton.setEnabled(true); - removeButton.setEnabled(true); - } else { - editButton.setEnabled(false); - removeButton.setEnabled(false); - } - } - - /** - * - */ - protected void okPressed() { - KeyClassType keyClass = FacesConfigFactory.eINSTANCE - .createKeyClassType(); - keyClass.setTextContent(this.keyClassField.getText().trim()); - mapEntries.setKeyClass(keyClass); - ValueClassType valueClass = FacesConfigFactory.eINSTANCE - .createValueClassType(); - valueClass.setTextContent(this.valueClassField.getText().trim()); - mapEntries.setValueClass(valueClass); - super.okPressed(); - } - - /* - * @see org.eclipse.jface.window.Window#getInitialSize() - */ - protected Point getInitialSize() { - Point shellSize = super.getInitialSize(); - return new Point(Math.max( - convertHorizontalDLUsToPixels(MIN_DIALOG_WIDTH), shellSize.x), - shellSize.y); - } - - /** - * @param project - */ - public void setProject(IProject project) { - this.project = project; - } - - /** - * @return the map entries - */ - public MapEntriesType getMapEntries() { - return mapEntries; - } - - /** - * @param mapEntries - */ - public void setMapEntries(MapEntriesType mapEntries) { - this.mapEntries = mapEntries; - } -} |