package dialog;
import java.util.ArrayList;
public class EFilteredItemsSelectionDialog extends {
//对话框 需要的集合数据
private List<String> list=new ArrayList<String>();
public EFilteredItemsSelectionDialog(Shell shell) {
super(shell);
//设置显示列表的 标签提供者
this.setListLabelProvider(new LabelProvider());
//设置详细内容的标签提供者
this.setDetailsLabelProvider(new LabelProvider());
//初始化界面数据
list.add("aaa");
list.add("bb");
list.add("cc");
}
//在列表下方界面的扩张
@Override
protected Control createExtendedContentArea(Composite parent) {
Button bt=new Button(parent, SWT.NONE);
bt.setText("aaaaaaaaaaaaaaaaaaaaaaaaaa");
return parent;
}
//创建过滤项
@Override
protected ItemsFilter createFilter() {
return new ItemsFilter() {
public boolean matchItem(Object item) {
return matches(getElementName(item));
}
public boolean isConsistentItem(Object item) {
return true;
}
};
}
//创建比较对象
@Override
protected Comparator getItemsComparator() {
return new Comparator() {
public int compare(Object arg0, Object arg1) {
System.out.println("1111");
return getElementName(arg0).compareTo(getElementName(arg1));
}
};
}
//添加数据到AbstractContentProvider中。
@Override
protected void fillContentProvider(AbstractContentProvider contentProvider,
ItemsFilter itemsFilter, IProgressMonitor progressMonitor)
throws CoreException {
for(String s:list)
{
contentProvider.add(s, itemsFilter);
}
}
// 得到 每个的数据
@Override
public String getElementName(Object item) {
// TODO Auto-generated method stub
return item+"";
}
@Override
protected IDialogSettings getDialogSettings() {
// TODO Auto-generated method stub
return new DialogSettings("testFilterD");
}
@Override
protected IStatus validateItem(Object item) {
// TODO Auto-generated method stub
return Status.OK_STATUS;
}
}