Package org.geotools.process.vector.TransformProcess

Examples of org.geotools.process.vector.TransformProcess.Definition


    static List<Definition> createDefaultTransformDefinition(SimpleFeatureType featureType) {
        FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2();
        List<Definition> list = new ArrayList<TransformProcess.Definition>();
        if (featureType != null) {
            for (AttributeDescriptor descriptor : featureType.getAttributeDescriptors()) {
                Definition definition = new Definition();

                definition.name = descriptor.getLocalName();
                definition.binding = descriptor.getType().getBinding();
                definition.expression = ff.property(descriptor.getName());
View Full Code Here


        button.setLayoutData("cell 1 1 1 1,grow");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                int row = table.getTable().getSelectionIndex();
                Definition definition = new Definition();
                definition.name = "";
                definition.expression = Expression.NIL;
                transform.add(row, definition);
                table.refresh();
                table.setSelection(new StructuredSelection(definition));
            }
        });

        button = new Button(this, SWT.CENTER);
        button.setText("Up");
        button.setLayoutData("cell 1 2 1 1,grow");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                int row = table.getTable().getSelectionIndex();
                if (row == 0 || row == -1) {
                    return;
                }
                row--;
                Definition definition = selectedDefinition();
                transform.remove(definition);
                transform.add(row, definition);
                table.refresh();
                table.setSelection(new StructuredSelection(definition));
            }
        });

        button = new Button(this, SWT.CENTER);
        button.setText("Down");
        button.setLayoutData("cell 1 3 1 1,grow");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                int row = table.getTable().getSelectionIndex();
                if (row == transform.size() - 1 || row == -1) {
                    return;
                }
                row++;
                Definition definition = selectedDefinition();
                transform.remove(definition);
                transform.add(row, definition);
                table.refresh();
                table.setSelection(new StructuredSelection(definition));
            }
        });

        button = new Button(this, SWT.CENTER);
        button.setText("Remove");
        button.setLayoutData("cell 1 5 1 1,grow");
        button.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                int row = table.getTable().getSelectionIndex();
                if (row == -1) {
                    return;
                }
                if (row > 0) {
                    row = row - 1;
                }
                Definition definition = selectedDefinition();
                transform.remove(definition);
                table.refresh();

                if (row < transform.size()) {
                    table.getTable().setSelection(row);
                } else {
                    table.getTable().deselectAll();
                }
            }
        });

        table = new TableViewer(this, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
        table.setContentProvider(ArrayContentProvider.getInstance());
        table.getControl().setLayoutData(
                "cell 0 1 1 5, grow, height 200:50%:70%,width 300:pref:100%");

        TableViewerColumn column = new TableViewerColumn(table, SWT.NONE);
        column.getColumn().setWidth(100);
        column.getColumn().setMoveable(false);
        column.getColumn().setResizable(true);
        column.getColumn().setText("Attribute");
        column.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                Definition definition = (Definition) element;
                return definition.name;
            }
        });
        column = new TableViewerColumn(table, SWT.NONE);
        column.getColumn().setWidth(60);
        column.getColumn().setMoveable(false);
        column.getColumn().setResizable(true);
        column.getColumn().setText("Type");
        column.getColumn().setAlignment(SWT.CENTER);
        column.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                Definition definition = (Definition) element;
                return definition.binding == null ? NO_CONTENT : definition.binding.getSimpleName();
            }
        });
        column = new TableViewerColumn(table, SWT.NONE);
        column.getColumn().setWidth(140);
        column.getColumn().setMoveable(false);
        column.getColumn().setResizable(true);
        column.getColumn().setText("Expression");
        column.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                Definition definition = (Definition) element;
                return definition.expression == null ? NO_CONTENT : ECQL
                        .toCQL(definition.expression);
            }
        });
        table.getTable().setHeaderVisible(true);
        table.getTable().setLinesVisible(true);
        table.addSelectionChangedListener(tableListener);

        Transfer[] types = new Transfer[] { UDigByteAndLocalTransfer.getInstance() };
        table.addDragSupport(DND.DROP_MOVE | DND.DROP_DEFAULT, types, new DragSourceAdapter() {
            @Override
            public void dragSetData(DragSourceEvent event) {
                IStructuredSelection selection = (IStructuredSelection) table.getSelection();

                if (UDigByteAndLocalTransfer.getInstance().isSupportedType(event.dataType)) {
                    event.data = selection.getFirstElement();
                }
            }
        });

        // drag drop order support
        table.addDropSupport(DND.DROP_MOVE | DND.DROP_DEFAULT, types, new ViewerDropAdapter(table) {

            @Override
            public boolean validateDrop(Object target, int operation, TransferData transferType) {
                if (target instanceof Definition) {
                    return true;
                } else {
                    return false;
                }
            }

            @Override
            public boolean performDrop(Object data) {
                if (data instanceof Definition) {
                    listen(false);

                    int index = transform.indexOf(getCurrentTarget());

                    // if (location == LOCATION_BEFORE)
                    // index--;

                    Definition definition = (Definition) data;
                    transform.remove(definition);
                    transform.add(index, definition);
                    table.refresh();
                    table.setSelection(new StructuredSelection(definition));
View Full Code Here

TOP

Related Classes of org.geotools.process.vector.TransformProcess.Definition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.