myTableRefresher = new TableRefreshPropertyListener(myEntitiesTableViewer, EOModel.ENTITIES); myTableRowRefresher = new TableRowRefreshPropertyListener(myEntitiesTableViewer, EOModel.ENTITY);
  public EOEntitiesTableViewer(Composite _parent, int _style) {    super(_parent, _style);    setLayout(new GridLayout(1, true));    myEntitiesTableViewer = new TableViewer(this, SWT.FULL_SELECTION);    myEntitiesTableViewer.setContentProvider(new EOEntitiesContentProvider());    myEntitiesTableViewer.setLabelProvider(new EOEntitiesLabelProvider(EOEntitiesConstants.COLUMNS));    myEntitiesTableViewer.setSorter(new EOEntitiesViewerSorter(myEntitiesTableViewer, EOEntitiesConstants.COLUMNS));    myEntitiesTableViewer.setColumnProperties(EOEntitiesConstants.COLUMNS);    Table entitiesTable = myEntitiesTableViewer.getTable();    entitiesTable.setLayoutData(new GridData(GridData.FILL_BOTH));    entitiesTable.setHeaderVisible(true);    entitiesTable.setLinesVisible(true);    TableUtils.createTableColumns(myEntitiesTableViewer, "EOEntity", EOEntitiesConstants.COLUMNS); //$NON-NLS-1$    ((EOEntitiesViewerSorter) myEntitiesTableViewer.getSorter()).sort(EOEntity.NAME);    CellEditor[] cellEditors = new CellEditor[EOEntitiesConstants.COLUMNS.length];    cellEditors[TableUtils.getColumnNumber(EOEntitiesConstants.COLUMNS, EOEntity.NAME)] = new TextCellEditor(entitiesTable);    cellEditors[TableUtils.getColumnNumber(EOEntitiesConstants.COLUMNS, EOEntity.EXTERNAL_NAME)] = new TextCellEditor(entitiesTable);    cellEditors[TableUtils.getColumnNumber(EOEntitiesConstants.COLUMNS, EOEntity.CLASS_NAME)] = new TextCellEditor(entitiesTable);    cellEditors[TableUtils.getColumnNumber(EOEntitiesConstants.COLUMNS, EOEntity.PARENT)] = new KeyComboBoxCellEditor(entitiesTable, new String[0], SWT.READ_ONLY);    myEntitiesTableViewer.setCellModifier(new EOEntitiesCellModifier(myEntitiesTableViewer, cellEditors));    myEntitiesTableViewer.setCellEditors(cellEditors);  }