package xmleditor.editors; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ComboBoxCellEditor; import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.jface.viewers.ISelection; 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.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Item; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Widget; import org.eclipse.ui.forms.IDetailsPage; import org.eclipse.ui.forms.IFormPart; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.Section; import org.eclipse.ui.forms.widgets.TableWrapData; import org.eclipse.ui.forms.widgets.TableWrapLayout; import com.highsoft.common.jpa.meta.EntityFieldMetaData; import com.highsoft.common.jpa.meta.EntityMetaData; public class DetailPage implements IDetailsPage { private IManagedForm mform; private Section section; private Text name; private Text description; private Text class_; private Text table; private Text idGenType; private Text idClass; private Button add; private Button del; private Button sav; private Table field; // private TableViewer tableViewer; // private 表格 public Composite client; private EntityMetaData entityMetaData; private static final String RTEXT_DATA =Message.DetailNoitce; // public static final String[] COLUMN_NAME={"idFlag","column","length", // "precision","nullable","filterInclude","sortInclude"}; @Override public void createContents(Composite parent) { //设置父类面板的布局 TableWrapLayout layout= new TableWrapLayout(); layout.topMargin=5; layout.leftMargin=5; layout.rightMargin=2; layout.bottomMargin=2; parent.setLayout(layout); //获得表单工具对象 FormToolkit toolkit= mform.getToolkit(); //创建detail的内容区 section=toolkit.createSection(parent,Section.DESCRIPTION|Section.TITLE_BAR); section.marginWidth=10; section.setText(Message.DetailSectionName); section.setDescription(Message.DetailSectionDescription); TableWrapData td= new TableWrapData(TableWrapData.FILL,TableWrapData.TOP); td.grabHorizontal=true; section.setLayoutData(td); //创建内容区所设置的面板 client=toolkit.createComposite(section); section.setClient(client); GridLayout gridlayout= new GridLayout(); gridlayout.marginWidth=0; gridlayout.marginHeight=0; gridlayout.numColumns=2; gridlayout.marginLeft=0; gridlayout.marginRight=0; gridlayout.horizontalSpacing=10; client.setLayout(gridlayout); //创建detail部分的控件 GridData gridData= new GridData(); gridData.horizontalAlignment=GridData.FILL;//设置水平充满单元格 gridData.grabExcessHorizontalSpace=true; //水平抢占空间方式 toolkit.createLabel(client, "name:"); name=toolkit.createText(client, " "); name.setLayoutData(gridData); toolkit.createLabel(client, "description:"); description=toolkit.createText(client, " "); description.setLayoutData(gridData); toolkit.createLabel(client, "class:"); class_=toolkit.createText(client, " "); class_.setLayoutData(gridData); toolkit.createLabel(client, "table:"); table=toolkit.createText(client, " "); table.setLayoutData(gridData); toolkit.createLabel(client, "idGenType:"); idGenType=toolkit.createText(client, " "); idGenType.setLayoutData(gridData); toolkit.createLabel(client, "idClass:"); idClass=toolkit.createText(client, " "); idClass.setLayoutData(gridData); // field=toolkit.createTable(client, SWT.FULL_SELECTION); // field.setLinesVisible(true); // field.setHeaderVisible(true); // TableItem[] items=field.getItems(); // // for(int i=0;i<items.length;i++){ // final TableEditor editor= new TableEditor(field); // final Text text= new Text(field,SWT.NONE); // text.setText(items[i].getText(0)); // editor.grabHorizontal=true; // editor.setEditor(text, items[i], 0); // text.addModifyListener(new ModifyListener() { // // @Override // public void modifyText(ModifyEvent e) { // // // editor.getItem().setText(1, text.getText()); // // } // }); // } // // GridData gdd = new GridData(GridData.FILL_BOTH); // gdd.heightHint = 200; // gdd.widthHint = 210; // gdd.horizontalSpan=2; // field.setLayoutData(gdd); // tableViewer=new TableViewer(field); // //創建表頭 // for(int i=0;i<COLUMN_NAME.length;i++){ // TableViewerColumn column = new TableViewerColumn(tableViewer, SWT.LEFT); // column.getColumn().setText(COLUMN_NAME[i]); // column.getColumn().setWidth(100); // // column.setEditingSupport(new TableViewerEditingSupport(tableViewer, i)); // //new org.eclipse.swt.widgets.TableColumn(tableViewer.getTable(), SWT.LEFT).setText(COLUMN_NAME[i]); // // tableViewer.getTable().getColumn(i).pack(); // } // tableViewer.setContentProvider(new DetailContentProvider()); // tableViewer.setLabelProvider(new DeatilLabelProvider()); // // tableViewer.setColumnProperties(COLUMN_NAME); // CellEditor[] editors= new CellEditor[7]; // editors[0]=new TextCellEditor(tableViewer.getTable()); // //editors[0] = new ComboBoxCellEditor(tableViewer.getTable(), new String[] {"true","false"}, SWT.READ_ONLY); // editors[1]=new TextCellEditor(tableViewer.getTable()); // editors[2]=new TextCellEditor(tableViewer.getTable()); // editors[3]=new TextCellEditor(tableViewer.getTable()); // editors[4]=new TextCellEditor(tableViewer.getTable()); // editors[5]=new TextCellEditor(tableViewer.getTable()); // editors[6]=new TextCellEditor(tableViewer.getTable()); // tableViewer.setCellEditors(editors); // tableViewer.setCellModifier(new ICellModifier() { // // @Override // public void modify(Object element, String property, Object value) { // if(element instanceof Item) // element=((Item)element).getData(); // EntityFieldMetaData entityFieldMetaData=(EntityFieldMetaData)element; // if(property.equals(COLUMN_NAME[0])) // entityFieldMetaData.setIdFlag(Boolean.parseBoolean((String)value)); // else if(property.equals(COLUMN_NAME[1])) // entityFieldMetaData.setColumn((String)value); // else if(property.equals(COLUMN_NAME[2])) // entityFieldMetaData.setLength(Integer.parseInt((String)value)); // else if(property.equals(COLUMN_NAME[3])) // entityFieldMetaData.setPrecision(Integer.parseInt((String)value)); // else if(property.equals(COLUMN_NAME[4])) // entityFieldMetaData.setNullable(Boolean.parseBoolean((String)value)); // else if(property.equals(COLUMN_NAME[5])) // entityFieldMetaData.setFilterInclude(Boolean.parseBoolean((String)value)); // else if(property.equals(COLUMN_NAME[6])) // entityFieldMetaData.setSortInclude(Boolean.parseBoolean((String)value)); // tableViewer.refresh(); // // } // // @Override // public Object getValue(Object element, String property) { // EntityFieldMetaData entityFieldMetaData=(EntityFieldMetaData)element; // if(property.equals(COLUMN_NAME[0])) // return String.valueOf(entityFieldMetaData.isIdFlag()); // else if(property.equals(COLUMN_NAME[1])) // return entityFieldMetaData.getColumn(); // else if(property.equals(COLUMN_NAME[2])) // return String.valueOf(entityFieldMetaData.getLength()); // else if(property.equals(COLUMN_NAME[3])) // return String.valueOf(entityFieldMetaData.getPrecision()); // else if(property.equals(COLUMN_NAME[4])) // return String.valueOf(entityFieldMetaData.isNullable()); // else if(property.equals(COLUMN_NAME[5])) // return String.valueOf(entityFieldMetaData.isFilterInclude()); // else if(property.equals(COLUMN_NAME[6])) // return String.valueOf(entityFieldMetaData.isSortInclude()); // return null; // } // // @Override // public boolean canModify(Object element, String property) { // // // TODO Auto-generated method stub // return true; // } // }); // Composite cmp= toolkit.createComposite(parent); GridLayout gddd= new GridLayout(); gddd.marginWidth=50; //gddd.numColumns=3; gddd.horizontalSpacing=10; cmp.setLayout(gddd); // add=toolkit.createButton(cmp, "Add...", SWT.PUSH); // del=toolkit.createButton(cmp, "DEL...", SWT.PUSH); // sav=toolkit.createButton(cmp, "Save", SWT.PUSH); //SelectionListener listener= new SelectionListener() { // // @Override // public void widgetSelected(SelectionEvent e) { // Widget w=e.widget; // if(w==add){ //第一个按钮触发事件 // TableItem item= new TableItem(field, SWT.NONE); // item.setText(new String[]{"true","COLUMN_0","20","2","false","true","true"}); // // }else if(w==del){//第二个按钮触发事件 // int selectedRow=field.getSelectionIndex(); // if(selectedRow>-1) // field.remove(selectedRow); // // }else if(w==sav){//第三个按钮触发事件 // TableItem[] items=field.getItems(); // // //保存文件代码。。。。。。 // } // // } // // @Override // public void widgetDefaultSelected(SelectionEvent arg0) { // // TODO Auto-generated method stub // // } // }; // add.addSelectionListener(listener); // del.addSelectionListener(listener); // sav.addSelectionListener(listener); } @Override public void commit(boolean arg0) { // TODO Auto-generated method stub } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void initialize(IManagedForm form) { // TODO Auto-generated method stub this.mform=form; } @Override public boolean isDirty() { // TODO Auto-generated method stub return false; } @Override public boolean isStale() { // TODO Auto-generated method stub return false; } @Override public void refresh() { // TODO Auto-generated method stub update(); } @Override public void setFocus() { // TODO Auto-generated method stub } @Override public boolean setFormInput(Object arg0) { // TODO Auto-generated method stub return false; } @Override //当master区域选中事件发生时 public void selectionChanged(IFormPart part, ISelection seletion) { //首先获得选中的对象 IStructuredSelection currentSelection=(IStructuredSelection)seletion; if(currentSelection.size()==1){ entityMetaData=(EntityMetaData)currentSelection.getFirstElement(); } if(entityMetaData!=null) update(); } private void update() { name.setText(entityMetaData.getEntityName()); description.setText(entityMetaData.getDescription()); class_.setText(entityMetaData.getEntityClass()); table.setText(entityMetaData.getTable()); idGenType.setText(entityMetaData.getIdGenType()); idClass.setText(entityMetaData.getIdClass()); // tableViewer.setInput(entityMetaData.getFieldList()); } }
[code="java"][/code]
好不容易做好的,不要了,删了可惜,在这备份一下吧