Example usage for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn

List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn.

Prototype

public TableViewerColumn(TableViewer viewer, TableColumn column) 

Source Link

Document

Creates a new viewer column for the given TableViewer on the given TableColumn .

Usage

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.AbstractObjectComposite.java

License:Open Source License

/**
 * indexes table column//  w  w w.j a v  a 2s .  co m
 * @param tv
 */
protected void createIndexesColumn(final TableViewer tv, final ObjectComparator comparator) {
    //      String[] name = {"TABLE NAME", "INDEX NAME", "NON UNIQUE", "INDEX SCHEMA", "SEQ IN INDEX", 
    //                  "COLUMN NAME", "COLLATION", "CARDINALITY", "SUB PART", "PACKED", 
    //                  "NULLABLE",    "INDEX TYPE","COMMENT"
    //      };
    String[] name = { "Table Name", "Index Name", "Type", "Comment" };
    int[] size = { 120, 120, 70, 70//, 70, 
            //                  70,   70, 70, 70, 70, 
            //                  70, 70,   70
    };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn tableColumn = new TableViewerColumn(tv, SWT.LEFT);
        tableColumn.getColumn().setText(name[i]);
        tableColumn.getColumn().setWidth(size[i]);
        tableColumn.getColumn()
                .addSelectionListener(getSelectionAdapter(tv, comparator, tableColumn.getColumn(), i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.mongodb.collections.TadpoleMongoDBCollectionComposite.java

License:Open Source License

private void createWidget(final CTabFolder tabFolderObject) {
    CTabItem tbtmTable = new CTabItem(tabFolderObject, SWT.NONE);
    tbtmTable.setText("Collections"); //$NON-NLS-1$
    Composite compositeTables = new Composite(tabFolderObject, SWT.NONE);
    tbtmTable.setControl(compositeTables);
    GridLayout gl_compositeTables = new GridLayout(1, false);
    gl_compositeTables.verticalSpacing = 2;
    gl_compositeTables.horizontalSpacing = 2;
    gl_compositeTables.marginHeight = 2;
    gl_compositeTables.marginWidth = 2;//w  w w  .  j a  v  a 2 s .  com
    compositeTables.setLayout(gl_compositeTables);
    compositeTables.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    SashForm sashForm = new SashForm(compositeTables, SWT.NONE);
    sashForm.setOrientation(SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    //  SWT.VIRTUAL ?  FILTER ? ?? ?  .
    tableListViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION);
    tableListViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            IStructuredSelection is = (IStructuredSelection) event.getSelection();

            if (null != is) {
                TableDAO tableDAO = (TableDAO) is.getFirstElement();

                MongoDBEditorInput input = new MongoDBEditorInput(tableDAO.getName(), userDB, showTableColumns);
                IWorkbenchPage page = getSite().getWorkbenchWindow().getActivePage();
                try {
                    page.openEditor(input, MongoDBTableEditor.ID);
                } catch (PartInitException e) {
                    logger.error("Load the table data", e); //$NON-NLS-1$

                    Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$
                    ExceptionDetailsErrorDialog.openError(tabFolderObject.getShell(), "Error", //$NON-NLS-1$
                            Messages.ExplorerViewer_39, errStatus);
                }
            }
        }
    });
    tableListViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            // ??  ?? .
            try {
                IStructuredSelection is = (IStructuredSelection) event.getSelection();
                Object tableDAO = is.getFirstElement();

                if (tableDAO != null) {
                    TableDAO table = (TableDAO) tableDAO;

                    if (selectTableName.equals(table.getName()))
                        return;
                    selectTableName = table.getName();

                    showTableColumns = MongoDBQuery.collectionColumn(userDB, selectTableName);

                } else
                    showTableColumns = null;

                treeColumnViewer.setInput(showTableColumns);
                treeColumnViewer.refresh();

                TreeUtil.packTree(treeColumnViewer.getTree());

            } catch (Exception e) {
                logger.error("get table column", e); //$NON-NLS-1$

                Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$
                ExceptionDetailsErrorDialog.openError(tabFolderObject.getShell(), "Error", e.getMessage(), //$NON-NLS-1$
                        errStatus);
            }
        }
    });

    Table tableTableList = tableListViewer.getTable();
    tableTableList.setLinesVisible(true);
    tableTableList.setHeaderVisible(true);

    // sorter
    tableComparator = new MongoDBCollectionComparator();
    tableListViewer.setSorter(tableComparator);
    tableComparator.setColumn(0);

    TableViewerColumn tvColName = new TableViewerColumn(tableListViewer, SWT.NONE);
    TableColumn tbName = tvColName.getColumn();
    tbName.setWidth(150);
    tbName.setText("Name"); //$NON-NLS-1$
    tbName.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbName, 0));
    tvColName.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public Image getImage(Object element) {
            return ResourceManager.getPluginImage(Activator.PLUGIN_ID,
                    "resources/icons/objectExplorer/tables.png"); //$NON-NLS-1$
        }

        @Override
        public String getText(Object element) {
            TableDAO table = (TableDAO) element;
            return table.getName();
        }
    });
    //      tvColName.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 0));

    TableViewerColumn tvColRows = new TableViewerColumn(tableListViewer, SWT.RIGHT);
    TableColumn tbComment = tvColRows.getColumn();
    tbComment.setWidth(200);
    tbComment.setText("Rows"); //$NON-NLS-1$
    tbComment.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbComment, 1));
    tvColRows.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TableDAO table = (TableDAO) element;
            return NumberFormatUtils.commaFormat(table.getRows());
        }
    });
    //      tvColRows.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 1));

    TableViewerColumn tvColSize = new TableViewerColumn(tableListViewer, SWT.RIGHT);
    TableColumn tbSize = tvColSize.getColumn();
    tbSize.setWidth(200);
    tbSize.setText("Size"); //$NON-NLS-1$
    tbSize.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbComment, 1));
    tvColSize.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            TableDAO table = (TableDAO) element;
            return NumberFormatUtils.kbMbFormat(table.getSize());
        }
    });

    tableListViewer.setContentProvider(new ArrayContentProvider());
    tableListViewer.setInput(showTables);

    createMenu();

    // dnd  
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableListViewer.addDragSupport(DND_OPERATIONS, transferTypes,
            new TableDragListener(userDB, tableListViewer));

    // filter
    tableFilter = new TableFilter();
    tableListViewer.addFilter(tableFilter);

    // columns
    treeColumnViewer = new TreeViewer(sashForm, SWT.VIRTUAL | SWT.BORDER | SWT.FULL_SELECTION);
    Tree tableTableColumn = treeColumnViewer.getTree();
    tableTableColumn.setHeaderVisible(true);
    tableTableColumn.setLinesVisible(true);

    createTableMongoColumne();

    treeColumnViewer.setContentProvider(new MongoDBCollectionFieldsContentProvider());
    treeColumnViewer.setLabelProvider(new MongoDBCollectionFieldsLabelProvider());

    sashForm.setWeights(new int[] { 1, 1 });
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.mongodb.index.TadpoleMongoDBIndexesComposite.java

License:Open Source License

private void createWidget(final CTabFolder tabFolderObject) {
    CTabItem tbtmIndex = new CTabItem(tabFolderObject, SWT.NONE);
    tbtmIndex.setText("Indexes"); //$NON-NLS-1$

    Composite compositeIndexes = new Composite(tabFolderObject, SWT.NONE);
    tbtmIndex.setControl(compositeIndexes);
    GridLayout gl_compositeIndexes = new GridLayout(1, false);
    gl_compositeIndexes.verticalSpacing = 2;
    gl_compositeIndexes.horizontalSpacing = 2;
    gl_compositeIndexes.marginHeight = 2;
    gl_compositeIndexes.marginWidth = 2;
    compositeIndexes.setLayout(gl_compositeIndexes);

    SashForm sashForm = new SashForm(compositeIndexes, SWT.NONE);
    sashForm.setOrientation(SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    //  SWT.VIRTUAL ?  FILTER ? ?? ?  .
    tableViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION);
    Table tableTableList = tableViewer.getTable();
    tableTableList.setLinesVisible(true);
    tableTableList.setHeaderVisible(true);
    tableViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            try {
                IStructuredSelection is = (IStructuredSelection) event.getSelection();
                MongoDBIndexDAO tableDAO = (MongoDBIndexDAO) is.getFirstElement();

                if (tableDAO == null)
                    return;

                tableColumnViewer.setInput(tableDAO.getListIndexField());
                tableColumnViewer.refresh();

                TableUtil.packTable(tableColumnViewer.getTable());

            } catch (Exception e) {
                logger.error("get table column", e); //$NON-NLS-1$

                Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$
                ExceptionDetailsErrorDialog.openError(tabFolderObject.getShell(), "Error", e.getMessage(), //$NON-NLS-1$
                        errStatus);//from  ww w .j a  va2 s  .  c  o m
            }
        }
    });

    indexComparator = new DefaultComparator();
    tableViewer.setSorter(indexComparator);
    indexComparator.setColumn(0);

    createMongoDBIndexesColumn(tableViewer, indexComparator);

    tableViewer.setLabelProvider(new MongoDBIndexesLabelProvicer());
    tableViewer.setContentProvider(new ArrayContentProvider());

    indexFilter = new MongoDBIndexesViewFilter();
    tableViewer.addFilter(indexFilter);

    createMenu();

    // index detail column
    tableColumnViewer = new TableViewer(sashForm, SWT.VIRTUAL | SWT.BORDER | SWT.FULL_SELECTION);
    Table tableTableColumn = tableColumnViewer.getTable();
    tableTableColumn.setHeaderVisible(true);
    tableTableColumn.setLinesVisible(true);

    TableViewerColumn tableColumn = new TableViewerColumn(tableColumnViewer, SWT.LEFT);
    tableColumn.getColumn().setText("name");
    tableColumn.getColumn().setWidth(130);
    tableColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            MongoDBIndexFieldDAO table = (MongoDBIndexFieldDAO) element;
            return table.getName();
        }
    });

    tableColumn = new TableViewerColumn(tableColumnViewer, SWT.LEFT);
    tableColumn.getColumn().setText("order");
    tableColumn.getColumn().setWidth(100);
    tableColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            MongoDBIndexFieldDAO table = (MongoDBIndexFieldDAO) element;

            return table.getOrder().equals("1") ? "Ascending"
                    : table.getOrder().equals("-1") ? "Descending" : "Geospatial";
        }
    });

    tableColumnViewer.setContentProvider(new ArrayContentProvider());

    sashForm.setWeights(new int[] { 7, 3 });
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.mongodb.index.TadpoleMongoDBIndexesComposite.java

License:Open Source License

/**
 * mongodb index column/*w  ww.  ja v  a2s. c  o m*/
 * 
 * @param tableViewer
 * @param indexComparator
 */
private void createMongoDBIndexesColumn(TableViewer tv, ObjectComparator comparator) {
    String[] name = { "Collection Name", "Index Name", "Unique" };
    int[] size = { 120, 70, 70 };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn tableColumn = new TableViewerColumn(tv, SWT.LEFT);
        tableColumn.getColumn().setText(name[i]);
        tableColumn.getColumn().setWidth(size[i]);
        tableColumn.getColumn()
                .addSelectionListener(getSelectionAdapter(tv, comparator, tableColumn.getColumn(), i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.mongodb.serversidescript.TadpoleMongoDBJavaScriptComposite.java

License:Open Source License

/**
 * mongodb java script column//from w w w . j  av  a  2 s.c om
 * 
 * @param tableViewer
 * @param indexComparator
 */
private void createMongoDBIndexesColumn(TableViewer tv, ObjectComparator comparator) {
    String[] name = { "Name", "Contetn" };
    int[] size = { 120, 200 };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn tableColumn = new TableViewerColumn(tv, SWT.LEFT);
        tableColumn.getColumn().setText(name[i]);
        tableColumn.getColumn().setWidth(size[i]);
        tableColumn.getColumn()
                .addSelectionListener(getSelectionAdapter(tv, comparator, tableColumn.getColumn(), i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.index.TadpoleIndexesComposite.java

License:Open Source License

/**
 * index column list// w ww  .  j  a  va  2s.c  o m
 */
protected void createIndexColumne(final TableViewer tv) {
    String[] name = { "Seq", "Column", "Order" };
    int[] size = { 60, 300, 50 };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn indexColumn = new TableViewerColumn(tv, SWT.LEFT);
        indexColumn.getColumn().setText(name[i]);
        indexColumn.getColumn().setWidth(size[i]);
        indexColumn.getColumn().addSelectionListener(getSelectionAdapter(indexColumn, i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.orapackage.TadpolePackageComposite.java

License:Open Source License

/**
 * package procedure function list/*ww  w . j  a  v  a 2 s . co  m*/
 */
protected void createProcedureFunctionListColumne(final TableViewer tv) {
    String[] name = { "Type", "Name" };
    int[] size = { 120, 300 };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn packageProcFuncColumn = new TableViewerColumn(tv, SWT.LEFT);
        packageProcFuncColumn.getColumn().setText(name[i]);
        packageProcFuncColumn.getColumn().setWidth(size[i]);
        packageProcFuncColumn.getColumn().addSelectionListener(getSelectionAdapter(packageProcFuncColumn, i));
    }

    packageProcFuncViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection iss = (IStructuredSelection) event.getSelection();
            if (!iss.isEmpty()) {
                ProcedureFunctionDAO procedureDAO = (ProcedureFunctionDAO) iss.getFirstElement();

                ProcedureExecuterManager pm = new ProcedureExecuterManager(getUserDB(), procedureDAO);
                if (pm.isExecuted(procedureDAO, getUserDB())) {
                    ExecuteProcedureDialog epd = new ExecuteProcedureDialog(null, getUserDB(), procedureDAO);
                    epd.open();
                }
            } // end iss.isempty
        }
    });

}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.table.columns.TableColumnComposite.java

License:Open Source License

/**
 * table table column/* w w w  .  j  a v  a  2  s .  co m*/
 */
protected void createTableColumne() {
    String[] name = { Messages.get().Field, Messages.get().Type, Messages.get().Key, Messages.get().Comment,
            Messages.get().TadpoleTableComposite_8, Messages.get().Default,
            Messages.get().TadpoleTableComposite_10 };
    int[] size = { 120, 90, 100, 50, 50, 50, 50 };

    // table column tooltip
    ColumnViewerToolTipSupport.enableFor(tableColumnViewer);
    for (int i = 0; i < name.length; i++) {
        TableViewerColumn tableColumn = new TableViewerColumn(tableColumnViewer, SWT.LEFT);
        tableColumn.getColumn().setText(name[i]);
        tableColumn.getColumn().setWidth(size[i]);
        tableColumn.getColumn().addSelectionListener(getSelectionAdapter(tableColumn, i));
        tableColumn.getColumn().setMoveable(true);
        tableColumn.setEditingSupport(new ColumnCommentEditorSupport(getTableComposite().getTableListViewer(),
                tableColumnViewer, getUserDB(), i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.table.index.TadpoleIndexesComposite.java

License:Open Source License

/**
 * index column list//  w  w  w. ja v a  2s.c  o m
 */
protected void createIndexColumne(final TableViewer tv) {
    String[] name = { Messages.get().SEQ, Messages.get().Column, Messages.get().Order };
    int[] size = { 60, 300, 50 };

    for (int i = 0; i < name.length; i++) {
        TableViewerColumn indexColumn = new TableViewerColumn(tv, SWT.LEFT);
        indexColumn.getColumn().setText(name[i]);
        indexColumn.getColumn().setWidth(size[i]);
        indexColumn.getColumn().addSelectionListener(getSelectionAdapter(indexColumn, i));
    }
}

From source file:com.hangum.tadpole.rdb.core.viewers.object.sub.rdb.table.TadpoleTableComposite.java

License:Open Source License

private void createWidget(final CTabFolder tabFolderObject) {
    CTabItem tbtmTable = new CTabItem(tabFolderObject, SWT.NONE);
    tbtmTable.setText("Tables"); //$NON-NLS-1$

    Composite compositeTables = new Composite(tabFolderObject, SWT.NONE);
    tbtmTable.setControl(compositeTables);
    GridLayout gl_compositeTables = new GridLayout(1, false);
    gl_compositeTables.verticalSpacing = 2;
    gl_compositeTables.horizontalSpacing = 2;
    gl_compositeTables.marginHeight = 2;
    gl_compositeTables.marginWidth = 2;/*from w w w  .  ja  v a 2 s . c o  m*/
    compositeTables.setLayout(gl_compositeTables);
    compositeTables.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    SashForm sashForm = new SashForm(compositeTables, SWT.NONE);
    sashForm.setOrientation(SWT.VERTICAL);
    sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    tableListViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION);
    tableListViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            IStructuredSelection is = (IStructuredSelection) event.getSelection();
            if (null != is) {
                TableDAO tableDAO = (TableDAO) is.getFirstElement();
                String strSQL = GenerateDDLScriptUtils.genTableScript(userDB, tableDAO, showTableColumns);
                if (StringUtils.isNotEmpty(strSQL)) {
                    FindEditorAndWriteQueryUtil.run(userDB, strSQL, PublicTadpoleDefine.DB_ACTION.TABLES);
                }
            }
        }
    });
    tableListViewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (PublicTadpoleDefine.YES_NO.NO.toString().equals(userDB.getIs_showtables()))
                return;

            // ??  ?? .
            try {
                IStructuredSelection is = (IStructuredSelection) event.getSelection();
                Object tableDAO = is.getFirstElement();

                if (tableDAO != null) {
                    TableDAO table = (TableDAO) tableDAO;

                    if (selectTableName.equals(table.getName()))
                        return;
                    selectTableName = table.getName();

                    showTableColumns = TadpoleObjectQuery.makeShowTableColumns(userDB, table);

                } else {
                    showTableColumns = null;
                    selectTableName = "";
                }

                tableColumnViewer.setInput(showTableColumns);

                tableColumnComparator = new TableColumnComparator();
                tableColumnViewer.setSorter(tableColumnComparator);

                tableColumnViewer.refresh();
                TableUtil.packTable(tableColumnViewer.getTable());

            } catch (Exception e) {
                logger.error("get table column", e); //$NON-NLS-1$

                // initialize table columns
                showTableColumns.clear();
                tableColumnViewer.setInput(showTableColumns);
                tableColumnComparator = new TableColumnComparator();
                tableColumnViewer.setSorter(tableColumnComparator);
                tableColumnViewer.refresh();
                TableUtil.packTable(tableColumnViewer.getTable());

                // show error message
                Status errStatus = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e); //$NON-NLS-1$
                ExceptionDetailsErrorDialog.openError(tabFolderObject.getShell(), "Error", e.getMessage(), //$NON-NLS-1$
                        errStatus);
            }
        }
    });

    Table tableTableList = tableListViewer.getTable();
    tableTableList.setLinesVisible(true);
    tableTableList.setHeaderVisible(true);

    // sorter
    tableComparator = new TableComparator();
    tableListViewer.setSorter(tableComparator);
    tableComparator.setColumn(0);

    // auto table layout
    AutoResizeTableLayout layoutColumnLayout = new AutoResizeTableLayout(tableListViewer.getTable());

    TableViewerColumn tvColName = new TableViewerColumn(tableListViewer, SWT.NONE);
    TableColumn tbName = tvColName.getColumn();
    tbName.setWidth(170);
    tbName.setText("Name"); //$NON-NLS-1$
    tbName.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbName, 0));
    tvColName.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public Image getImage(Object element) {
            return ResourceManager.getPluginImage(Activator.PLUGIN_ID,
                    "resources/icons/objectExplorer/tables.png"); //$NON-NLS-1$
        }

        @Override
        public String getText(Object element) {
            TableDAO table = (TableDAO) element;
            return table.getName();
        }
    });
    tvColName.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 0));
    layoutColumnLayout.addColumnData(new ColumnWeightData(170));

    // table column tooltip
    ColumnViewerToolTipSupport.enableFor(tableListViewer);
    CellLabelProvider clpTable = new CellLabelProvider() {

        public String getToolTipText(Object element) {
            TableDAO table = (TableDAO) element;
            return table.getComment();
        }

        public Point getToolTipShift(Object object) {
            return new Point(5, 5);
        }

        public int getToolTipDisplayDelayTime(Object object) {
            return 100;
        }

        public int getToolTipTimeDisplayed(Object object) {
            return 5000;
        }

        public void update(ViewerCell cell) {
            TableDAO table = (TableDAO) cell.getElement();
            cell.setText(table.getComment());
        }
    };

    TableViewerColumn tvTableComment = new TableViewerColumn(tableListViewer, SWT.NONE);
    TableColumn tbComment = tvTableComment.getColumn();
    tbComment.setWidth(200);
    tbComment.setText("Comment"); //$NON-NLS-1$
    tbComment.addSelectionListener(getSelectionAdapter(tableListViewer, tableComparator, tbComment, 1));
    tvTableComment.setLabelProvider(clpTable);
    tvTableComment.setEditingSupport(new TableCommentEditorSupport(tableListViewer, userDB, 1));
    layoutColumnLayout.addColumnData(new ColumnWeightData(200));

    tableListViewer.getTable().setLayout(layoutColumnLayout);
    tableListViewer.setContentProvider(new ArrayContentProvider());
    tableListViewer.setInput(showTables);

    // dnd  
    Transfer[] transferTypes = new Transfer[] { TextTransfer.getInstance() };
    tableListViewer.addDragSupport(DND_OPERATIONS, transferTypes,
            new TableDragListener(userDB, tableListViewer));

    // filter
    tableFilter = new TableFilter();
    tableListViewer.addFilter(tableFilter);

    createTableMenu();

    // columns
    tableColumnViewer = new TableViewer(sashForm, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
    tableColumnViewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection is = (IStructuredSelection) event.getSelection();

            if (null != is) {
                TableColumnDAO tableDAO = (TableColumnDAO) is.getFirstElement();
                FindEditorAndWriteQueryUtil.runAtPosition(StringUtils.trim(tableDAO.getField()));
            }
        }
    });
    Table tableTableColumn = tableColumnViewer.getTable();
    tableTableColumn.setHeaderVisible(true);
    tableTableColumn.setLinesVisible(true);

    tableColumnComparator = new TableColumnComparator();
    tableColumnViewer.setSorter(tableColumnComparator);

    createTableColumne(tableColumnViewer);

    tableColumnViewer.setContentProvider(new ArrayContentProvider());
    tableColumnViewer.setLabelProvider(new TableColumnLabelprovider());

    createTableColumnMenu();

    sashForm.setWeights(new int[] { 1, 1 });
}