private void createSearchField()

in CasViewerEclipsePlugin/uimaj-ep-casviewer-core/src/main/java/org/apache/uima/casviewer/ui/internal/document/AnnotatedTextSectionPart.java [331:379]


    private void createSearchField (Composite parent, FormToolkit toolkit) {
        Label label = toolkit.createLabel(parent, "Search text: ");
        label.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
        
        final Text text = toolkit.createText(parent, "", SWT.SEARCH | SWT.CANCEL);
        GridData gd1 = new GridData(GridData.FILL_HORIZONTAL);
        gd1.grabExcessHorizontalSpace = true;
        text.setLayoutData(gd1);
        
        ToolBar toolBar = new ToolBar (parent, SWT.FLAT);
        searchNextToolItem = new ToolItem (toolBar, SWT.PUSH);
        ImageDescriptor descriptor = ImageLoader.getInstance().getImageDescriptor(ImageLoader.ICON_SEARCH_NEXT);
        searchNextToolItem.setImage(descriptor.createImage());
        searchNextToolItem.setToolTipText("Show Next Match");
        searchNextToolItem.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                // Find Next
                lastModelOffset = ((CasSourceViewer) sourceViewer).findAndSelect(sourceViewer.getTextWidget().getCaretOffset(), 
                        text.getText().trim(), true);
                if (lastModelOffset == -1) {
                    // String Not Found
                    lastModelOffset = 0;
                }
            }
        });
        
        searchPreviousToolItem = new ToolItem (toolBar, SWT.PUSH);
        descriptor = ImageLoader.getInstance().getImageDescriptor(ImageLoader.ICON_SEARCH_PREV);
        searchPreviousToolItem.setImage(descriptor.createImage());
        searchPreviousToolItem.setToolTipText("Show Previous Match");
        searchPreviousToolItem.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                // Find Previous
                Point selectedRange = sourceViewer.getSelectedRange();
                if (selectedRange != null) {
                    lastModelOffset = selectedRange.x;
                } else {
                    lastModelOffset = sourceViewer.getTextWidget().getCaretOffset();
                }
                lastModelOffset = ((CasSourceViewer) sourceViewer).findAndSelect(lastModelOffset, 
                        text.getText().trim(), false);
                if (lastModelOffset == -1) {
                    // String Not Found
                    lastModelOffset = 0;
                }
            }
        });
        // searchPreviousToolItem.setEnabled(false);
    }