Skip to content
Snippets Groups Projects
Commit 9d0c6c1c authored by tu's avatar tu
Browse files

added editing support to EditMetadataComposite

parent 2bc145a5
No related branches found
No related tags found
1 merge request!65Rede wiedergabe dev
Pipeline #
package de.ids.tt.athen.rwview.ui;
import java.util.List;
import java.util.function.Function;
import javax.swing.JComboBox;
import org.apache.uima.cas.text.AnnotationFS;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
......@@ -24,20 +16,14 @@ import org.eclipse.swt.widgets.TableColumn;
import de.ids.tt.athen.rwview.part.RedeWiedergabeView;
import de.ids.tt.athen.rwview.ui.RwViewComposite;
import de.ids.tt.athen.rwview.ui.helper.FValEditingSupport;
import de.ids.tt.athen.rwview.ui.helper.MetadataObject;
public class EditMetadataComposite extends Composite{
private TableViewer editMetadataViewer;
private List<MetadataObject> metadataObjList;
//the controller
private RedeWiedergabeView part;
private RwViewComposite rwViewComposite;
public EditMetadataComposite(Composite parent, int style){
super(parent, style);
......@@ -45,7 +31,6 @@ public class EditMetadataComposite extends Composite{
public void setInput(RedeWiedergabeView part)
{
this.part = part;
initLayout();
}
......@@ -56,8 +41,6 @@ public class EditMetadataComposite extends Composite{
private void createTable(){
editMetadataViewer = new TableViewer(this,
SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.FILL);
GridData layoutDataEditMetadataTable = new GridData(GridData.GRAB_HORIZONTAL | GridData.FILL_BOTH | GridData.GRAB_VERTICAL);
......@@ -91,6 +74,7 @@ public class EditMetadataComposite extends Composite{
}
});
col = createTableViewerColumn(columnName[1], bounds[1], 1);
col.setLabelProvider(new ColumnLabelProvider() {
@Override
......@@ -99,6 +83,7 @@ public class EditMetadataComposite extends Composite{
return fVal.getFVal();
}
});
col.setEditingSupport(new FValEditingSupport(viewer));
}
private TableViewerColumn createTableViewerColumn(String viewer, int bound, final int colNumber) {
......
package de.ids.tt.athen.rwview.ui.helper;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.ColumnViewer;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TextCellEditor;
public class FValEditingSupport extends EditingSupport {
private final TableViewer viewer;
private final CellEditor editor;
public FValEditingSupport(TableViewer viewer) {
super(viewer);
this.viewer = viewer;
this.editor = new TextCellEditor(viewer.getTable());
}
@Override
protected CellEditor getCellEditor(Object element) {
return editor;
}
@Override
protected boolean canEdit(Object element) {
return true;
}
@Override
protected Object getValue(Object element) {
return ((MetadataObject) element).getFVal();
}
@Override
protected void setValue(Object element, Object userInputValue) {
((MetadataObject) element).setFVal(String.valueOf(userInputValue));
viewer.update(element, null);
}
}
package de.ids.tt.athen.rwview.ui.helper;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
//datamodel for EditMetadataComposite
public class MetadataObject {
private String attrName;
private String fVal;
private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(
this);
public MetadataObject() {
}
......@@ -15,6 +22,15 @@ public class MetadataObject {
this.fVal = fVal;
}
public void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener) {
propertyChangeSupport.addPropertyChangeListener(propertyName, listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertyChangeSupport.removePropertyChangeListener(listener);
}
public String getAttrName(){
return attrName;
}
......@@ -22,4 +38,8 @@ public class MetadataObject {
public String getFVal(){
return fVal;
}
public void setFVal(String fVal){
propertyChangeSupport.firePropertyChange("fVal", this.fVal, this.fVal = fVal);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment