Search in sources :

Example 11 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project webtools.sourceediting by eclipse.

the class OutputPropertiesBlock method createControl.

public void createControl(Composite parent) {
    TabItem item = new TabItem((TabFolder) parent, SWT.NONE);
    // $NON-NLS-1$
    item.setText(Messages.getString("OutputPropertiesBlock_0"));
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginBottom = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    item.setControl(composite);
    table = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
    table.setHeaderVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                performRemove();
            }
        }
    });
    TableColumn tc1 = new TableColumn(table, SWT.NONE);
    // $NON-NLS-1$
    tc1.setText(Messages.getString("OutputPropertiesBlock_1"));
    tc1.setWidth(350);
    tc1.setResizable(true);
    TableColumn tc2 = new TableColumn(table, SWT.NONE);
    // $NON-NLS-1$
    tc2.setText(Messages.getString("OutputPropertiesBlock_2"));
    tc2.setWidth(50);
    tc2.setResizable(true);
    Composite buttonComp = new Composite(composite, SWT.FILL);
    buttonComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    GridLayout gl = new GridLayout();
    gl.marginWidth = 0;
    buttonComp.setLayout(gl);
    Button addButton = new Button(buttonComp, SWT.PUSH);
    // $NON-NLS-1$
    addButton.setText(Messages.getString("OutputPropertiesBlock_3"));
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            OutputPropertyDialog dialog = new OutputPropertyDialog(getShell(), properties);
            if (dialog.open() == Window.OK) {
                List<IOutputProperty> newProperties = dialog.getOutpuProperties();
                String first = null;
                for (IOutputProperty property : newProperties) {
                    String att = property.getURI();
                    if (first == null)
                        first = att;
                    properties.setProperty(property.getURI(), null);
                }
                if (newProperties.size() > 0) {
                    tViewer.refresh();
                    tViewer.setSelection(new StructuredSelection(first), true);
                    tViewer.editElement(first, 1);
                    updateLaunchConfigurationDialog();
                }
            }
        }
    });
    removeButton = new Button(buttonComp, SWT.PUSH);
    // $NON-NLS-1$
    removeButton.setText(Messages.getString("OutputPropertiesBlock_4"));
    removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    removeButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            performRemove();
        }
    });
    setControl(table);
    tViewer = new TableViewer(table);
    tViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            return properties.getProperties().keySet().toArray(new String[0]);
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
    tViewer.setSorter(new ViewerSorter());
    tViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateRemoveButton();
        }
    });
    TableViewerColumn tvc1 = new TableViewerColumn(tViewer, tc1);
    tvc1.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String tv = (String) cell.getElement();
            cell.setText(tv);
        }

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

        @Override
        public String getToolTipText(Object element) {
            String tv = (String) element;
            return propertyUris.get(tv).getDescription();
        }
    });
    // ColumnViewerToolTipSupport.enableFor(tViewer);
    TableViewerColumn tvc2 = new TableViewerColumn(tViewer, tc2);
    tvc2.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            String tv = (String) cell.getElement();
            String val = properties.getProperty(tv);
            // $NON-NLS-1$
            cell.setText(val == null ? "" : val);
        }
    });
    tvc2.setEditingSupport(new EditingSupport(tViewer) {

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

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

        @Override
        protected Object getValue(Object element) {
            String tv = (String) element;
            String val = properties.getProperty(tv);
            // $NON-NLS-1$
            return val == null ? "" : val;
        }

        @Override
        protected void setValue(Object element, Object value) {
            String tv = (String) element;
            properties.setProperty(tv, (String) value);
            updateLaunchConfigurationDialog();
            tViewer.update(tv, null);
        }
    });
    restoreColumnSettings();
}
Also used : CellEditor(org.eclipse.jface.viewers.CellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) KeyAdapter(org.eclipse.swt.events.KeyAdapter) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) ViewerSorter(org.eclipse.jface.viewers.ViewerSorter) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn) CellLabelProvider(org.eclipse.jface.viewers.CellLabelProvider) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) TableColumn(org.eclipse.swt.widgets.TableColumn) ViewerCell(org.eclipse.jface.viewers.ViewerCell) TabItem(org.eclipse.swt.widgets.TabItem) IOutputProperty(org.eclipse.wst.xsl.jaxp.launching.IOutputProperty) GridData(org.eclipse.swt.layout.GridData) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) TableViewer(org.eclipse.jface.viewers.TableViewer) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 12 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project cubrid-manager by CUBRID.

the class ExportSettingPage method createControl.

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NONE);
    container.setLayout(new FormLayout());
    setControl(container);
    Composite leftComposite = new Composite(container, SWT.NONE);
    leftComposite.setLayout(new GridLayout());
    FormData leftData = new FormData();
    leftData.top = new FormAttachment(0, 5);
    leftData.bottom = new FormAttachment(100, 0);
    leftData.left = new FormAttachment(0, 5);
    leftData.right = new FormAttachment(45, 0);
    leftComposite.setLayoutData(leftData);
    Composite rightComposite = new Composite(container, SWT.NONE);
    FormData rightData = new FormData();
    rightData.top = new FormAttachment(0, 5);
    rightData.bottom = new FormAttachment(100, 0);
    rightData.left = new FormAttachment(45, 0);
    rightData.right = new FormAttachment(100, -5);
    rightComposite.setLayoutData(rightData);
    GridLayout rightCompositeLayout = new GridLayout();
    rightCompositeLayout.verticalSpacing = 10;
    rightComposite.setLayout(rightCompositeLayout);
    Label tableInfoLabel = new Label(leftComposite, SWT.None);
    tableInfoLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    tableInfoLabel.setText(Messages.exportWizardSourceTableLable);
    treeViewer = new CheckboxTreeViewer(leftComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    treeViewer.getTree().setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    treeViewer.setContentProvider(new FilterTreeContentProvider());
    treeViewer.getTree().setLinesVisible(true);
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            updateDialogStatus(null);
        }
    });
    final TreeViewerColumn dbObjectCol = new TreeViewerColumn(treeViewer, SWT.NONE);
    dbObjectCol.setLabelProvider(new ExportObjectLabelProvider());
    final TreeViewerColumn whereCnd = new TreeViewerColumn(treeViewer, SWT.NONE);
    whereCnd.setLabelProvider(new ExportObjectLabelProvider());
    whereCnd.setEditingSupport(new EditingSupport(treeViewer) {

        TextCellEditor textCellEditor;

        protected boolean canEdit(Object element) {
            if (element instanceof ICubridNode) {
                ICubridNode node = (ICubridNode) element;
                if (node.getType() == NodeType.TABLE_COLUMN_FOLDER) {
                    return true;
                }
            }
            return false;
        }

        protected CellEditor getCellEditor(Object element) {
            if (textCellEditor == null) {
                textCellEditor = new TextCellEditor(treeViewer.getTree());
                textCellEditor.addListener(new ICellEditorListener() {

                    public void applyEditorValue() {
                    }

                    public void cancelEditor() {
                    }

                    public void editorValueChanged(boolean oldValidState, boolean newValidState) {
                    }
                });
            }
            return textCellEditor;
        }

        protected Object getValue(Object element) {
            final ICubridNode node = (ICubridNode) element;
            String condition = (String) node.getData(ExportObjectLabelProvider.CONDITION);
            if (condition == null) {
                return "";
            } else {
                return condition;
            }
        }

        protected void setValue(Object element, Object value) {
            final ICubridNode node = (ICubridNode) element;
            node.setData(ExportObjectLabelProvider.CONDITION, value);
            treeViewer.refresh();
            updateDialogStatus(null);
        }
    });
    dbObjectCol.getColumn().setWidth(160);
    dbObjectCol.getColumn().setText(Messages.tableLabel);
    whereCnd.getColumn().setWidth(120);
    whereCnd.getColumn().setText(Messages.conditionLabel);
    final Button selectAllBtn = new Button(leftComposite, SWT.CHECK);
    {
        selectAllBtn.setText(Messages.btnSelectAll);
        GridData gridData = new GridData();
        gridData.grabExcessHorizontalSpace = true;
        gridData.horizontalIndent = 0;
        gridData.horizontalSpan = 3;
        selectAllBtn.setLayoutData(gridData);
    }
    selectAllBtn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            boolean selection = selectAllBtn.getSelection();
            for (ICubridNode node : tablesOrViewLst) {
                treeViewer.setGrayed(node, false);
                treeViewer.setChecked(node, selection);
            }
            updateDialogStatus(null);
        }
    });
    /* Export content option */
    Group exportOptionGroup = new Group(rightComposite, SWT.None);
    exportOptionGroup.setText(Messages.exportWizardWhatExport);
    exportOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    RowLayout layout = new RowLayout();
    layout.spacing = 8;
    layout.marginWidth = 5;
    exportOptionGroup.setLayout(layout);
    schemaButton = new Button(exportOptionGroup, SWT.CHECK);
    schemaButton.setText(Messages.lblExportTargetSchema);
    schemaButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            boolean selection = schemaButton.getSelection();
            indexButton.setEnabled(selection);
            serialButton.setEnabled(selection);
            viewButton.setEnabled(selection);
            startValueButton.setEnabled(selection);
            updateDialogStatus(null);
        }
    });
    dataButton = new Button(exportOptionGroup, SWT.CHECK);
    dataButton.setText(Messages.lblExportTargetData);
    dataButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    indexButton = new Button(exportOptionGroup, SWT.CHECK);
    indexButton.setText(Messages.lblExportTargetIndex);
    serialButton = new Button(exportOptionGroup, SWT.CHECK);
    serialButton.setText(Messages.lblExportTargetSerial);
    viewButton = new Button(exportOptionGroup, SWT.CHECK);
    viewButton.setText(Messages.lblExportTargetView);
    exportLobButton = new Button(exportOptionGroup, SWT.CHECK);
    exportLobButton.setText(Messages.lblExportLobData);
    exportLobButton.setToolTipText(Messages.lblExportLobData);
    exportLobButton.setEnabled(false);
    startValueButton = new Button(exportOptionGroup, SWT.CHECK);
    startValueButton.setText(Messages.lblExportTargetStartValue);
    startValueButton.setToolTipText(Messages.tipExportTargetStartValue);
    /* Type group */
    Group typeOptionGroup = new Group(rightComposite, SWT.None);
    typeOptionGroup.setText(Messages.exportWizardWhereExport);
    typeOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    typeOptionGroup.setLayout(new GridLayout(2, false));
    Label typeLabel = new Label(typeOptionGroup, SWT.None);
    typeLabel.setText(Messages.exportWizardFileType);
    typeLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    Composite typeComposite = new Composite(typeOptionGroup, SWT.None);
    typeComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    typeComposite.setLayout(new GridLayout(6, false));
    sqlButton = new Button(typeComposite, SWT.RADIO);
    sqlButton.setText("SQL");
    sqlButton.setToolTipText("SQL");
    sqlButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    sqlButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(false);
            setNullWidgetStatus(false);
            setDelimiterWidgetStatus(false);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    csvButton = new Button(typeComposite, SWT.RADIO);
    csvButton.setText("CSV");
    csvButton.setToolTipText("CSV");
    csvButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    csvButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(true);
            setNullWidgetStatus(true);
            setDelimiterWidgetStatus(false);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    xlsButton = new Button(typeComposite, SWT.RADIO);
    xlsButton.setText("XLS");
    xlsButton.setToolTipText("XLS");
    xlsButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    xlsButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(true);
            setNullWidgetStatus(true);
            setDelimiterWidgetStatus(false);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    xlsxButton = new Button(typeComposite, SWT.RADIO);
    xlsxButton.setText("XLSX");
    xlsxButton.setToolTipText("XLSX");
    xlsxButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    xlsxButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(true);
            setNullWidgetStatus(true);
            setDelimiterWidgetStatus(false);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    txtButton = new Button(typeComposite, SWT.RADIO);
    txtButton.setText("TXT");
    txtButton.setToolTipText("TXT");
    txtButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    txtButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(true);
            setNullWidgetStatus(true);
            setDelimiterWidgetStatus(true);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    obsButton = new Button(typeComposite, SWT.RADIO);
    obsButton.setText("OBS");
    obsButton.setToolTipText("OBS");
    obsButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    obsButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            useFirstAsColumnBtn.setEnabled(false);
            setNullWidgetStatus(false);
            setDelimiterWidgetStatus(false);
            updateDialogStatus(null);
            updateExportLobButtonStatus();
        }
    });
    Label pathLabel = new Label(typeOptionGroup, SWT.None);
    pathLabel.setText(Messages.exportWizardFilepath);
    pathLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    Composite fileComposite = new Composite(typeOptionGroup, SWT.None);
    fileComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    fileComposite.setLayout(new GridLayout(2, false));
    pathText = new Text(fileComposite, SWT.BORDER);
    pathText.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    pathText.setEditable(false);
    Button browseButton = new Button(fileComposite, SWT.None);
    browseButton.setText(Messages.btnBrowse);
    browseButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    browseButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            File savedDirFile = TableUtil.getSavedDir(getShell(), Messages.titleSelectFolderToBeExported, Messages.msgSelectFolderToBeExported, pathText.getText());
            if (savedDirFile != null) {
                String savePathString = null;
                String[] files = savedDirFile.list();
                String databaseName = getDatabase().getDatabaseInfo().getDbName();
                if (files != null && files.length > 0) {
                    String confirmMessage = Messages.bind(Messages.errorExportExistsFilesInFolder, databaseName);
                    boolean useCreate = CommonUITool.openConfirmBox(confirmMessage);
                    if (useCreate) {
                        File newFolder = new File(savedDirFile.getAbsolutePath() + File.separator + databaseName);
                        boolean existsDbNameFolder = newFolder.exists();
                        files = newFolder.list();
                        if (existsDbNameFolder && files != null && files.length > 0) {
                            String newFolderName = databaseName + "_" + DateUtil.getDatetimeStringOnNow("HHmmss");
                            savePathString = savedDirFile.getAbsolutePath() + File.separator + newFolderName;
                            String warnMessage = Messages.bind(Messages.errorExportExistsFilesInFolderWithRename, newFolderName);
                            CommonUITool.openWarningBox(warnMessage);
                        } else {
                            savePathString = savedDirFile.getAbsolutePath() + File.separator + databaseName;
                        }
                        new File(savePathString).mkdirs();
                    } else {
                        return;
                    }
                } else {
                    savePathString = savedDirFile.getAbsolutePath();
                }
                pathText.setText(savePathString);
            }
            updateDialogStatus(null);
        }
    });
    Group parsingGroup = new Group(rightComposite, SWT.None);
    parsingGroup.setText(Messages.exportWizardParsingOption);
    parsingGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    GridLayout parsingGroupLayout = new GridLayout(4, false);
    parsingGroupLayout.horizontalSpacing = 10;
    parsingGroup.setLayout(parsingGroupLayout);
    Label threadCountLabel = new Label(parsingGroup, SWT.None);
    threadCountLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    threadCountLabel.setText(Messages.lblThreadCount);
    threadCountSpinner = new Spinner(parsingGroup, SWT.BORDER | SWT.LEFT);
    threadCountSpinner.setValues(DEFAULT_EXPORT_THREAD_COUNT, MIN_EXPORT_THREAD_COUNT, MAX_EXPORT_THREAD_COUNT, 0, 1, 2);
    threadCountSpinner.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_FILL, 1, 1, -1, -1));
    Label emptyLabel = new Label(parsingGroup, SWT.None);
    emptyLabel.setLayoutData(CommonUITool.createGridData(2, 1, -1, -1));
    emptyLabel.setText("");
    Label dbCharsetLabel = new Label(parsingGroup, SWT.None);
    dbCharsetLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    dbCharsetLabel.setText(Messages.lblJDBCCharset);
    dbCharsetCombo = new Combo(parsingGroup, SWT.BORDER);
    dbCharsetCombo.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    dbCharsetCombo.setItems(QueryOptions.getAllCharset(null));
    dbCharsetCombo.setEnabled(false);
    Label fileCharsetLabel = new Label(parsingGroup, SWT.None);
    fileCharsetLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    fileCharsetLabel.setText(Messages.lblFileCharset);
    fileCharsetCombo = new Combo(parsingGroup, SWT.BORDER);
    fileCharsetCombo.setLayoutData(CommonUITool.createGridData(1, 1, -1, 21));
    fileCharsetCombo.setItems(QueryOptions.getAllCharset(null));
    Group dataOptionGroup = new Group(rightComposite, SWT.None);
    dataOptionGroup.setText(Messages.exportWizardDataOption);
    dataOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    dataOptionGroup.setLayout(new GridLayout(2, false));
    useFirstAsColumnBtn = new Button(dataOptionGroup, SWT.CHECK);
    {
        useFirstAsColumnBtn.setText(Messages.exportFirstLineFLAG);
        GridData gridData = new GridData();
        gridData.grabExcessHorizontalSpace = true;
        gridData.horizontalIndent = 0;
        gridData.horizontalSpan = 2;
        useFirstAsColumnBtn.setLayoutData(gridData);
        useFirstAsColumnBtn.setSelection(false);
    }
    Group delimiterOptionGroup = new Group(dataOptionGroup, SWT.None);
    delimiterOptionGroup.setText(Messages.exportWizardDelimiterOptions);
    delimiterOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    delimiterOptionGroup.setLayout(new GridLayout(2, false));
    Label columnLabel = new Label(delimiterOptionGroup, SWT.None);
    columnLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    columnLabel.setText(Messages.exportWizardColumnSeperator);
    columnDelimiterCombo = new Combo(delimiterOptionGroup, SWT.BORDER);
    columnDelimiterCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    columnDelimiterCombo.setTextLimit(32);
    columnDelimiterCombo.setItems(columnDelimeterName);
    columnDelimiterCombo.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            updateDialogStatus(null);
        }
    });
    Label rowLabel = new Label(delimiterOptionGroup, SWT.None);
    rowLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    rowLabel.setText(Messages.exportWizardRowSeperator);
    rowDelimiterCombo = new Combo(delimiterOptionGroup, SWT.BORDER);
    rowDelimiterCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    rowDelimiterCombo.setTextLimit(32);
    rowDelimiterCombo.setItems(rowDelimeterName);
    rowDelimiterCombo.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            updateDialogStatus(null);
        }
    });
    Group nullValueGroup = new Group(dataOptionGroup, SWT.None);
    nullValueGroup.setText(Messages.exportWizardNullOptions);
    nullValueGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    nullValueGroup.setLayout(new GridLayout(3, false));
    nullOneButton = new Button(nullValueGroup, SWT.RADIO);
    nullOneButton.setText("'NULL'");
    nullOneButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    nullTwoButton = new Button(nullValueGroup, SWT.RADIO);
    nullTwoButton.setText("'\\N'");
    nullTwoButton.setLayoutData(CommonUITool.createGridData(2, 1, -1, -1));
    nullThreeButton = new Button(nullValueGroup, SWT.RADIO);
    nullThreeButton.setText("'(NULL)'");
    nullThreeButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    otherButton = new Button(nullValueGroup, SWT.RADIO);
    otherButton.setText(Messages.btnOther);
    otherButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    otherButton.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateDialogStatus(null);
        }
    });
    otherText = new Text(nullValueGroup, SWT.BORDER);
    otherText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    otherText.setTextLimit(64);
    otherText.addModifyListener(new ModifyListener() {

        public void modifyText(ModifyEvent event) {
            updateDialogStatus(null);
        }
    });
    useFirstAsColumnBtn.setEnabled(false);
    setNullWidgetStatus(false);
    setDelimiterWidgetStatus(false);
}
Also used : Group(org.eclipse.swt.widgets.Group) ModifyListener(org.eclipse.swt.events.ModifyListener) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) CellEditor(org.eclipse.jface.viewers.CellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) Spinner(org.eclipse.swt.widgets.Spinner) Label(org.eclipse.swt.widgets.Label) EditingSupport(org.eclipse.jface.viewers.EditingSupport) Combo(org.eclipse.swt.widgets.Combo) GridLayout(org.eclipse.swt.layout.GridLayout) ModifyEvent(org.eclipse.swt.events.ModifyEvent) ICellEditorListener(org.eclipse.jface.viewers.ICellEditorListener) Button(org.eclipse.swt.widgets.Button) RowLayout(org.eclipse.swt.layout.RowLayout) SelectionEvent(org.eclipse.swt.events.SelectionEvent) FormAttachment(org.eclipse.swt.layout.FormAttachment) FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Text(org.eclipse.swt.widgets.Text) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) TreeViewerColumn(org.eclipse.jface.viewers.TreeViewerColumn) CheckboxTreeViewer(org.eclipse.jface.viewers.CheckboxTreeViewer) FilterTreeContentProvider(com.cubrid.common.ui.common.dialog.FilterTreeContentProvider) ExportObjectLabelProvider(com.cubrid.common.ui.common.navigator.ExportObjectLabelProvider) GridData(org.eclipse.swt.layout.GridData) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent) File(java.io.File) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 13 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project yamcs-studio by yamcs.

the class PropertiesEditDialog method createPropertiesViewer.

private TableViewer createPropertiesViewer(Composite parent) {
    TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTable().setLinesVisible(true);
    viewer.getTable().setHeaderVisible(true);
    TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Property");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);
    tvColumn = new TableViewerColumn(viewer, SWT.NONE);
    tvColumn.getColumn().setText("Value");
    tvColumn.getColumn().setMoveable(false);
    tvColumn.getColumn().setWidth(150);
    EditingSupport editingSupport = new PropertyDataEditingSupport(viewer, viewer.getTable());
    tvColumn.setEditingSupport(editingSupport);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new PropertyDataLabelProvider());
    viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    return viewer;
}
Also used : ArrayContentProvider(org.eclipse.jface.viewers.ArrayContentProvider) GridData(org.eclipse.swt.layout.GridData) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableViewer(org.eclipse.jface.viewers.TableViewer) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 14 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project tmdm-studio-se by Talend.

the class UpdateAutoIncrementDialog method createTable.

private void createTable(Composite mainComp) {
    int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.FULL_SELECTION;
    resultsViewer = new TableViewer(mainComp, style);
    resultsViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    resultsViewer.getTable().setHeaderVisible(true);
    resultsViewer.getTable().setLinesVisible(true);
    resultsViewer.setContentProvider(getContentProvider());
    TableViewerColumn column = new TableViewerColumn(resultsViewer, SWT.NONE);
    column.getColumn().setText(Messages.UpdateAutoIncrementDialog_entity);
    column.getColumn().setResizable(true);
    column.getColumn().setWidth(300);
    column.setLabelProvider(new CustomedLabelProvider(0));
    column.setEditingSupport(null);
    column = new TableViewerColumn(resultsViewer, SWT.NONE);
    column.getColumn().setText(Messages.UpdateAutoIncrementDialog_value);
    column.getColumn().setResizable(true);
    column.getColumn().setWidth(100);
    column.setLabelProvider(new CustomedLabelProvider(1));
    column.setEditingSupport(new EditingSupport(resultsViewer) {

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new VerificableTextCellEditor(resultsViewer.getTable());
        }

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

        @Override
        protected Object getValue(Object element) {
            Line line = (Line) element;
            return line.keyValues.get(1).value;
        }

        @Override
        protected void setValue(Object element, Object value) {
            Line line = (Line) element;
            line.keyValues.get(1).value = value.toString();
            resultsViewer.refresh();
        }
    });
    resultsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) resultsViewer.getSelection();
            resetBtn.setEnabled(!selection.isEmpty());
        }
    });
    List<Line> lines = getInput();
    resultsViewer.setInput(lines);
}
Also used : CellEditor(org.eclipse.jface.viewers.CellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) EditingSupport(org.eclipse.jface.viewers.EditingSupport) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) Point(org.eclipse.swt.graphics.Point) Line(com.amalto.workbench.models.Line) GridData(org.eclipse.swt.layout.GridData) TableViewer(org.eclipse.jface.viewers.TableViewer) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 15 with EditingSupport

use of org.eclipse.jface.viewers.EditingSupport in project webtools.sourceediting by eclipse.

the class AttributesBlock method createControl.

public void createControl(Composite parent) {
    TabItem item = new TabItem((TabFolder) parent, SWT.NONE);
    // $NON-NLS-1$
    item.setText(Messages.getString("AttributesBlock.0"));
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginBottom = 0;
    layout.marginWidth = 0;
    composite.setLayout(layout);
    item.setControl(composite);
    table = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
    table.setHeaderVisible(true);
    table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    table.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent event) {
            if (event.character == SWT.DEL && event.stateMask == 0) {
                performRemove();
            }
        }
    });
    TableColumn tc1 = new TableColumn(table, SWT.NONE);
    // $NON-NLS-1$
    tc1.setText(Messages.getString("AttributesBlock.2"));
    tc1.setWidth(350);
    tc1.setResizable(true);
    TableColumn tc2 = new TableColumn(table, SWT.NONE);
    // $NON-NLS-1$
    tc2.setText(Messages.getString("AttributesBlock.7"));
    tc2.setWidth(50);
    tc2.setResizable(true);
    Composite buttonComp = new Composite(composite, SWT.FILL);
    buttonComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    GridLayout gl = new GridLayout();
    gl.marginWidth = 0;
    buttonComp.setLayout(gl);
    Button addButton = new Button(buttonComp, SWT.PUSH);
    // $NON-NLS-1$
    addButton.setText(Messages.getString("AttributesBlock.8"));
    addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    addButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            AttributeDialog dialog = new AttributeDialog(getShell(), attributes);
            if (dialog.open() == Window.OK) {
                List<IAttribute> newAttributes = dialog.getAttributes();
                LaunchAttribute first = null;
                for (IAttribute attribute : newAttributes) {
                    // $NON-NLS-1$
                    LaunchAttribute att = new LaunchAttribute(attribute.getURI(), "string", null);
                    if (first == null)
                        first = att;
                    attributes.addAttribute(att);
                }
                if (newAttributes.size() > 0) {
                    tViewer.refresh();
                    tViewer.setSelection(new StructuredSelection(first), true);
                    tViewer.editElement(first, 1);
                    updateLaunchConfigurationDialog();
                }
            }
        }
    });
    removeButton = new Button(buttonComp, SWT.PUSH);
    // $NON-NLS-1$
    removeButton.setText(Messages.getString("AttributesBlock.14"));
    removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
    removeButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent e) {
        }

        public void widgetSelected(SelectionEvent e) {
            performRemove();
        }
    });
    setControl(table);
    tViewer = new TableViewer(table);
    tViewer.setContentProvider(new IStructuredContentProvider() {

        public Object[] getElements(Object inputElement) {
            return attributes.getAttributes().toArray(new LaunchAttribute[0]);
        }

        public void dispose() {
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            attributes = (LaunchAttributes) newInput;
        }
    });
    tViewer.setSorter(new ViewerSorter() {

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            LaunchAttribute a1 = (LaunchAttribute) e1;
            LaunchAttribute a2 = (LaunchAttribute) e2;
            return a1.uri.compareTo(a2.uri);
        }
    });
    tViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            updateRemoveButton();
        }
    });
    TableViewerColumn tvc1 = new TableViewerColumn(tViewer, tc1);
    tvc1.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            LaunchAttribute tv = (LaunchAttribute) cell.getElement();
            cell.setText(tv.uri);
        }

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

        @Override
        public String getToolTipText(Object element) {
            LaunchAttribute tv = (LaunchAttribute) element;
            return attributeUris.get(tv.uri).getDescription();
        }
    });
    // ColumnViewerToolTipSupport.enableFor(tViewer);
    TableViewerColumn tvc2 = new TableViewerColumn(tViewer, tc2);
    tvc2.setLabelProvider(new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            LaunchAttribute tv = (LaunchAttribute) cell.getElement();
            cell.setText(tv.value);
        }
    });
    tvc2.setEditingSupport(new EditingSupport(tViewer) {

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

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor(table);
        }

        @Override
        protected Object getValue(Object element) {
            LaunchAttribute tv = (LaunchAttribute) element;
            // $NON-NLS-1$
            return tv.value == null ? "" : tv.value;
        }

        @Override
        protected void setValue(Object element, Object value) {
            LaunchAttribute tv = (LaunchAttribute) element;
            tv.setValue((String) value);
            updateLaunchConfigurationDialog();
            tViewer.update(tv, null);
        }
    });
    restoreColumnSettings();
}
Also used : CellEditor(org.eclipse.jface.viewers.CellEditor) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) KeyAdapter(org.eclipse.swt.events.KeyAdapter) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) ViewerSorter(org.eclipse.jface.viewers.ViewerSorter) EditingSupport(org.eclipse.jface.viewers.EditingSupport) TableViewer(org.eclipse.jface.viewers.TableViewer) Viewer(org.eclipse.jface.viewers.Viewer) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) KeyEvent(org.eclipse.swt.events.KeyEvent) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) List(java.util.List) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn) CellLabelProvider(org.eclipse.jface.viewers.CellLabelProvider) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) TableColumn(org.eclipse.swt.widgets.TableColumn) LaunchAttribute(org.eclipse.wst.xsl.launching.config.LaunchAttribute) ViewerCell(org.eclipse.jface.viewers.ViewerCell) TabItem(org.eclipse.swt.widgets.TabItem) GridData(org.eclipse.swt.layout.GridData) IAttribute(org.eclipse.wst.xsl.jaxp.launching.IAttribute) IStructuredContentProvider(org.eclipse.jface.viewers.IStructuredContentProvider) TextCellEditor(org.eclipse.jface.viewers.TextCellEditor) LaunchAttributes(org.eclipse.wst.xsl.jaxp.launching.LaunchAttributes) TableViewer(org.eclipse.jface.viewers.TableViewer) SelectionListener(org.eclipse.swt.events.SelectionListener)

Aggregations

EditingSupport (org.eclipse.jface.viewers.EditingSupport)22 CellEditor (org.eclipse.jface.viewers.CellEditor)18 TableViewerColumn (org.eclipse.jface.viewers.TableViewerColumn)16 TextCellEditor (org.eclipse.jface.viewers.TextCellEditor)15 GridData (org.eclipse.swt.layout.GridData)13 TableViewer (org.eclipse.jface.viewers.TableViewer)9 Composite (org.eclipse.swt.widgets.Composite)9 SelectionEvent (org.eclipse.swt.events.SelectionEvent)8 GridLayout (org.eclipse.swt.layout.GridLayout)8 ColumnLabelProvider (org.eclipse.jface.viewers.ColumnLabelProvider)7 CheckboxCellEditor (org.eclipse.jface.viewers.CheckboxCellEditor)6 ISelectionChangedListener (org.eclipse.jface.viewers.ISelectionChangedListener)6 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)6 SelectionChangedEvent (org.eclipse.jface.viewers.SelectionChangedEvent)6 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)6 Button (org.eclipse.swt.widgets.Button)6 Label (org.eclipse.swt.widgets.Label)6 TreeViewerColumn (org.eclipse.jface.viewers.TreeViewerColumn)5 Viewer (org.eclipse.jface.viewers.Viewer)5 ViewerCell (org.eclipse.jface.viewers.ViewerCell)5