/*******************************************************************************
* Copyright © 2008, 2013 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*
*******************************************************************************/
package org.eclipse.edt.ide.deployment.rui.internal.preferences;
import org.eclipse.edt.ide.rui.internal.nls.ILocalesListViewer;
import org.eclipse.edt.ide.rui.internal.nls.Locale;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
/**
*
*/
public class HandlerLocalesContentProvider implements IStructuredContentProvider,
ILocalesListViewer {
TableViewer tableViewer;
HandlerLocalesList localesList;
/**
*
*/
public HandlerLocalesContentProvider(HandlerLocalesList localesList, TableViewer tableViewer) {
this.localesList = localesList;
this.tableViewer = tableViewer;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object inputElement) {
return localesList.getLocales().toArray();
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose() {
localesList.removeChangeListener(this);
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
if (newInput != null)
((HandlerLocalesList) newInput).addChangeListener(this);
if (oldInput != null)
((HandlerLocalesList) oldInput).removeChangeListener(this);
}
/* (non-Javadoc)
* @see com.ibm.etools.egl.rui.deploy.internal.preferences.ILocalesListViewer#addLocale(com.ibm.etools.egl.rui.deploy.internal.preferences.Locale)
*/
public void addLocale(Locale locale) {
tableViewer.add(locale);
ISelection selection = new StructuredSelection(locale);
tableViewer.setSelection(selection, true);
}
/* (non-Javadoc)
* @see com.ibm.etools.egl.rui.deploy.internal.preferences.ILocalesListViewer#removeLocale(com.ibm.etools.egl.rui.deploy.internal.preferences.Locale)
*/
public void removeLocale(Locale locale) {
tableViewer.remove(locale);
}
/* (non-Javadoc)
* @see com.ibm.etools.egl.rui.deploy.internal.preferences.ILocalesListViewer#updateLocale(com.ibm.etools.egl.rui.deploy.internal.preferences.Locale)
*/
public void updateLocale(Locale locale) {
tableViewer.update(locale, null);
tableViewer.setSelection(null);
}
public void clear() {
tableViewer.refresh();
}
}