protected void createSectionToolbar()

in CasViewerEclipsePlugin/uimaj-ep-casviewer-core/src/main/java/org/apache/uima/casviewer/ui/internal/type/TypesTreeSectionPart.java [645:775]


    protected void createSectionToolbar (FormToolkit toolkit, Section section, 
            Composite toolbarComposite, final CheckboxTreeViewer treeViewer)
    {
        AbstractSectionPart.createExpandAllMenu (toolkit, section, toolbarComposite, 
                treeViewer);
        AbstractSectionPart.createCollapseAllMenu(toolkit, section, toolbarComposite, 
                treeViewer);
        // Create Menu
        final Menu subMenu = new Menu (toolbarComposite); 
        MenuItem item = new MenuItem(subMenu, SWT.NONE);
        item.setText("Deselect All");
        item.addSelectionListener(new SelectionListener () {
            public void widgetSelected (SelectionEvent event) {
                casViewControl.onActionInvocation(TypesTreeSectionPart.this, ICASViewControl.ACTION_DESELECT_ALL, null);
            }

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

        final MenuItem itemName = new MenuItem(subMenu, SWT.NONE);
        if ( ((TypesTreeLabelProvider) treeViewer.getLabelProvider()).isFullNameView() ) {
            itemName.setText("Show Short Name");
        } else {
            itemName.setText("Show Full Name");
        }
        itemName.addSelectionListener(new SelectionListener () {
            public void widgetSelected (SelectionEvent event) {
                ((TypesTreeLabelProvider) treeViewer.getLabelProvider())
                        .switchNameView(false);   
                TreeViewerHelper.refreshWithCheckedState(treeViewer, true);
                
                if ( ((TypesTreeLabelProvider) treeViewer.getLabelProvider()).isFullNameView() ) {
                    itemName.setText("Show Short Name");
                } else {
                    itemName.setText("Show Full Name");
                }
            }

            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });
        
        // Show All Types
//        final MenuItem itemShowTypes = new MenuItem(subMenu, SWT.NONE);
//        if (contentProvider.isShowAllTypes()) {
//            itemShowTypes.setText("Show Types Having Annotations");
//        } else {
//            itemShowTypes.setText("Show All Types");
//        }
//        itemShowTypes.addSelectionListener(new SelectionListener () {
//            public void widgetSelected (SelectionEvent event) {
//                contentProvider.setShowAllTypes(!contentProvider.isShowAllTypes());
//                TreeViewerHelper.refreshWithCheckedState(treeViewer, false);
//                if (contentProvider.isShowAllTypes()) {
//                    itemShowTypes.setText("Show Types Having Annotations");
//                } else {
//                    itemShowTypes.setText("Show All Types");
//                }
//            }
//
//            public void widgetDefaultSelected(SelectionEvent e) {
//            }
//        });
 
        new MenuItem(subMenu, SWT.SEPARATOR);
        
        item = new MenuItem(subMenu, SWT.NONE);
        item.setText("Show Flat Structure");
        item.addSelectionListener(new SelectionListener () {
            public void widgetSelected (SelectionEvent event) {
                List list = getSelectedTypeNames();
                contentProvider.setViewerLayoutToFlatOrTree(true);
                labelProvider.setViewerLayoutToFlatOrTree(true);
                TreeViewerHelper.refreshWithCheckedState(treeViewer, false);
                if (list != null && list.size() > 0) {
                    setTypeSelectionByName(list, true);
                }
            }

            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });
        
        item = new MenuItem(subMenu, SWT.NONE);
        item.setText("Show Tree Structure");
        item.setData(null);
        item.addSelectionListener(new SelectionListener () {
            public void widgetSelected (SelectionEvent event) {
//                _typeTreeViewerFiler.setFilterFlags(TypeSystemViewerFilter.FILTER_TYPE_SHOW_OUTPUT, true);
                List list = getSelectedTypeNames();
                contentProvider.setViewerLayoutToFlatOrTree(false);
                labelProvider.setViewerLayoutToFlatOrTree(false);
                TreeViewerHelper.refreshWithCheckedState(treeViewer, false);
                if (list != null && list.size() > 0) {
                    setTypeSelectionByName(list, true);
                }
            }

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

        new MenuItem(subMenu, SWT.SEPARATOR);

        // Filters
/*        
        item = new MenuItem(subMenu, SWT.NONE);
        item.setText("Set Filters");
        item.addSelectionListener(new SelectionListener () {
            public void widgetSelected (SelectionEvent event) {
                casViewControl.onActionInvocation(TypesTreeSectionPart.this, ICASViewControl.ACTION_SET_FILTERS, null);
            }

            public void widgetDefaultSelected(SelectionEvent e) {
            }
        });
        
*/        
        ImageHyperlink info = new ImageHyperlink(toolbarComposite, SWT.NULL);
        toolkit.adapt(info, true, true);
        // info.setImage(ImageRegistryUtil.getInstance().getImage(ImageRegistryUtil.IMG_VIEW_MENU));
        info.setImage(ImageLoader.getInstance().getImage(ImageLoader.ICON_UI_VIEW_MENU));
        info.setToolTipText("Options...");
        info.setBackground(section.getTitleBarGradientBackground());
        info.addHyperlinkListener(new HyperlinkAdapter() {
            public void linkActivated(HyperlinkEvent e) {
                subMenu.setVisible(true);
            }
        });        
    }