锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品久久久久久免费观看,久久精品国产亚洲一区二区 ,日本韩国欧美在线http://www.aygfsteel.com/jame-liu/articles/17789.htmljamejameWed, 02 Nov 2005 05:16:00 GMThttp://www.aygfsteel.com/jame-liu/articles/17789.htmlhttp://www.aygfsteel.com/jame-liu/comments/17789.htmlhttp://www.aygfsteel.com/jame-liu/articles/17789.html#Feedback2http://www.aygfsteel.com/jame-liu/comments/commentRss/17789.htmlhttp://www.aygfsteel.com/jame-liu/services/trackbacks/17789.htmlcheckbox.JPG
1.tableviewer鍒濆鍖?BR>TableViewer viewer = new TableViewer(chooseModuleGroup,SWT.FULL_SELECTION|SWT.BORDER);
   Table table=viewer.getTable();
   GridData griddata = new GridData(GridData.FILL_BOTH);
   griddata.horizontalSpan = 2;
   griddata.verticalSpan = 2;
   griddata.heightHint=100;
   table.setLayoutData(griddata);
   TableLayout layout = new TableLayout();
   layout.addColumnData(new ColumnWeightData(120, true));
   layout.addColumnData(new ColumnWeightData(120, true));
   TableColumn column1 = new TableColumn(table,SWT.CENTER);
   column1.setText("choose");
   TableColumn column2 = new TableColumn(table,SWT.CENTER);
   column2.setText("module");
   viewer.setColumnProperties(new String[]{"choose","module"});
   table.setLayout(layout);
   table.setLinesVisible(true);
   table.setHeaderVisible(true);
   viewer.setCellEditors(new CellEditor[] {new CheckboxCellEditor(table) ,new TextCellEditor(table)});
   viewer.setLabelProvider(new CheckBoxLabelProvider());
   viewer.setContentProvider(new CheckBoxContentProvider());
   viewer.setCellModifier(new ModuleSelectionModifier());
   viewer.setInput(selectionList);
   selectionList.collectSelectedModules();
2.鍒涘緩ICellModifier
class ModuleSelectionModifier implements ICellModifier{

   public boolean canModify(Object element, String property) {
    if(property.equals("choose")){
     return true;
    }
    return false;
   }

   public Object getValue(Object element, String property) {
    Object result=null;
    MichelleSelectedModule module=(MichelleSelectedModule)element;
    if(property.equals("choose")){
     return new Boolean(module.getSelected());
    }else if(property.equals("module")){
     return module.getPlugin();
       }else{
         return result;
       }
   }

   public void modify(Object element, String property, Object value) {
    MichelleSelectedModule module=(MichelleSelectedModule)((TableItem) element).getData();
    if(property.equals("choose")){
     module.setSelected(((Boolean)value).booleanValue());
    }
    selectionList.moduleChanged(module);
   }
  }
 }
3.鍒涘緩modellist 涓簍ableviewer鎻愪緵娣誨姞 鍒犻櫎 鏇存柊絳塵odel鐨勬柟娉?BR>private ModuleSelectionList selectionList=new ModuleSelectionList();
 class CheckBoxContentProvider implements IStructuredContentProvider,IModuleListViewer{
  public Object[] getElements(Object inputElement) {
   return selectionList.getElements();
  }

  public void dispose() {
   selectionList.removeChangeListener(this);
  }

  public void addModule(MichelleSelectedModule module) {
   viewer.add(module);
  }

  public void removeModule(MichelleSelectedModule module) {
   viewer.remove(module);
  }
  
  public void updateModule(MichelleSelectedModule module) {
   viewer.update(module, null); 
  }

  public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
   if (newInput != null)
    ((ModuleSelectionList) newInput).addChangeListener(this);
   if (oldInput != null)
    ((ModuleSelectionList) oldInput).removeChangeListener(this);
  }
 }
4.鍒涘緩LabelProvider  (榪欎釜LabelProvider 鍦ㄧ涓鍒楁彁渚沜heckbox閫夐」)
class CheckBoxLabelProvider extends LabelProvider implements ITableLabelProvider{
  private Image getImageByBoolean(boolean selected) {
      return selected?checkImage.createImage():unCheckImage.createImage();
  }
  public Image getColumnImage(Object element, int columnIndex) {
   return (columnIndex == 0) ?   // COMPLETED_COLUMN?
     getImageByBoolean(((MichelleSelectedModule) element).getSelected()) :
     null;
  }

  public String getColumnText(Object element, int columnIndex) {
   String result = "";
   if(element==null)return result;
   MichelleSelectedModule module=(MichelleSelectedModule)element;
   switch (columnIndex) {
    case 0:  // COMPLETED_COLUMN
     break;
    case 1 :
     result =module.getPlugin();
     break;
    default :
     break;  
   }
   return result;
  }
  
 }



jame 2005-11-02 13:16 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 郧西县| 沙湾县| 屏东市| 阳西县| 志丹县| 阜阳市| 敦化市| 临潭县| 项城市| 南岸区| 赫章县| 西和县| 宁晋县| 双鸭山市| 长汀县| 东阳市| 宁津县| 淮滨县| 金溪县| 长海县| 昌平区| 巩留县| 秭归县| 土默特左旗| 龙川县| 长宁区| 个旧市| 望城县| 赤峰市| 荆门市| 巴林右旗| 盐源县| 柏乡县| 桐城市| 灵川县| 呈贡县| 轮台县| 高雄市| 永和县| 盘锦市| 达拉特旗|