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

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

Introduction

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

Prototype

public ComboViewer(Composite parent, int style) 

Source Link

Document

Creates a combo viewer on a newly-created combo control under the given parent.

Usage

From source file:net.refractions.udig.style.sld.editor.raster.SingleBandEditorPage.java

License:Open Source License

private ComboViewer createPaletteViewer(Composite parent) {
    ComboViewer thiscv = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY);
    thiscv.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 2, 1));
    ((GridData) thiscv.getControl().getLayoutData()).widthHint = 150;
    // list of matching palettes

    thiscv.setLabelProvider(new LabelProvider() {

        public String getText(Object element) {
            if (element instanceof BrewerPalette) {
                return brewerLblProvider.getText(element);
            } else if (element instanceof String) {
                return (String) element;
            } else if (element instanceof PredefinedColorRule) {
                return ((PredefinedColorRule) element).getName();
            }/*from  w w w. j a  va  2 s . c  o m*/
            return super.getText(element);
        }
    });
    thiscv.setContentProvider(ArrayContentProvider.getInstance());

    return thiscv;

}

From source file:net.refractions.udig.tool.select.internal.AOILayerPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    page = new Composite(parent, SWT.NONE);

    GridLayout layout = new GridLayout();
    layout.numColumns = 2;/*from  w w w .jav a 2s.  c o  m*/
    page.setLayout(layout);

    Label comboLabel = new Label(page, SWT.LEFT);
    comboLabel.setText("Layer:");
    comboLabel.pack();

    listenStrategy(true);

    comboViewer = new ComboViewer(page, SWT.READ_ONLY);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof ILayer) {
                ILayer layer = (ILayer) element;
                return layer.getName();
            }
            return super.getText(element);
        }
    });
    List<ILayer> layers = getAOILayerStrategy().getAOILayers();
    comboViewer.setInput(layers);

    ILayer activeLayer = getAOILayerStrategy().getActiveLayer();
    setSelected(activeLayer);

    comboViewer.addSelectionChangedListener(comboListener);

    //        // list of current AOI features
    //        Label listLabel = new Label(page, SWT.LEFT);
    //        listLabel.setText("Current Features:");
    //        listLabel.pack();
    //        
    //        listViewer = new ListViewer(page, SWT.READ_ONLY);
    //        listViewer.setContentProvider(new ArrayContentProvider());
    //        listViewer.setLabelProvider(new LabelProvider(){
    //            @Override
    //            public String getText( Object element ) {
    //                if (element instanceof SimpleFeature) {
    //                    SimpleFeature feature = (SimpleFeature) element;
    //                    Collection<Property> properties = feature.getProperties();
    //                    String name = new String();
    //                    for (Property property : properties) {
    //                        String propertyName = property.getName().getLocalPart();
    //                        if(propertyName.toLowerCase().contains("name")) {
    //                            name = property.getValue().toString();
    //                            System.out.println(name);
    //                            continue;
    //                        }
    //                            
    //                    }
    //                    return name;
    //                }
    //                return super.getText(element);
    //            }
    //        });
    //        List<SimpleFeature> features = getAOILayerStrategy().getFeatures(); 
    //        listViewer.setInput(features);
}

From source file:net.refractions.udig.transformtool.TransformDialog.java

License:Open Source License

protected Control createDialogArea(Composite parent) {
    /*PlatformUI.getWorkbench().getHelpSystem().setHelp(
       this.dialogArea, "org.eclipse.help.transformtoolhelp");*/

    // Label label;
    GridData gridData;/*  w  ww  .j ava  2s . c  o m*/
    Composite container = (Composite) super.createDialogArea(parent);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    container.setLayout(layout);

    final RadioGroupComposite radios = new RadioGroupComposite();

    IMap map = ApplicationGIS.getActiveMap();
    IBlackboard blackboard = map.getBlackboard();

    if (blackboard.get(TransformTool.BLACKBOARD_SOURCELAYER) == null) {
        sourceLayer = (LayerImpl) map.getEditManager().getSelectedLayer();
        blackboard.put(TransformTool.BLACKBOARD_SOURCELAYER, sourceLayer);
    }

    final Label label = new Label(container, SWT.SINGLE);
    label.setText("Source Layer:");
    gridData = new GridData();
    gridData.verticalSpan = 1;
    gridData.horizontalSpan = 1;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    label.setLayoutData(gridData);

    final ComboViewer comboViewer = new ComboViewer(container, SWT.SINGLE);
    comboViewer.setLabelProvider(new LayerLabelProvider());
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setInput(map.getMapLayers().toArray());

    comboViewer.setSelection((ISelection) (new StructuredSelection(
            (Layer) blackboard.get(TransformTool.BLACKBOARD_SOURCELAYER))), true);

    gridData = new GridData();
    gridData.verticalSpan = 2;
    gridData.horizontalSpan = 2;
    gridData.verticalAlignment = GridData.FILL;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    comboViewer.getCombo().setLayoutData(gridData);

    comboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            IMap map = ApplicationGIS.getActiveMap();
            IBlackboard blackboard = map.getBlackboard();
            blackboard.put(TransformTool.BLACKBOARD_SOURCELAYER, (LayerImpl) selection.getFirstElement());

            System.out.println("Selected: " + selection.getFirstElement());
            sourceLayer = (LayerImpl) selection.getFirstElement();
            radios.refresh();
        }
    });

    //*******************Vector Group*************   

    gridData = new GridData();
    gridData.horizontalSpan = 2;

    gridData.verticalSpan = 1;

    (new VectorToolComposite(container)).addWidgets(gridData, radios);
    //      *******************Radio Group************* 
    gridData = new GridData();
    gridData.horizontalSpan = 2;
    gridData.grabExcessHorizontalSpace = true;
    gridData.verticalSpan = 3;
    gridData.horizontalAlignment = GridData.FILL;
    radios.addRadios(container, gridData);

    //**********************Info and transform group*****     
    Button infoButton = new Button(container, SWT.BUTTON1);
    infoButton.setText("Transformation info");

    Button transButton = new Button(container, SWT.BUTTON1);
    transButton.setText("Transform");
    gridData = new GridData();
    gridData.verticalSpan = 1;
    gridData.horizontalSpan = 2;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    infoButton.setLayoutData(gridData);
    transButton.setLayoutData(gridData);

    transButton.setEnabled(true);

    transButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            (new DialogUtility()).transClick();
            getShell().close();
        }
    });
    infoButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            Display.getDefault().syncExec(new Runnable() {
                public void run() {
                    IMap map = ApplicationGIS.getActiveMap();
                    IBlackboard blackboard = map.getBlackboard();

                    Object mt = blackboard.get(TransformTool.BLACKBOARD_MATHTRANSFORM);
                    MathTransformBuilder calculator = (MathTransformBuilder) blackboard
                            .get(TransformTool.BLACKBOARD_CALCULATOR);
                    int number = ((List<MappedPosition>) blackboard.get(VectorLayerReader.BLACKBOARD_PTS))
                            .size();

                    //    Layer sourceLayer = (Layer) blackboard.get(TransformTool.BLACKBOARD_SOURCELAYER);
                    //CoordinateReferenceSystem c = sourceLayer.getCRS();
                    try {
                        double m = calculator.getErrorStatistics().rms();

                        NumberFormat foramter = new DecimalFormat("0.00E0");
                        String error = foramter.format(m);
                        //m = Math.round(m*1000)/1000 ;
                        String info = "Transformation summary" + "\n" + "\n"
                                + "Number of ground control points: " + number + "\n" + "\n"
                                + "Cartesian  Standard deviation = " + error + " "
                                + ((Layer) blackboard.get(TransformTool.BLACKBOARD_SOURCELAYER)).getCRS()
                                        .getCoordinateSystem().getAxis(0).getUnit()
                                + "\n" + "\n" + mt.toString() + "\n"

                        ;

                        Dialog dialog = new InfoDialog(Display.getDefault().getActiveShell(), info);
                        dialog.open();

                        /*       MessageDialog.openInformation(Display.getDefault()
                           .getActiveShell(),
                           "Transformation summary",
                           "Number of idetical points: "
                           + ptSrc.length + "\n" + "\n"
                           + "Standard deviation = " + m +"\n" + "\n" + "\n"
                           + mt.toWKT()+"\n"+
                           "SourceLayer coordiante System"+ sourceLayer);
                         */
                    } catch (Exception e) {
                        MessageDialog.openInformation(Display.getDefault().getActiveShell(),
                                "Transformation summary", e.toString());
                    }
                }
            });
        }
    });

    return container;
}

From source file:net.refractions.udig.transformtool.VectorToolComposite.java

License:Open Source License

protected void addWidgets(GridData gridData, RadioGroupComposite radios) {
    this.radios = radios;
    IToolManager manager = ApplicationGIS.getToolManager();

    Group group = new Group(parent, SWT.NULL);
    group.setText("Transformation method:");
    group.setLayoutData(gridData);/*from  ww  w  . j  a va  2s  . c o  m*/

    GridLayout layout3 = new GridLayout();
    layout3.numColumns = 2;

    group.setLayout(layout3);

    final Label labelvector = new Label(group, SWT.SINGLE);
    labelvector.setText("Vector Layer (leave empty to create new):");

    gridData = new GridData();
    gridData.verticalSpan = 1;
    gridData.horizontalSpan = 2;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    labelvector.setLayoutData(gridData);

    IMap map = ApplicationGIS.getActiveMap();

    final ComboViewer comboVector = new ComboViewer(group, SWT.SINGLE);
    comboVector.setLabelProvider(new LayerLabelProvider());
    comboVector.setContentProvider(new ArrayContentProvider());
    comboVector.setInput(map.getMapLayers().toArray());
    gridData = new GridData();
    gridData.verticalSpan = 8;
    gridData.horizontalSpan = 2;
    gridData.horizontalAlignment = GridData.FILL;
    //  gridData.verticalAlignment   = GridData.FILL;
    comboVector.getCombo().setLayoutData(gridData);

    IBlackboard blackboard = map.getBlackboard();
    if (blackboard.get(TransformTool.BLACKBOARD_VECTORLAYER) != null) {
        comboVector.setSelection((ISelection) (new StructuredSelection(
                (Layer) blackboard.get(TransformTool.BLACKBOARD_VECTORLAYER))), true);
    }
    if (blackboard.get(TransformTool.BLACKBOARD_VECTORLAYER) != null) {
        comboVector.setSelection((ISelection) (new StructuredSelection(
                (Layer) blackboard.get(TransformTool.BLACKBOARD_VECTORLAYER))), true);
    }

    comboVector.addSelectionChangedListener(new ComboHandler());

    Button addButton = new Button(group, SWT.BUTTON1);
    addButton.setData(manager.getTool("net.refractions.udig.ui.transformtool.lineEdit",
            "net.refractions.udig.tool.edit.create"));
    addButton.setText("Add Vectors");

    gridData = new GridData();
    gridData.verticalSpan = 1;
    gridData.horizontalSpan = 1;
    gridData.horizontalAlignment = GridData.FILL;
    gridData.grabExcessHorizontalSpace = true;
    addButton.setLayoutData(gridData);
    addButton.addSelectionListener(new AddHandler());

    Button deleteButton = new Button(group, SWT.BUTTON1);
    deleteButton.setData(manager.getTool("net.refractions.udig.ui.transformtool.deleteTool",
            "net.refractions.udig.tool.edit.feature"));
    deleteButton.setText("Remove Vectors");
    deleteButton.addSelectionListener(new AddHandler());
    deleteButton.setLayoutData(gridData);

}

From source file:net.refractions.udig.tutorials.featureeditor.CountryPanelForm.java

License:Open Source License

public void createControl(Composite parent, FormToolkit toolkit) {

    this.toolkit = toolkit;

    form = toolkit.createScrolledForm(parent);
    form.getForm().addMessageHyperlinkListener(new HyperlinkAdapter() {
        @Override// w  w w . j av  a2s  .  co  m
        public void linkActivated(HyperlinkEvent e) {
            final IMessage[] errors = (IMessage[]) e.data;
            if (errors.length > 0) {
                final IMessage topError = errors[0];
                topError.getControl().setFocus();
            }
        }
    });
    form.getMessageManager().setMessagePrefixProvider(new IMessagePrefixProvider() {
        @Override
        public String getPrefix(Control control) {
            return control.getData().toString() + " - ";
        }
    });
    form.setText("Country Form");
    final ColumnLayout layout = new ColumnLayout();
    layout.maxNumColumns = MAX_COLS;
    layout.minNumColumns = MIN_COLS;
    form.getBody().setLayout(layout);
    toolkit.decorateFormHeading(form.getForm());

    final Section section = toolkit.createSection(form.getBody(), SECTION_STYLE);
    section.setText("Country Details");
    section.setDescription("Update country details below.");
    section.addExpansionListener(new ExpansionAdapter() {
        public void expansionStateChanged(ExpansionEvent e) {
            // Nothing
        }
    });
    final Composite client = toolkit.createComposite(section, SWT.NONE);
    GridLayout sectionLayout = new GridLayout();
    sectionLayout.numColumns = 4;
    client.setLayout(sectionLayout);
    section.setClient(client);

    // SWT Widgets
    Label label = toolkit.createLabel(client, NAME_FORMA_LBL, LABEL_STYLE);
    nameFormal = toolkit.createText(client, "", FIELD_STYLE);
    nameFormal.setData(NAME_FORMA_LBL);
    nameFormal.addFocusListener(this);
    nameFormal.addKeyListener(this);
    GridData layoutData = new GridData(GridData.FILL_HORIZONTAL);
    layoutData.horizontalSpan = 3;
    nameFormal.setLayoutData(layoutData);

    label = toolkit.createLabel(client, NAME_SORT_LBL, LABEL_STYLE);
    nameSort = toolkit.createText(client, "", FIELD_STYLE);
    nameSort.setData(NAME_SORT_LBL);
    nameSort.addFocusListener(this);
    nameSort.addKeyListener(this);
    layoutData = new GridData(GridData.FILL_HORIZONTAL);
    layoutData.horizontalSpan = 3;
    nameSort.setLayoutData(layoutData);

    label = toolkit.createLabel(client, POP_EST_LBL, LABEL_STYLE);
    population = toolkit.createText(client, "", FIELD_STYLE);
    population.setData(POP_EST_LBL);
    population.addFocusListener(this);
    population.addKeyListener(this);
    layoutData = new GridData(GridData.FILL_HORIZONTAL);
    layoutData.horizontalSpan = 3;
    population.setLayoutData(layoutData);

    label = toolkit.createLabel(client, "", LABEL_STYLE);
    type = toolkit.createButton(client, TYPE_SOV_LBL, SWT.CHECK);
    type.addMouseListener(this);
    layoutData = new GridData(GridData.FILL_HORIZONTAL);
    layoutData.horizontalSpan = 3;
    type.setLayoutData(layoutData);

    // JFace Viewer
    label = toolkit.createLabel(client, "Color Map:", LABEL_STYLE);
    colorMap = new ComboViewer(client, FIELD_STYLE);
    colorMap.addSelectionChangedListener(this);
    layoutData = new GridData();
    layoutData.horizontalSpan = 3;
    colorMap.getControl().setLayoutData(layoutData);

    // hook up to data
    colorMap.setContentProvider(new IStructuredContentProvider() {
        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Object[]) {
                return (Object[]) inputElement;
            }
            return null;
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // for dynamic content we would register listeners here
        }

        public void dispose() {
        }
    });
    colorMap.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            return " " + element + " color";
        }
    });
    colorMap.setInput(COLOR_MAP_OPTS);

    // Other sample section - to try out ColumnLayout
    final Section sectionOther = toolkit.createSection(form.getBody(), SECTION_STYLE);
    sectionOther.setText("Others");
    sectionOther.setDescription(
            "Sample section to demo ColumnLayout, make the view width smaller to force it to relayout.");
    sectionOther.addExpansionListener(new ExpansionAdapter() {
        public void expansionStateChanged(ExpansionEvent e) {
            // Nothing
        }
    });
    final Composite clientOther = toolkit.createComposite(sectionOther, SWT.NONE);
    sectionLayout = new GridLayout();
    sectionLayout.numColumns = 4;
    clientOther.setLayout(sectionLayout);
    sectionOther.setClient(clientOther);

    Label remarksLbl = toolkit.createLabel(clientOther, "Remarks:", LABEL_STYLE);
    Text remarks = toolkit.createText(clientOther, "", FIELD_STYLE);
    layoutData = new GridData(GridData.FILL_HORIZONTAL);
    layoutData.horizontalSpan = 3;
    remarks.setLayoutData(layoutData);

    // Buttons
    apply = new Action("Apply") {
        @Override
        public void run() {
            applyChanges();
        }
    };
    apply.setEnabled(false);
    form.getToolBarManager().add(apply);

    reset = new Action("Reset") {
        @Override
        public void run() {
            resetChanges();
        }
    };
    reset.setEnabled(false);
    form.getToolBarManager().add(reset);

    form.getToolBarManager().update(true);

}

From source file:net.refractions.udig.ui.aoi.AOIView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;/* w  w  w .j a  v a  2 s . c  o m*/
    parent.setLayout(layout);
    Label label = new Label(parent, SWT.LEFT);
    label.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false));
    label.setText("Area of Interest: ");

    // get the current strategy
    IAOIService aOIService = PlatformGIS.getAOIService();
    listenService(true);

    // eclipse combo viewer
    comboViewer = new ComboViewer(parent, SWT.READ_ONLY);
    comboViewer.setContentProvider(new ArrayContentProvider());
    comboViewer.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IAOIStrategy) {
                IAOIStrategy comboStrategy = (IAOIStrategy) element;
                return comboStrategy.getName();
            }
            return super.getText(element);
        }
    });
    comboViewer.setInput(aOIService.getProxyList());
    // set the current strategy
    AOIProxy proxy = aOIService.getProxy();
    if (proxy == null) {
        proxy = aOIService.getDefault();
    }
    comboViewer.setSelection(new StructuredSelection(proxy));

    // now that we are configured we can start to listen!
    listenCombo(true);

    pagebook = new PageBook(parent, SWT.NONE);
    GridData layoutData = new GridData(SWT.LEFT, SWT.TOP, true, true);
    layoutData.widthHint = 400;
    layoutData.horizontalSpan = 2;
    layoutData.heightHint = 400;
    pagebook.setLayoutData(layoutData);
}

From source file:net.sf.eclipsefp.haskell.ui.internal.search.HaskellSearchPage.java

License:Open Source License

@Override
public void createControl(final Composite arg0) {
    Composite main = new Composite(arg0, SWT.NONE);
    main.setLayout(new GridLayout(2, false));
    Label l = new Label(main, SWT.NONE);
    l.setText(UITexts.SearchPage_text);/*from   ww w .  ja v  a 2s . c om*/
    GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gd.horizontalSpan = 2;
    l.setLayoutData(gd);

    termList = new ComboViewer(main, SWT.NONE);
    gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
    gd.horizontalSpan = 2;
    termList.getCombo().setLayoutData(gd);
    termList.setContentProvider(new ArrayContentProvider());
    termList.setInput(previous);

    if (previous.size() > 0) {
        termList.getCombo().select(0);
    }

    termList.getCombo().addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(final ModifyEvent arg0) {
            updateStatus();
        }
    });
    termList.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent arg0) {
            updateStatus();
        }
    });

    Group gType = new Group(main, SWT.NONE);
    gType.setText(UITexts.SearchPage_type);
    gType.setLayout(new GridLayout(2, true));
    final Button bModule = createTypeButton(gType, UsageQueryFlags.TYPE_MODULE,
            UITexts.SearchPage_type_modules);
    createTypeButton(gType, UsageQueryFlags.TYPE_TYPE, UITexts.SearchPage_type_types);
    createTypeButton(gType, UsageQueryFlags.TYPE_CONSTRUCTOR, UITexts.SearchPage_type_constructors);
    final Button bFunctions = createTypeButton(gType, UsageQueryFlags.TYPE_VAR,
            UITexts.SearchPage_type_functions);

    Group gScope = new Group(main, SWT.NONE);
    gScope.setText(UITexts.SearchPage_scope);
    gScope.setLayout(new GridLayout(2, true));
    final Button bAll = createScopeButton(gScope, UsageQueryFlags.SCOPE_ALL, UITexts.SearchPage_scope_all);
    createScopeButton(gScope, UsageQueryFlags.SCOPE_DEFINITIONS, UITexts.SearchPage_scope_declarations);
    final Button bRefs = createScopeButton(gScope, UsageQueryFlags.SCOPE_REFERENCES,
            UITexts.SearchPage_scope_references);
    setControl(main);

    // preselect module if we have a file
    if (container.getSelection() instanceof IStructuredSelection) {
        Object o = ((IStructuredSelection) container.getSelection()).getFirstElement();
        if (o instanceof IFile) {
            String module = ResourceUtil.getModuleName((IFile) o);
            if (module != null && module.length() > 0) {
                termList.getCombo().setText(module);
                bModule.setSelection(true);
                bFunctions.setSelection(false);
                bModule.notifyListeners(SWT.Selection, new Event());
                bRefs.setSelection(true);
                bAll.setSelection(false);
                bRefs.notifyListeners(SWT.Selection, new Event());
            }
        }
    }
    updateStatus();
    setErrorMessage(null);
}

From source file:net.sf.eclipsefp.haskell.ui.internal.views.worksheet.EvalExpressionDialog.java

License:Open Source License

@Override
protected Control createDialogArea(final Composite parent) {
    Composite c = (Composite) super.createDialogArea(parent);

    Composite typeC = new Composite(c, SWT.NONE);
    typeC.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    typeC.setLayout(new GridLayout(2, false));
    Label typeL = new Label(typeC, SWT.NONE);
    typeL.setText(UITexts.worksheet_expression_type);

    ComboViewer cv = new ComboViewer(typeC, SWT.READ_ONLY | SWT.SINGLE);
    cv.setContentProvider(new ArrayContentProvider());
    cv.setLabelProvider(new LabelProvider());
    cv.setComparator(new WorkbenchViewerComparator());

    cv.setInput(ResultType.values());//from  ww  w  .j  av  a 2 s . c o m
    cv.setSelection(new StructuredSelection(resultType));
    cv.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(final SelectionChangedEvent event) {
            resultType = (ResultType) ((IStructuredSelection) event.getSelection()).getFirstElement();
        }
    });
    return c;
}

From source file:net.sf.logsaw.ui.dialogs.FilterClauseComposite.java

License:Open Source License

/**
 * Constructor./*  w ww  . ja v  a2 s.  com*/
 * @param parent the parent composite
 * @param style the style flags
 * @param log the log resource
 */
public FilterClauseComposite(Composite parent, int style, ILogResource log) {
    super(parent, style);
    this.log = log;

    GridLayout layout = new GridLayout(4, false);
    layout.horizontalSpacing = 10;
    setLayout(layout);
    setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));

    fieldComboViewer = new ComboViewer(this, SWT.BORDER | SWT.READ_ONLY);
    WritableList model = new WritableList(log.getDialect().getFieldProvider().getAllFields(),
            ALogEntryField.class);
    ViewerSupport.bind(fieldComboViewer, model, PojoProperties.values(new String[] { "label" })); //$NON-NLS-1$
    fieldComboViewer.setComparator(new ViewerComparator());
    fieldComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent e) {
            IStructuredSelection sel = (IStructuredSelection) e.getSelection();
            ALogEntryField<?, ?> fld = (ALogEntryField<?, ?>) sel.getFirstElement();
            updateOperatorCombo(fld);
            recreateRenderer(fld);
            renderer.validateInput(); // Revalidate
        }
    });

    operatorComboViewer = new ComboViewer(this, SWT.BORDER | SWT.READ_ONLY);
    operatorModel = WritableList.withElementType(Operator.class);
    ViewerSupport.bind(operatorComboViewer, operatorModel, PojoProperties.values(new String[] { "label" })); //$NON-NLS-1$
    operatorComboViewer.setComparator(new ViewerComparator());

    removeButton = new Button(this, SWT.NONE);
    removeButton.setText(Messages.FilterClauseComposite_label_remove);
    removeButton.addSelectionListener(new SelectionAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            fireRemoveButtonPressed();
        }
    });

    // Init selection
    fieldComboViewer.setSelection(new StructuredSelection(fieldComboViewer.getElementAt(0)));
}

From source file:net.sf.logsaw.ui.dialogs.FilterSettingsDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    Composite parentComposite = (Composite) super.createDialogArea(parent);

    Composite namedFilterComposite = new Composite(parentComposite, SWT.NONE);
    namedFilterComposite.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    namedFilterComposite.setLayout(new GridLayout());
    Group group = new Group(namedFilterComposite, SWT.NONE);
    group.setText(Messages.FilterSettingsDialog_label_saveLoad);
    group.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    group.setLayout(new GridLayout(4, false));
    Label label = new Label(group, SWT.NONE);
    label.setText(Messages.FilterSettingsDialog_label_filterName);
    namedFiltersViewer = new ComboViewer(group, SWT.BORDER);
    namedFiltersViewer.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    namedFiltersViewer.setContentProvider(new ArrayContentProvider());
    namedFiltersViewer.setLabelProvider(new LabelProvider() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
         *///  ww  w  .  j av  a 2  s .c  om
        @Override
        public String getText(Object element) {
            NamedFilter flt = (NamedFilter) element;
            return flt.getName();
        }
    });
    namedFiltersViewer.setInput(namedFilters.toArray());
    namedFiltersViewer.setComparator(new ViewerComparator());
    namedFiltersViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent)
         */
        @Override
        public void selectionChanged(SelectionChangedEvent e) {
            IStructuredSelection sel = (IStructuredSelection) e.getSelection();
            NamedFilter flt = (NamedFilter) sel.getFirstElement();
            if (flt != null) {
                // Delete button is only enabled when a fresh filter is selected
                deleteButton.setEnabled(true);
                clearContents();
                // Set restrictions to load
                restrictions = new ArrayList<ARestriction<?>>(flt.getRestrictions());
                updateContents(false);
            }
        }
    });
    namedFiltersViewer.getCombo().addModifyListener(new ModifyListener() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.ModifyListener#modifyText(org.eclipse.swt.events.ModifyEvent)
         */
        @Override
        public void modifyText(ModifyEvent e) {
            updateSaveButton();
            // Delete button is being disabled as soon as the text is modified
            deleteButton.setEnabled(false);
            try {
                save();
            } catch (CoreException ce) {
                // Log and show error
                UIPlugin.logAndShowError(ce, true);
            }
        }
    });
    saveButton = new Button(group, SWT.NONE);
    saveButton.setText(Messages.FilterSettingsDialog_label_save);
    saveButton.addSelectionListener(new SelectionAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            NamedFilter flt = doFindNamedFilter();
            if (flt != null) {
                if (MessageDialog.openQuestion(getShell(), Messages.FilterSettingsDialog_confirm_title,
                        Messages.FilterSettingsDialog_confirm_question)) {
                    // Remove old
                    namedFilters.remove(flt);
                } else {
                    // Abort saving
                    return;
                }
            }
            flt = new NamedFilter();
            flt.setName(namedFiltersViewer.getCombo().getText().trim());
            flt.setRestrictions(doGetRestrictions());
            namedFilters.add(flt);
            namedFiltersViewer.setInput(namedFilters.toArray());
            try {
                save();
            } catch (CoreException ce) {
                // Log and show error
                UIPlugin.logAndShowError(ce, true);
            }
        }
    });
    deleteButton = new Button(group, SWT.NONE);
    deleteButton.setText(Messages.FilterSettingsDialog_label_delete);
    deleteButton.addSelectionListener(new SelectionAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
            NamedFilter flt = doFindNamedFilter();
            namedFilters.remove(flt);
            namedFiltersViewer.setInput(namedFilters.toArray());
        }
    });
    deleteButton.setEnabled(false);

    label = new Label(parentComposite, SWT.SEPARATOR | SWT.HORIZONTAL);
    label.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));

    scrolledComposite = new ScrolledComposite(parentComposite, SWT.V_SCROLL);
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
    gridData.heightHint = 250;
    gridData.widthHint = 600;
    scrolledComposite.setLayoutData(gridData);
    scrolledComposite.setExpandHorizontal(true);
    rootComposite = new Composite(scrolledComposite, SWT.NONE);
    rootComposite.setLayout(new GridLayout());

    label = new Label(parentComposite, SWT.SEPARATOR | SWT.HORIZONTAL);
    label.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));

    setTitle(Messages.FilterSettingsDialog_title);
    setMessage(Messages.FilterSettingsDialog_message);

    updateContents(true);

    // Enable help button
    setHelpAvailable(true);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(getShell(), IHelpContexts.FILTER_SETTINGS_DIALOG);

    return rootComposite;
}