Search in sources :

Example 11 with TableItem

use of org.eclipse.swt.widgets.TableItem in project GT by Tencent.

the class CopySelectedItemsFromTableViewAction method getContents.

/**
	 * 获取tableview控件的所有数据
	 * @return
	 */
private StringBuffer getContents() {
    StringBuffer sb = new StringBuffer();
    Table table = viewer.getTable();
    TableItem[] selectedItems = table.getSelection();
    int itemCount = selectedItems.length;
    int columnCount = table.getColumnCount();
    for (int i = 0; i < itemCount; i++) {
        for (int j = 0; j < columnCount; j++) {
            sb.append(selectedItems[i].getText(j));
            sb.append(SourceDataItem.SPLIT);
        }
        sb.deleteCharAt(sb.length() - 1);
        sb.append("\r\n");
    }
    return sb;
}
Also used : Table(org.eclipse.swt.widgets.Table) TableItem(org.eclipse.swt.widgets.TableItem)

Example 12 with TableItem

use of org.eclipse.swt.widgets.TableItem in project GT by Tencent.

the class DumpHprofAction method run.

@Override
public void run() {
    DevicesView deviceViewPart = (DevicesView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(DevicesView.ID);
    TableItem[] selectData = deviceViewPart.sourcePkgTableViewer.getTable().getSelection();
    if (selectData == null || selectData.length == 0) {
        APTConsoleFactory.getInstance().APTPrint("进程列表为空");
        return;
    }
    PkgInfo itemData = (PkgInfo) selectData[0].getData();
    final String pkgName = itemData.contents[PkgInfo.NAME_INDEX];
    DDMSUtil.dump(pkgName);
}
Also used : TableItem(org.eclipse.swt.widgets.TableItem) DevicesView(com.tencent.wstt.apt.ui.views.DevicesView) PkgInfo(com.tencent.wstt.apt.data.PkgInfo)

Example 13 with TableItem

use of org.eclipse.swt.widgets.TableItem in project GT by Tencent.

the class GCAction method run.

@Override
public void run() {
    DevicesView deviceViewPart = (DevicesView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(DevicesView.ID);
    TableItem[] selectData = deviceViewPart.sourcePkgTableViewer.getTable().getSelection();
    if (selectData == null || selectData.length == 0) {
        APTConsoleFactory.getInstance().APTPrint("进程列表为空");
        return;
    }
    PkgInfo itemData = (PkgInfo) selectData[0].getData();
    final String pkgName = itemData.contents[PkgInfo.NAME_INDEX];
    DDMSUtil.gc(pkgName);
}
Also used : TableItem(org.eclipse.swt.widgets.TableItem) DevicesView(com.tencent.wstt.apt.ui.views.DevicesView) PkgInfo(com.tencent.wstt.apt.data.PkgInfo)

Example 14 with TableItem

use of org.eclipse.swt.widgets.TableItem in project dbeaver by serge-rider.

the class ColumnsMappingDialog method createDialogArea.

@Override
protected Control createDialogArea(Composite parent) {
    DBPDataSource targetDataSource = settings.getTargetDataSource(mapping);
    getShell().setText("Map columns of " + mapping.getTargetName());
    boldFont = UIUtils.makeBoldFont(parent.getFont());
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    new Label(composite, SWT.NONE).setText("Source entity: " + DBUtils.getObjectFullName(mapping.getSource(), DBPEvaluationContext.UI) + " [" + mapping.getSource().getDataSource().getContainer().getName() + "]");
    new Label(composite, SWT.NONE).setText("Target entity: " + mapping.getTargetName() + " [" + (targetDataSource == null ? "?" : targetDataSource.getContainer().getName()) + "]");
    mappingViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.widthHint = 600;
    gd.heightHint = 300;
    mappingViewer.getTable().setLayoutData(gd);
    mappingViewer.getTable().setLinesVisible(true);
    mappingViewer.getTable().setHeaderVisible(true);
    mappingViewer.setContentProvider(new ListContentProvider());
    mappingViewer.getTable().addKeyListener(new KeyAdapter() {

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.character == SWT.DEL) {
                for (TableItem item : mappingViewer.getTable().getSelection()) {
                    DatabaseMappingAttribute attribute = (DatabaseMappingAttribute) item.getData();
                    attribute.setMappingType(DatabaseMappingType.skip);
                }
                updateStatus(Status.OK_STATUS);
                mappingViewer.refresh();
            } else if (e.character == SWT.SPACE) {
                for (TableItem item : mappingViewer.getTable().getSelection()) {
                    DatabaseMappingAttribute attribute = (DatabaseMappingAttribute) item.getData();
                    attribute.setMappingType(DatabaseMappingType.existing);
                    try {
                        attribute.updateMappingType(VoidProgressMonitor.INSTANCE);
                    } catch (DBException e1) {
                        updateStatus(GeneralUtils.makeExceptionStatus(e1));
                    }
                }
                mappingViewer.refresh();
            }
        }
    });
    {
        TableViewerColumn columnSource = new TableViewerColumn(mappingViewer, SWT.LEFT);
        columnSource.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) cell.getElement();
                cell.setText(DBUtils.getObjectFullName(attrMapping.getSource(), DBPEvaluationContext.UI));
                if (attrMapping.getIcon() != null) {
                    cell.setImage(DBeaverIcons.getImage(attrMapping.getIcon()));
                }
            }
        });
        columnSource.getColumn().setText("Source Column");
        columnSource.getColumn().setWidth(170);
    }
    {
        TableViewerColumn columnSourceType = new TableViewerColumn(mappingViewer, SWT.LEFT);
        columnSourceType.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                cell.setText(((DatabaseMappingAttribute) cell.getElement()).getSourceType());
            }
        });
        columnSourceType.getColumn().setText("Source Type");
        columnSourceType.getColumn().setWidth(100);
    }
    {
        TableViewerColumn columnTarget = new TableViewerColumn(mappingViewer, SWT.LEFT);
        columnTarget.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) cell.getElement();
                cell.setText(mapping.getTargetName());
                if (mapping.mappingType == DatabaseMappingType.unspecified) {
                    cell.setBackground(DBeaverUI.getSharedTextColors().getColor(SharedTextColors.COLOR_WARNING));
                } else {
                    cell.setBackground(null);
                }
                cell.setFont(boldFont);
            }
        });
        columnTarget.getColumn().setText("Target Column");
        columnTarget.getColumn().setWidth(170);
        columnTarget.setEditingSupport(new EditingSupport(mappingViewer) {

            @Override
            protected CellEditor getCellEditor(Object element) {
                try {
                    java.util.List<String> items = new ArrayList<>();
                    DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) element;
                    if (mapping.getParent().getMappingType() == DatabaseMappingType.existing && mapping.getParent().getTarget() instanceof DBSEntity) {
                        DBSEntity parentEntity = (DBSEntity) mapping.getParent().getTarget();
                        for (DBSEntityAttribute attr : CommonUtils.safeCollection(parentEntity.getAttributes(VoidProgressMonitor.INSTANCE))) {
                            items.add(attr.getName());
                        }
                    }
                    items.add(DatabaseMappingAttribute.TARGET_NAME_SKIP);
                    CustomComboBoxCellEditor editor = new CustomComboBoxCellEditor(mappingViewer.getTable(), items.toArray(new String[items.size()]), SWT.DROP_DOWN);
                    updateStatus(Status.OK_STATUS);
                    return editor;
                } catch (DBException e) {
                    updateStatus(GeneralUtils.makeExceptionStatus(e));
                    return null;
                }
            }

            @Override
            protected boolean canEdit(Object element) {
                return true;
            }

            @Override
            protected Object getValue(Object element) {
                return ((DatabaseMappingAttribute) element).getTargetName();
            }

            @Override
            protected void setValue(Object element, Object value) {
                try {
                    String name = CommonUtils.toString(value);
                    DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element;
                    if (DatabaseMappingAttribute.TARGET_NAME_SKIP.equals(name)) {
                        attrMapping.setMappingType(DatabaseMappingType.skip);
                    } else {
                        if (attrMapping.getParent().getMappingType() == DatabaseMappingType.existing && attrMapping.getParent().getTarget() instanceof DBSEntity) {
                            DBSEntity parentEntity = (DBSEntity) attrMapping.getParent().getTarget();
                            for (DBSEntityAttribute attr : CommonUtils.safeCollection(parentEntity.getAttributes(VoidProgressMonitor.INSTANCE))) {
                                if (name.equalsIgnoreCase(attr.getName())) {
                                    attrMapping.setTarget(attr);
                                    attrMapping.setMappingType(DatabaseMappingType.existing);
                                    return;
                                }
                            }
                        }
                        attrMapping.setMappingType(DatabaseMappingType.create);
                        attrMapping.setTargetName(name);
                    }
                    updateStatus(Status.OK_STATUS);
                } catch (DBException e) {
                    updateStatus(GeneralUtils.makeExceptionStatus(e));
                } finally {
                    mappingViewer.refresh();
                }
            }
        });
    }
    {
        TableViewerColumn columnTargetType = new TableViewerColumn(mappingViewer, SWT.LEFT);
        columnTargetType.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) cell.getElement();
                DBPDataSource dataSource = settings.getTargetDataSource(attrMapping);
                cell.setText(attrMapping.getTargetType(dataSource));
                cell.setFont(boldFont);
            }
        });
        columnTargetType.getColumn().setText("Target Type");
        columnTargetType.getColumn().setWidth(100);
        columnTargetType.setEditingSupport(new EditingSupport(mappingViewer) {

            @Override
            protected CellEditor getCellEditor(Object element) {
                DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element;
                Set<String> types = new LinkedHashSet<>();
                DBPDataSource dataSource = settings.getTargetDataSource(attrMapping);
                if (dataSource instanceof DBPDataTypeProvider) {
                    for (DBSDataType type : ((DBPDataTypeProvider) dataSource).getLocalDataTypes()) {
                        types.add(type.getName());
                    }
                }
                types.add(attrMapping.getTargetType(dataSource));
                return new CustomComboBoxCellEditor(mappingViewer.getTable(), types.toArray(new String[types.size()]), SWT.BORDER);
            }

            @Override
            protected boolean canEdit(Object element) {
                return true;
            }

            @Override
            protected Object getValue(Object element) {
                DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element;
                return attrMapping.getTargetType(settings.getTargetDataSource(attrMapping));
            }

            @Override
            protected void setValue(Object element, Object value) {
                DatabaseMappingAttribute attrMapping = (DatabaseMappingAttribute) element;
                attrMapping.setTargetType(CommonUtils.toString(value));
                mappingViewer.refresh(element);
            }
        });
    }
    {
        TableViewerColumn columnType = new TableViewerColumn(mappingViewer, SWT.LEFT);
        columnType.setLabelProvider(new CellLabelProvider() {

            @Override
            public void update(ViewerCell cell) {
                DatabaseMappingAttribute mapping = (DatabaseMappingAttribute) cell.getElement();
                String text = "";
                switch(mapping.getMappingType()) {
                    case unspecified:
                        text = "?";
                        break;
                    case existing:
                        text = "existing";
                        break;
                    case create:
                        text = "new";
                        break;
                    case skip:
                        text = "skip";
                        break;
                }
                cell.setText(text);
            }
        });
        columnType.getColumn().setText("Mapping");
        columnType.getColumn().setWidth(60);
    }
    mappingViewer.setInput(attributeMappings);
    return parent;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) DBException(org.jkiss.dbeaver.DBException) KeyAdapter(org.eclipse.swt.events.KeyAdapter) TableItem(org.eclipse.swt.widgets.TableItem) Label(org.eclipse.swt.widgets.Label) ArrayList(java.util.ArrayList) CustomComboBoxCellEditor(org.jkiss.dbeaver.ui.controls.CustomComboBoxCellEditor) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) ListContentProvider(org.jkiss.dbeaver.ui.controls.ListContentProvider) Composite(org.eclipse.swt.widgets.Composite) DBSDataType(org.jkiss.dbeaver.model.struct.DBSDataType) DBPDataSource(org.jkiss.dbeaver.model.DBPDataSource) DBSEntityAttribute(org.jkiss.dbeaver.model.struct.DBSEntityAttribute) GridData(org.eclipse.swt.layout.GridData) DBPDataTypeProvider(org.jkiss.dbeaver.model.DBPDataTypeProvider) DBSEntity(org.jkiss.dbeaver.model.struct.DBSEntity)

Example 15 with TableItem

use of org.eclipse.swt.widgets.TableItem in project dbeaver by serge-rider.

the class DataTransferPageFinal method activatePage.

@Override
public void activatePage() {
    resultTable.removeAll();
    DataTransferSettings settings = getWizard().getSettings();
    List<DataTransferPipe> dataPipes = settings.getDataPipes();
    for (DataTransferPipe pipe : dataPipes) {
        IDataTransferSettings consumerSettings = settings.getNodeSettings(pipe.getConsumer());
        IDataTransferProcessor processor = null;
        if (settings.getProcessor() != null) {
            // Processor is optional
            try {
                processor = settings.getProcessor().getInstance();
            } catch (Throwable e) {
                log.error("Can't create processor", e);
                continue;
            }
        }
        pipe.getConsumer().initTransfer(pipe.getProducer().getSourceObject(), consumerSettings, processor, processor == null ? null : settings.getProcessorProperties());
        TableItem item = new TableItem(resultTable, SWT.NONE);
        item.setText(0, DBUtils.getObjectFullName(pipe.getProducer().getSourceObject(), DBPEvaluationContext.UI));
        if (settings.getProducer() != null && settings.getProducer().getIcon() != null) {
            item.setImage(0, DBeaverIcons.getImage(settings.getProducer().getIcon()));
        }
        item.setText(1, pipe.getConsumer().getTargetName());
        if (settings.getProcessor() != null && settings.getProcessor().getIcon() != null) {
            item.setImage(1, DBeaverIcons.getImage(settings.getProcessor().getIcon()));
        } else if (settings.getConsumer() != null && settings.getConsumer().getIcon() != null) {
            item.setImage(1, DBeaverIcons.getImage(settings.getConsumer().getIcon()));
        }
    }
    activated = true;
    UIUtils.packColumns(resultTable, true);
    updatePageCompletion();
}
Also used : IDataTransferSettings(org.jkiss.dbeaver.tools.transfer.IDataTransferSettings) IDataTransferProcessor(org.jkiss.dbeaver.tools.transfer.IDataTransferProcessor) IDataTransferSettings(org.jkiss.dbeaver.tools.transfer.IDataTransferSettings) TableItem(org.eclipse.swt.widgets.TableItem)

Aggregations

TableItem (org.eclipse.swt.widgets.TableItem)323 Point (org.eclipse.swt.graphics.Point)76 Table (org.eclipse.swt.widgets.Table)58 SelectionEvent (org.eclipse.swt.events.SelectionEvent)56 ArrayList (java.util.ArrayList)46 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)40 GridData (org.eclipse.swt.layout.GridData)40 Composite (org.eclipse.swt.widgets.Composite)34 HashMap (java.util.HashMap)33 GridLayout (org.eclipse.swt.layout.GridLayout)33 Map (java.util.Map)31 TableColumn (org.eclipse.swt.widgets.TableColumn)31 List (java.util.List)27 HashSet (java.util.HashSet)25 Rectangle (org.eclipse.swt.graphics.Rectangle)23 Button (org.eclipse.swt.widgets.Button)23 Label (org.eclipse.swt.widgets.Label)22 TreeItem (org.eclipse.swt.widgets.TreeItem)17 Constraint (com.cubrid.common.core.common.model.Constraint)16 TableEditor (org.eclipse.swt.custom.TableEditor)16