face ArrayContentProvider getElements returns null
yidabu
yidabu.spam at gmail.com
Wed May 21 15:58:26 PDT 2008
I created a ticket for it:
http://www.dsource.org/projects/dwt/ticket/6
he bug is , col.toArray not executed
public Object[] getElements(Object inputElement) {
if ( auto aw = cast(ArrayWrapperObject) inputElement ) {
return aw.array;
}
if ( auto col = cast(View!(Object)) inputElement ) {
return col.toArray();
}
return null;
}
example code:
import dwtx.jface.viewers.ArrayContentProvider;
import dwtx.jface.viewers.LabelProvider;
import dwtx.jface.viewers.TableViewer;
import dwtx.jface.viewers.Viewer;
import dwt.layout.FillLayout;
import dwt.widgets.Display;
import dwt.widgets.Shell;
import dwt.DWT;
import dwt.dwthelper.utils;
import tango.util.Convert;
import tango.util.collection.ArraySeq;
public class Snippet001TableViewer {
public class MyModel {
public int counter;
public this(int counter) {
this.counter = counter;
}
public String toString() {
return "Item " ~ to!(char[])(this.counter);
}
}
public this(Shell shell) {
final TableViewer v = new TableViewer(shell);
v.setLabelProvider(new LabelProvider());
v.setContentProvider(new ArrayContentProvider());
ArraySeq!(MyModel) model = createModel();
v.setInput(model);
v.getTable().setLinesVisible(true);
}
private ArraySeq!(MyModel) createModel() {
ArraySeq!(MyModel) elements = new ArraySeq!(MyModel);
elements.capacity = 10;
for( int i = 0; i < 10; i++ ) {
elements ~= new MyModel(i);
}
return elements;
}
}
void main()
{
Display display = new Display ();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
new Snippet001TableViewer(shell);
shell.open ();
while (!shell.isDisposed ()) {
if (!display.readAndDispatch ()) display.sleep ();
}
display.dispose ();
}
--
yidabu <yidabu.spam at gmail.com>
http://www.dsource.org/projects/dwin
D 语言-中文(D Chinese):
http://www.d-programming-language-china.org/
http://bbs.d-programming-language-china.org/
http://dwin.d-programming-language-china.org/
http://scite4d.d-programming-language-china.org/
More information about the Digitalmars-d-dwt
mailing list