Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/section/LocaleConfigSection.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/section/LocaleConfigSection.java421
1 files changed, 0 insertions, 421 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/section/LocaleConfigSection.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/section/LocaleConfigSection.java
deleted file mode 100644
index 3ac917a82..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/section/LocaleConfigSection.java
+++ /dev/null
@@ -1,421 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 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.section;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.common.notify.Adapter;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.edit.command.AddCommand;
-import org.eclipse.emf.edit.command.RemoveCommand;
-import org.eclipse.emf.edit.command.SetCommand;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jst.jsf.facesconfig.emf.ApplicationType;
-import org.eclipse.jst.jsf.facesconfig.emf.DefaultLocaleType;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigFactory;
-import org.eclipse.jst.jsf.facesconfig.emf.FacesConfigPackage;
-import org.eclipse.jst.jsf.facesconfig.emf.LocaleConfigType;
-import org.eclipse.jst.jsf.facesconfig.emf.SupportedLocaleType;
-import org.eclipse.jst.jsf.facesconfig.ui.dialog.DialogUtil;
-import org.eclipse.jst.jsf.facesconfig.ui.page.IFacesConfigPage;
-import org.eclipse.jst.jsf.facesconfig.ui.page.OthersPage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.IManagedForm;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-
-/**
- * @author Zhi-peng Zhang, sfshi
- * @version
- */
-public class LocaleConfigSection extends ApplicationSection implements
- ICheckStateListener {
- private LocaleConfigAdapter _localeConfigAdapter;
-
- /**
- *
- * @param componentClass
- * @param parent
- * @param managedForm
- * @param page
- * @param toolkit
- * @param helpContextId
- * @param helpTooltip
- */
- public LocaleConfigSection(EClass componentClass, Composite parent,
- IManagedForm managedForm, IFacesConfigPage page,
- FormToolkit toolkit, String helpContextId, String helpTooltip) {
- super(componentClass, parent, managedForm, page, toolkit,
- helpContextId, helpTooltip);
- }
-
- /**
- *
- * @param componentClass
- * @param parent
- * @param managedForm
- * @param page
- * @param toolkit
- */
- public LocaleConfigSection(EClass componentClass, Composite parent,
- IManagedForm managedForm, IFacesConfigPage page, FormToolkit toolkit) {
- this(componentClass, parent, managedForm, page, toolkit, null, null);
- }
-
- public void dispose() {
- ((CheckboxTableViewer)tableViewer).removeCheckStateListener(this);
- super.dispose();
- }
- /**
- * create a CheckboxTableViewer for this section.
- */
- protected TableViewer createTableViewer(Composite parent) {
- CheckboxTableViewer tableViewer1 = CheckboxTableViewer.newCheckList(
- parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
- tableViewer1.addCheckStateListener(this);
- tableViewer1.setSorter(new ViewerSorter());
- return tableViewer1;
- }
-
- /**
- * Add a filter for this table viewer, only <supported-locale> and
- * <default-locale> elements would be listed.
- */
- protected void configTableViewer(TableViewer tableViewer1) {
- tableViewer1.addFilter(new ViewerFilter() {
- public boolean select(Viewer viewer, Object parentElement,
- Object element) {
- return FacesConfigPackage.eINSTANCE.getSupportedLocaleType()
- .isInstance(element)
- || FacesConfigPackage.eINSTANCE.getDefaultLocaleType()
- .isInstance(element);
- }
- });
- }
-
- /**
- * Pop up a dialog for user to select a locale string, then create a
- * <supported-locale> element with the string as value.
- *
- * @return the supported locale object
- */
- public SupportedLocaleType createSupportedLocaleObject() {
- ArrayList locales = new ArrayList();
-
- /**
- * Compute the locales that already declared in this <locale-config>
- * element. If user select a locale that already declared, then a
- * warning message will be shown in the dialog.
- */
-
- if (getInput() instanceof ApplicationType
- && ((ApplicationType) getInput()).getLocaleConfig().size() > 0) {
- LocaleConfigType localeConfigType = (LocaleConfigType) ((ApplicationType) getInput())
- .getLocaleConfig().get(0);
- if (localeConfigType.getDefaultLocale() != null) {
- String locale = localeConfigType.getDefaultLocale()
- .getTextContent();
- if (locale != null) {
- locales.add(locale);
- }
- }
- List list = localeConfigType.getSupportedLocale();
- for (int i = 0, n = list.size(); i < n; i++) {
- String locale = ((SupportedLocaleType) list.get(i))
- .getTextContent();
- if (locale != null) {
- locales.add(locale);
- }
- }
- }
- String result = DialogUtil.openLocaleDialog(getSection().getShell(),
- locales);
- if (result != null) {
- SupportedLocaleType component = FacesConfigFactory.eINSTANCE
- .createSupportedLocaleType();
- component.setTextContent(result);
- return component;
- }
- return null;
- }
-
- /**
- * When user click "Add" button on this section, pop up a dialog to create a
- * <supported-locale> element, then add it onto <locale-config> element, if
- * the <locale-config> or <application> doesn't exist, create them together.
- */
- void addButtonSelected(SelectionEvent e) {
- SupportedLocaleType obj = createSupportedLocaleObject();
- if (obj != null) {
-
- boolean needRefreshAll = false;
- Command command = null;
-
- if (getInput() instanceof ApplicationType) {
- /** the <application> element exists. */
- ApplicationType application = (ApplicationType) getInput();
- if (application.getLocaleConfig().size() > 0) {
- /** the <locale-config> element exists. */
- LocaleConfigType localeConfig = (LocaleConfigType) application
- .getLocaleConfig().get(0);
- command = AddCommand.create(this.getEditingDomain(),
- localeConfig, null, obj);
- } else {
- /** the <locale-config> element doesn't exist, create it. */
- LocaleConfigType localeConfig = FacesConfigFactory.eINSTANCE
- .createLocaleConfigType();
- localeConfig.getSupportedLocale().add(obj);
- command = AddCommand.create(getEditingDomain(),
- application, null, localeConfig);
- }
- } else {
- /**
- * the <application> element doesn't exist, then create it,
- * after execute, reset the input for all the application
- * sections.
- */
- needRefreshAll = true;
- ApplicationType application = FacesConfigFactory.eINSTANCE
- .createApplicationType();
- LocaleConfigType localeConfig = FacesConfigFactory.eINSTANCE
- .createLocaleConfigType();
- localeConfig.getSupportedLocale().add(obj);
- application.getLocaleConfig().add(localeConfig);
- command = AddCommand.create(getEditingDomain(), this.getPage()
- .getInput(), null, application);
- }
-
- if (command.canExecute()) {
- getEditingDomain().getCommandStack().execute(command);
- if (needRefreshAll)
- /** reset input for all the application sections. */
- ((OthersPage) this.getPage()).resetApplicationInput();
- }
- }
-
- }
-
- /**
- * when user click on the CheckboxTableViewer, perform some actions to
- * set/unset <default-locale> and <supported-locale> elements.
- *
- * If an item is selected, that means it's a <default-locale>, otherwise
- * it's a <supported-locale>.
- *
- * @see org.eclipse.jface.viewers.ICheckStateListener#checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
- */
- public void checkStateChanged(CheckStateChangedEvent event) {
- boolean checked = event.getChecked();
-
- if (event.getElement() == null) {
- return;
- }
-
- EObject node = (EObject) event.getElement();
- LocaleConfigType localeConfigType = (LocaleConfigType) ((ApplicationType) getInput())
- .getLocaleConfig().get(0);
- CompoundCommand compoundCommand = new CompoundCommand();
-
- if (checked) {
- /** user checked one item, going to set it as <default-locale>. */
- if (localeConfigType.getDefaultLocale() != null) {
- /**
- * Change the <default-locale> value to <supported-locale>.
- */
- Command command = RemoveCommand.create(getEditingDomain(),
- localeConfigType, null, localeConfigType
- .getDefaultLocale());
-
- compoundCommand.append(command);
-
- SupportedLocaleType supportedLocale = FacesConfigFactory.eINSTANCE
- .createSupportedLocaleType();
- supportedLocale.setTextContent(localeConfigType
- .getDefaultLocale().getTextContent());
- command = AddCommand.create(getEditingDomain(),
- localeConfigType, FacesConfigPackage.eINSTANCE
- .getLocaleConfigType_SupportedLocale(),
- supportedLocale);
- compoundCommand.append(command);
- }
-
- /**
- * Change the selected item from <supported-locale> to
- * <default-locale>
- */
- SupportedLocaleType supportedLocale = (SupportedLocaleType) node;
- Command command = RemoveCommand.create(getEditingDomain(),
- localeConfigType, FacesConfigPackage.eINSTANCE
- .getLocaleConfigType_SupportedLocale(),
- supportedLocale);
- compoundCommand.append(command);
-
- DefaultLocaleType defaultLocale = FacesConfigFactory.eINSTANCE
- .createDefaultLocaleType();
- defaultLocale.setTextContent(supportedLocale.getTextContent());
- command = SetCommand
- .create(getEditingDomain(), localeConfigType,
- FacesConfigPackage.eINSTANCE
- .getLocaleConfigType_DefaultLocale(),
- defaultLocale);
- compoundCommand.append(command);
-
- } else {
- /**
- * User unchecked one item, going to change it from <default-locale>
- * to <supported-locale>.
- */
- DefaultLocaleType defaultLocale = (DefaultLocaleType) node;
- Command command = RemoveCommand.create(getEditingDomain(),
- localeConfigType, null, defaultLocale);
- compoundCommand.append(command);
-
- SupportedLocaleType supportedLocale = FacesConfigFactory.eINSTANCE
- .createSupportedLocaleType();
- supportedLocale.setTextContent(defaultLocale.getTextContent());
- command = AddCommand.create(getEditingDomain(), localeConfigType,
- null, supportedLocale);
- compoundCommand.append(command);
- }
-
- if (compoundCommand.canExecute()) {
- getEditingDomain().getCommandStack().execute(compoundCommand);
- this.refresh();
- setTableViewerCheckedState();
- }
- }
-
- /**
- * Set the checked state for items in the checkbox table viewer. This method
- * could be used for refresh the checked state of the table viewer.
- */
- private void setTableViewerCheckedState() {
- if (getInput() instanceof ApplicationType) {
- ApplicationType application = (ApplicationType) getInput();
- if (application.getLocaleConfig().size() > 0) {
-
- LocaleConfigType localeConfigType = (LocaleConfigType) application
- .getLocaleConfig().get(0);
- if (localeConfigType.getDefaultLocale() != null) {
- ((CheckboxTableViewer) getTableViewer()).setChecked(
- localeConfigType.getDefaultLocale(), true);
- }
- }
- }
- }
-
- @Override
- protected void addAdaptersOntoInput(Object input) {
- super.addAdaptersOntoInput(input);
- if (input != null && input instanceof ApplicationType) {
- ApplicationType application = (ApplicationType) input;
- if (EcoreUtil.getExistingAdapter(application,
- LocaleConfigSection.class) == null) {
- application.eAdapters().add(getLocaleConfigAdapter());
- }
- }
- }
-
- private Adapter getLocaleConfigAdapter() {
- if (_localeConfigAdapter == null) {
- _localeConfigAdapter = new LocaleConfigAdapter();
- }
- return _localeConfigAdapter;
- }
-
- @Override
- protected void removeAdaptersFromInput(Object input) {
- if (input != null && input instanceof ApplicationType && _localeConfigAdapter != null) {
- ApplicationType application = (ApplicationType) input;
- application.eAdapters().remove(_localeConfigAdapter);
- }
- super.removeAdaptersFromInput(input);
- }
-
- /**
- * set the structuredViewer's input. Set the first LocaleConfig as input.
- *
- * @param input
- */
- protected void setViewerInput(Object input) {
- if (input instanceof ApplicationType) {
- ApplicationType application = (ApplicationType) input;
- if (application.getLocaleConfig().size() > 0) {
- tableViewer.setInput(application.getLocaleConfig().get(0));
- } else
- tableViewer.setInput(null);
- } else
- tableViewer.setInput(null);
-
- }
-
- public void refreshAll() {
- super.refreshAll();
- setTableViewerCheckedState();
- }
-
- /**
- * A listener that is be adapted on the input <application> element, to
- * listen the event that the first <locale-config> being created and
- * removed, then reset the input of the tabel viewer.
- *
- * @author sfshi
- *
- */
- class LocaleConfigAdapter extends AdapterImpl {
- public boolean isAdapterForType(Object type) {
- if (type == LocaleConfigSection.class)
- return true;
- return false;
- }
-
- public void notifyChanged(Notification msg) {
- if (msg.getEventType() == Notification.ADD
- || msg.getEventType() == Notification.REMOVE) {
- if (msg.getFeature() == FacesConfigPackage.eINSTANCE
- .getApplicationType_LocaleConfig()) {
- /**
- * a <locale-config> was created or removed, notify this
- * section to reset it's input.
- */
-
- if (Thread.currentThread() == PlatformUI.getWorkbench().getDisplay().getThread()) {
- setInput(getInput());
- } else {
- PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
- public void run() {
- setInput(getInput());
- }
- });
- }
-
- }
- }
- }
-
- }
-}

Back to the top