这是我的第一个SO问题。我希望我提供足够的细节。
我有一个带有ScopeContainer类的EMF模型,该类具有两个包含引用,它们是不同类型的EList

我已经产生了

  • 模型
  • model.edit
  • model.editor

  • Genmodel编码

    我正在尝试只在一个Column中的org.eclipse.jface.viewers.TableViewer中显示这些列表之一的内容。

    这不能是org.eclipse.swt.widgets.List,因为我希望能够编辑这些条目。
    TableViewer viewer;
    AdapterFactory adapterFactory = storage.getDomain().getAdapterFactory();
    AdapterFactoryLabelProvider labelProvider = new AdapterFactoryLabelProvider(adapterFactory);
    AdapterFactoryContentProvider contentProvider = new AdapterFactoryContentProvider(adapterFactory);
    
    viewer.setLabelProvider(labelProvider);
    viewer.setContentProvider(contentProvider);
    viewer.setInput(project.getScopecontainer().getFilters());
    

    当我将输入设置为ScopeContainer对象时。我可以看到两个列表中的所有对象
    当我将输入设置为EList<Filter>时,表为空。
    我该怎么做才能将TableViewer的输入设置为EList?

    最佳答案

    一个简单的解决方案是重写AdapterFactoryContentProvider.getElements()以返回Filter元素数组(从EList<Filter>输入派生)。

    10-07 11:59