Example usage for org.eclipse.jface.viewers CheckStateChangedEvent getChecked

List of usage examples for org.eclipse.jface.viewers CheckStateChangedEvent getChecked

Introduction

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

Prototype

public boolean getChecked() 

Source Link

Document

Returns the checked state of the element.

Usage

From source file:ar.com.fluxit.jqa.wizard.page.AllocationDefinitionWizardPage.java

License:Open Source License

@Override
ICheckStateListener getCheckStateListener() {
    return new ICheckStateListener() {

        @Override/*from  w w  w .j a v a2s.c  om*/
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((LayerDescriptor) event.getElement()).setAllocable(event.getChecked());
        }
    };
}

From source file:ar.com.fluxit.jqa.wizard.page.ApisDefinitionWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;/* w w  w  . j ava  2s . c  o m*/
    container.setLayout(layout);

    layersTable = CheckboxTableViewer.newCheckList(container,
            SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    layersTable.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
    layersTable.setContentProvider(ArrayContentProvider.getInstance());
    layersTable.getTable().setHeaderVisible(true);
    layersTable.getTable().setLinesVisible(true);

    TableViewerColumn selectionColumn = new TableViewerColumn(layersTable, SWT.NONE);
    selectionColumn.getColumn().setWidth(23);
    selectionColumn.getColumn().setText("Has API");
    selectionColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return "";
        }

    });
    layersTable.setCheckStateProvider(new ICheckStateProvider() {

        @Override
        public boolean isChecked(Object element) {
            return ((Layer) element).isHasApi();
        }

        @Override
        public boolean isGrayed(Object element) {
            return false;
        }
    });
    layersTable.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            ((Layer) event.getElement()).setHasApi(event.getChecked());
        }
    });

    TableViewerColumn layerColumn = new TableViewerColumn(layersTable, SWT.NONE);
    layerColumn.getColumn().setText("Layer");
    layerColumn.getColumn().setWidth(300);
    layerColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            Layer layer = (Layer) element;
            return layer.getName();
        }
    });
    layersTable.setInput(getWizard().getLayers());
    layersTable.getTable().setColumnOrder(new int[] { 1, 0 });
    setControl(container);
    ((WizardDialog) getContainer()).addPageChangedListener(this);
}

From source file:au.gov.ansto.bragg.kakadu.ui.instrument.InstrumentDataSourceComposite.java

License:Open Source License

private void initListeners() {
    fileTableTreeViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            //transfer events from view to model
            Object element = event.getElement();
            if (element instanceof DefaultMutableTreeNode) {
                DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) element;
                Object userObject = treeNode.getUserObject();
                if (userObject instanceof SelectableDataItem) {
                    SelectableDataItem selectableDataItem = (SelectableDataItem) userObject;
                    selectableDataItem.setSelected(event.getChecked());
                } else if (userObject instanceof DataSourceFile) {
                    ((DataSourceFile) userObject).setSelected(event.getChecked());
                }/*from w  w w. j av a  2s.com*/
            }
        }
    });
    fileTableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeFileAction.setEnabled(!event.getSelection().isEmpty());
            //            toolItemRemoveFile.setEnabled(!event.getSelection().isEmpty());
        }
    });

    //      toolItemAddFile.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            
    //            String[] selectedFiles = Util.selectFilesFromShell(parentComposite.getShell(),
    //                              "*.hdf", "HDF data file");
    //            for (String selectedFileName : selectedFiles) {
    ////               txtSelectedFile.setText(selectedFileName);
    ////               DataSourceManager.setFileName(selectedFileName);
    //               
    //               addFile(selectedFileName);
    //               
    //               adjustColumnSize();
    //            }
    //         }
    //      });
    //      
    //      toolItemAddDirectory.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            
    //            String selectedDirectory = Util.selectDirectoryFromShell(parentComposite.getShell());
    //            addDirectory(selectedDirectory);
    //         }
    //      });
    //      
    //      toolItemRemoveFile.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            removeSelectedFile();
    //         }
    //      });
    //      
    //      toolItemRemoveAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            removeAll();
    //            toolItemRemoveAll.setEnabled(false);
    //         }
    //      });
    //      
    //      toolItemSelectAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            fileTableTreeViewer.setAllChecked(true);
    //         }
    //      });
    //      
    //      toolItemUnselectAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            fileTableTreeViewer.setAllChecked(false);
    //         }
    //      });

    dataListener = new DataListener<DataSourceFile>() {
        public void dataAdded(DataSourceFile addedData) {
            updateButtons();
        }

        public void dataRemoved(DataSourceFile removedData) {
            updateButtons();
        }

        public void dataUpdated(DataSourceFile updatedData) {
            updateButtons();
        }

        public void allDataRemoved(DataSourceFile removedData) {
            // TODO Auto-generated method stub
            updateButtons();
        }
    };
    DataSourceManager.getInstance().addDataListener(dataListener);
}

From source file:au.gov.ansto.bragg.kakadu.ui.views.DataSourceComposite.java

License:Open Source License

private void initListeners() {
    fileTableTreeViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            //transfer events from view to model
            Object element = event.getElement();
            if (element instanceof DefaultMutableTreeNode) {
                DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) element;
                Object userObject = treeNode.getUserObject();
                if (userObject instanceof SelectableDataItem) {
                    SelectableDataItem selectableDataItem = (SelectableDataItem) userObject;
                    selectableDataItem.setSelected(event.getChecked());
                }/*from  www  .  j ava  2s. co  m*/
            }
        }
    });
    fileTableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeFileAction.setEnabled(!event.getSelection().isEmpty());
            //            toolItemRemoveFile.setEnabled(!event.getSelection().isEmpty());
        }
    });

    //      toolItemAddFile.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            
    //            String[] selectedFiles = Util.selectFilesFromShell(parentComposite.getShell(),
    //                              "*.hdf", "HDF data file");
    //            for (String selectedFileName : selectedFiles) {
    ////               txtSelectedFile.setText(selectedFileName);
    ////               DataSourceManager.setFileName(selectedFileName);
    //               
    //               addFile(selectedFileName);
    //               
    //               adjustColumnSize();
    //            }
    //         }
    //      });
    //      
    //      toolItemAddDirectory.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            
    //            String selectedDirectory = Util.selectDirectoryFromShell(parentComposite.getShell());
    //            addDirectory(selectedDirectory);
    //         }
    //      });
    //      
    //      toolItemRemoveFile.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            removeSelectedFile();
    //         }
    //      });
    //      
    //      toolItemRemoveAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            removeAll();
    //            toolItemRemoveAll.setEnabled(false);
    //         }
    //      });
    //      
    //      toolItemSelectAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            fileTableTreeViewer.setAllChecked(true);
    //         }
    //      });
    //      
    //      toolItemUnselectAll.addSelectionListener(new SelectionListener() {
    //         public void widgetDefaultSelected(SelectionEvent arg0) {
    //         }
    //         public void widgetSelected(SelectionEvent arg0) {
    //            fileTableTreeViewer.setAllChecked(false);
    //         }
    //      });

    DataSourceManager.getInstance().addDataListener(new DataListener<DataSourceFile>() {
        public void dataAdded(DataSourceFile addedData) {
            updateButtons();
        }

        public void dataRemoved(DataSourceFile removedData) {
            updateButtons();
        }

        public void dataUpdated(DataSourceFile updatedData) {
            updateButtons();
        }

        public void allDataRemoved(DataSourceFile removedData) {
            // TODO Auto-generated method stub
            updateButtons();
        }
    });
}

From source file:au.gov.ansto.bragg.quokka.ui.internal.DataSourceComposite.java

License:Open Source License

private void initListeners() {
    fileTableTreeViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            //transfer events from view to model
            Object element = event.getElement();
            if (element instanceof DefaultMutableTreeNode) {
                DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) element;
                Object userObject = treeNode.getUserObject();
                if (userObject instanceof SelectableDataItem) {
                    SelectableDataItem selectableDataItem = (SelectableDataItem) userObject;
                    selectableDataItem.setSelected(event.getChecked());
                }// ww w  . j a  v a 2s .c om
            }
        }
    });
    fileTableTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            removeFileAction.setEnabled(!event.getSelection().isEmpty());
            //            toolItemRemoveFile.setEnabled(!event.getSelection().isEmpty());
        }
    });

    DataSourceManager.getInstance().addDataListener(new DataListener<DataSourceFile>() {
        public void dataAdded(DataSourceFile addedData) {
            updateButtons();
        }

        public void dataRemoved(DataSourceFile removedData) {
            updateButtons();
        }

        public void dataUpdated(DataSourceFile updatedData) {
            updateButtons();
        }

        public void allDataRemoved(DataSourceFile removedData) {
            updateButtons();
        }
    });
}

From source file:au.gov.ga.earthsci.discovery.ui.preferences.DiscoveryServicesPreferencePage.java

License:Apache License

@Override
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    composite.setLayoutData(gd);/*w  w w  .ja  v  a 2  s .  c om*/

    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
    layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
    layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
    layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
    composite.setLayout(layout);

    table = new Table(composite,
            SWT.CHECK | SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
    data.widthHint = convertWidthInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_WIDTH);
    data.heightHint = convertHeightInCharsToPixels(ILayoutConstants.DEFAULT_TABLE_HEIGHT);
    table.setLayoutData(data);

    viewer = new CheckboxTableViewer(table);

    // Key listener for delete
    table.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == SWT.DEL) {
                removeSelected();
            }
        }
    });
    setTableColumns();

    viewer.setComparator(comparator);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new DiscoveryServiceLabelProvider());

    stagingSet.clear();
    stagingSet.addAll(DiscoveryServiceManager.getServices());
    viewer.setInput(stagingSet);

    viewer.setCellModifier(new ICellModifier() {
        @Override
        public boolean canModify(Object element, String property) {
            return element instanceof IDiscoveryService;
        }

        @Override
        public Object getValue(Object element, String property) {
            String name = ((IDiscoveryService) element).getName();
            return name != null ? name : ""; //$NON-NLS-1$
        }

        @Override
        public void modify(Object element, String prop, Object value) {
            if (value != null && value.toString().length() >= 0) {
                IDiscoveryService service;
                if (element instanceof Item) {
                    service = (IDiscoveryService) ((Item) element).getData();
                } else if (element instanceof IDiscoveryService) {
                    service = (IDiscoveryService) element;
                } else {
                    return;
                }
                if (!value.toString().equals(service.getName())) {
                    Map<IDiscoveryServiceProperty<?>, Object> propertyValues = new HashMap<IDiscoveryServiceProperty<?>, Object>();
                    IDiscoveryServiceProperty<?>[] properties = service.getProvider().getProperties();
                    if (properties != null) {
                        for (IDiscoveryServiceProperty<?> property : properties) {
                            propertyValues.put(property, property.getValue(service));
                        }
                    }

                    IDiscoveryService replacement = service.getProvider().createService(value.toString(),
                            service.getServiceURL(), propertyValues);
                    replacement.setEnabled(service.isEnabled());
                    stagingSet.remove(service);
                    stagingSet.add(replacement);
                    viewer.refresh();
                }
            }
        }
    });
    viewer.setColumnProperties(new String[] { "name" }); //$NON-NLS-1$
    viewer.setCellEditors(new CellEditor[] { new TextCellEditor(table) });

    viewer.setCheckStateProvider(new ICheckStateProvider() {
        @Override
        public boolean isChecked(Object element) {
            return ((IDiscoveryService) element).isEnabled();
        }

        @Override
        public boolean isGrayed(Object element) {
            return false;
        }
    });

    viewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            IDiscoveryService service = (IDiscoveryService) event.getElement();
            if (!originalEnablement.containsKey(service)) {
                originalEnablement.put(service, service.isEnabled());
            }
            service.setEnabled(event.getChecked());
            viewer.refresh();
            validateButtons();
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            validateButtons();
        }
    });

    Composite verticalButtonBar = createVerticalButtonBar(composite);
    data = new GridData(SWT.FILL, SWT.FILL, false, false);
    data.verticalAlignment = SWT.TOP;
    data.verticalIndent = 0;
    verticalButtonBar.setLayoutData(data);
    validateButtons();

    return composite;
}

From source file:au.gov.ga.earthsci.layer.ui.LayerTreePart.java

License:Apache License

protected void createStructureViewer(Composite parent, EMenuService menuService, CTabItem tabItem) {
    structureViewer = new CheckboxTreeViewer(parent, SWT.MULTI);
    tabItem.setControl(structureViewer.getControl());
    structureViewer.getTree()/* ww w  . jav  a 2 s . com*/
            .setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT));
    context.set(TreeViewer.class, structureViewer);

    clipboard = new Clipboard(parent.getDisplay());
    context.set(Clipboard.class, clipboard);

    //create a property change listener for updating the labels whenever a property
    //changes on an ILayerTreeNode instance
    final PropertyChangeListener anyChangeListener = new PropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent evt) {
            updateElementLabel(evt.getSource());
        }
    };
    //create a property change listener that ensures the expanded state of the tree
    //is kept in sync with the value of the expanded property for each node
    final PropertyChangeListener expandedChangeListener = new PropertyChangeListener() {
        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            syncExpandedNodes();
        }
    };

    //setup the label provider
    labelProvider = new LayerTreeLabelProvider();

    //create a bean list property associated with ILayerTreeNode's children property
    IBeanListProperty<ILayerTreeNode, ILayerTreeNode> childrenProperty = BeanProperties
            .list(ILayerTreeNode.class, "children", ILayerTreeNode.class); //$NON-NLS-1$
    //setup a factory for creating observables observing ILayerTreeNodes
    IObservableFactory<ILayerTreeNode, IObservableList<ILayerTreeNode>> observableFactory = childrenProperty
            .listFactory();

    //listen for any changes (additions/removals) to any of the children in the tree
    observableListTreeSupport = new ObservableListTreeSupport<ILayerTreeNode>(observableFactory);
    observableListTreeSupport.addListener(new ITreeChangeListener<ILayerTreeNode>() {
        @Override
        public void elementAdded(ILayerTreeNode element) {
            element.addPropertyChangeListener(anyChangeListener);
            element.addPropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$
        }

        @Override
        public void elementRemoved(ILayerTreeNode element) {
            element.removePropertyChangeListener(anyChangeListener);
            element.removePropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$
        }
    });

    //create a content provider that listens for changes to any children in the tree
    ObservableListTreeContentProvider<ILayerTreeNode> contentProvider = new ObservableListTreeContentProvider<ILayerTreeNode>(
            observableFactory, null);

    //set the viewer's providers
    structureViewer.setContentProvider(contentProvider);
    structureViewer.setLabelProvider(labelProvider);
    structureViewer.setCheckStateProvider(new LayerTreeCheckStateProvider());

    //set the viewer and listener inputs
    structureViewer.setInput(model.getRootNode());
    observableListTreeSupport.setInput(model.getRootNode());

    //Listen for any additions to the tree, and expand added node's parent, so that
    //added nodes are always visible. This is done after the input is set up, so that
    //we don't expand all the nodes that are already in the tree.
    observableListTreeSupport.addListener(new TreeChangeAdapter<ILayerTreeNode>() {
        @Override
        public void elementAdded(ILayerTreeNode element) {
            //for any children added, expand the nodes
            if (!element.isRoot()) {
                element.getParent().setExpanded(true);
            }

            //if the nodes were already expanded, the expanded property change event
            //is not fired, so we need to sync the expanded state anyway
            syncExpandedNodes();

            //when a layer is added, we should activate this part and select the added element
            activateAndSelectElement(element);
        }
    });

    //expand any nodes that should be expanded after unpersisting
    syncExpandedNodes();

    //enable/disable any nodes that are checked/unchecked
    structureViewer.addCheckStateListener(new ICheckStateListener() {
        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof ILayerTreeNode) {
                ILayerTreeNode node = (ILayerTreeNode) element;
                node.enableChildren(event.getChecked());
            }
        }
    });

    //setup the selection tracking
    structureViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection();
            List<?> list = selection.toList();
            ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]);
            settingSelection = true;
            selectionService.setSelection(array.length == 1 ? array[0] : array);
            settingSelection = false;
        }
    });
    structureViewer.getTree().addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection();
            ILayerTreeNode firstElement = (ILayerTreeNode) selection.getFirstElement();
            if (firstElement != null) {
                selectLayer(firstElement);
            }
        }
    });

    //setup tree expansion/collapse listening
    structureViewer.addTreeListener(new ITreeViewerListener() {
        @Override
        public void treeExpanded(TreeExpansionEvent event) {
            ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement();
            layerNode.setExpanded(true);
        }

        @Override
        public void treeCollapsed(TreeExpansionEvent event) {
            ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement();
            layerNode.setExpanded(false);
        }
    });

    //make tree cells unselectable by selecting outside
    structureViewer.getTree().addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            ViewerCell cell = structureViewer.getCell(new Point(e.x, e.y));
            if (cell == null) {
                structureViewer.setSelection(StructuredSelection.EMPTY);
            }
        }
    });

    //setup cell editing
    structureViewer
            .setCellEditors(new CellEditor[] { new TextCellEditor(structureViewer.getTree(), SWT.BORDER) });
    structureViewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$
    structureViewer.setCellModifier(new ICellModifier() {
        @Override
        public void modify(Object element, String property, Object value) {
            if (element instanceof Item) {
                element = ((Item) element).getData();
            }
            ((ILayerTreeNode) element).setLabel((String) value);
        }

        @Override
        public Object getValue(Object element, String property) {
            if (element instanceof Item) {
                element = ((Item) element).getData();
            }
            return ((ILayerTreeNode) element).getLabelOrName();
        }

        @Override
        public boolean canModify(Object element, String property) {
            return true;
        }
    });

    ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(
            structureViewer) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    TreeViewerEditor.create(structureViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION);

    //add drag and drop support
    int ops = DND.DROP_COPY | DND.DROP_MOVE;
    structureViewer.addDragSupport(ops,
            new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance() },
            new LayerTreeDragSourceListener(structureViewer));
    structureViewer
            .addDropSupport(ops,
                    new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance(),
                            FileTransfer.getInstance() },
                    new LayerTreeDropAdapter(structureViewer, model, context));

    //add context menu
    menuService.registerContextMenu(structureViewer.getTree(),
            "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$
}

From source file:backup.gui.CheckStateListener.java

License:Open Source License

public void checkStateChanged(CheckStateChangedEvent event) {
    CheckboxTreeViewer ctv = (CheckboxTreeViewer) event.getSource();
    File startFile = (File) event.getElement();
    // If the item is checked . . .
    if (event.getChecked()) {
        //run through the checked Items - and see if any of them are children of 
        //this item.  If Yes - they don't need to be checked anymore - since the new 
        //parent check will encompass this.
        for (int i = 0; i < checkedItems_.size(); i++) {
            File current = checkedItems_.get(i);
            while (true) {
                current = current.getParentFile();
                if (current == null) {
                    break;
                }/*w w  w . j  av a  2 s  .  c  o  m*/
                if (current.equals(startFile)) {
                    ctv.setChecked(checkedItems_.get(i), false);
                    checkedItems_.remove(i);
                    i--; //array is one smaller now - need to backup.
                    break;
                }
            }
        }

        //if a parent is checked, make this a grey check.
        //if a parent is gray checked - this is unneeded - cancel the check
        File parent = startFile;
        boolean parentChecked = false;
        boolean parentGrayed = false;

        while (true) {
            parent = parent.getParentFile();
            if (parent == null) {
                break;
            }
            if (ctv.getChecked(parent)) {
                parentChecked = true;
            }
            if (ctv.getGrayed(parent)) {
                parentGrayed = true;
            }
            if (parentChecked || parentGrayed) {
                break;
            }
        }

        if (parentChecked) {
            ctv.setChecked(startFile, false);
            ctv.setGrayChecked(startFile, true);
            greyItems_.add(startFile);

            //run through the grey checked Items - and see if any of them are children of 
            //this item.  If Yes - they don't need to be checked anymore - since the new 
            //parent check will encompass this.
            for (int i = 0; i < greyItems_.size(); i++) {
                File current = greyItems_.get(i);
                while (true) {
                    current = current.getParentFile();
                    if (current == null) {
                        break;
                    }
                    if (current.equals(startFile)) {
                        ctv.setChecked(greyItems_.get(i), false);
                        greyItems_.remove(i);
                        i--; //array is one smaller now - need to backup.
                        break;
                    }
                }
            }
        }
        if (parentGrayed) {
            ctv.setChecked(startFile, false);
            ctv.setGrayChecked(startFile, false);
        }

        //If I didn't decide to uncheck it - it was left checked.
        if (!parentChecked && !parentGrayed) {
            checkedItems_.add(startFile);
        }
    } else {
        //item was unchecked.
        //need to uncheck any gray items under the check box.  Should be impossible to have checked items 
        //under a checked item.

        checkedItems_.remove(startFile);
        greyItems_.remove(startFile);
        ctv.setGrayChecked(startFile, false);

        for (int i = 0; i < greyItems_.size(); i++) {
            File current = greyItems_.get(i);
            while (true) {
                if (current == null) {
                    break;
                }
                if (current.equals(startFile)) {
                    ctv.setGrayChecked(greyItems_.get(i), false);
                    ctv.setChecked(greyItems_.get(i), false);
                    checkedItems_.remove(greyItems_.get(i));
                    greyItems_.remove(i);
                    i--;
                    break;
                }
                current = current.getParentFile();
            }
        }
    }
    backupTool_.update(checkedItems_, greyItems_);
}

From source file:ca.uvic.chisel.javasketch.ui.internal.wizards.ExportTraceWizardPage1.java

License:Open Source License

/**
 * @param page/*from w  w  w .  j av a  2 s.co  m*/
 * @return
 */
private Control createTraceArea(Composite page) {
    Group traceGroup = new Group(page, SWT.NONE);
    traceGroup.setLayout(new GridLayout());
    traceGroup.setText("Threads To Export");
    threadViewer = new CheckboxTreeViewer(traceGroup);
    threadViewer.setContentProvider(new ITreeContentProvider() {

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        @Override
        public void dispose() {
        }

        @Override
        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        @Override
        public boolean hasChildren(Object element) {
            return (element instanceof ExportTraceWizardPage1 || element instanceof ITrace);
        }

        @Override
        public Object getParent(Object element) {
            if (element instanceof ITrace) {
                return ExportTraceWizardPage1.this;
            } else if (element instanceof IThread) {
                return ((IThread) element).getTrace();
            }
            return null;
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof ExportTraceWizardPage1) {
                IProgramSketch[] sketches = SketchPlugin.getDefault().getStoredSketches();
                ITrace[] traces = new ITrace[sketches.length];
                for (int i = 0; i < sketches.length; i++) {
                    traces[i] = sketches[i].getTraceData();
                }
                return traces;
            } else if (parentElement instanceof ITrace) {
                return ((ITrace) parentElement).getThreads().toArray();
            }
            return new Object[0];
        }
    });
    threadViewer.setLabelProvider(new WorkbenchLabelProvider());
    threadViewer.setInput(this);
    threadViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            boolean checked = event.getChecked();
            ITraceModel element = (ITraceModel) event.getElement();
            updateCheckedState(checked, element);

        }

    });
    threadViewer.setSorter(new ViewerSorter() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            TreeViewer tv = (TreeViewer) viewer;
            String s1 = ((ILabelProvider) tv.getLabelProvider()).getText(e1);
            String s2 = ((ILabelProvider) tv.getLabelProvider()).getText(e2);
            return s1.compareTo(s2);
        }
    });
    threadViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    //set the trace
    ITrace trace = ((ExportTraceWizard) getWizard()).getTrace();
    if (trace == null) {
        String traceID = getDialogSettings().get("trace");
        //try to get it from saved information
        String[] threads = getDialogSettings().getArray("threads");
        if (traceID != null) {
            IProgramSketch sketch = SketchPlugin.getDefault().getSketch(traceID);
            if (sketch != null) {
                trace = sketch.getTraceData();
                if (trace != null) {
                    this.trace = trace;
                    if (threads != null && threads.length > 0) {
                        for (int i = 0; i < threads.length; i++) {
                            ITraceModelProxy proxy = trace.getElement(threads[i]);
                            ITraceModel element = proxy.getElement();
                            if (element != null) {
                                threadViewer.setChecked(element, true);
                                updateCheckedState(true, element);
                            }
                        }

                    } else {
                        threadViewer.setChecked(trace, true);
                        updateCheckedState(true, trace);
                    }
                }
            }

        }
    } else {
        this.trace = trace;
        threadViewer.setChecked(trace, true);
        updateCheckedState(true, trace);
    }
    return traceGroup;
}

From source file:ca.uvic.chisel.logging.eclipse.internal.ui.UploadWizardPage1.java

License:Open Source License

private Composite createCategoriesArea(Composite parent) {
    Composite categoriesArea = new Composite(parent, SWT.NONE);
    categoriesArea.setLayout(new GridLayout(2, false));

    //create a list viewer that will display all of the 
    //different loggers

    viewer = CheckboxTableViewer.newCheckList(categoriesArea, SWT.BORDER | SWT.SINGLE);
    viewer.setContentProvider(new ArrayContentProvider());
    viewer.setLabelProvider(new LoggingCategoryLabelProvider());
    viewer.setInput(WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories());
    //set all of the enabled categories to the checked state
    for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager().getCategories()) {
        selectedCategories.add(category.getCategoryID());
    }//from   ww  w  .  j a v  a2  s.co m
    viewer.setAllChecked(true);
    viewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getElement() instanceof ILoggingCategory) {
                ILoggingCategory category = (ILoggingCategory) event.getElement();
                if (event.getChecked()) {
                    selectedCategories.add(category.getCategoryID());
                } else {
                    selectedCategories.remove(category.getCategoryID());
                }
            }
        }
    });
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            if (aboutButton != null && !aboutButton.isDisposed()) {
                aboutButton.setEnabled(!event.getSelection().isEmpty());
            }
        }
    });

    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    //create a button area
    Composite buttonArea = new Composite(categoriesArea, SWT.NONE);
    buttonArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    buttonArea.setLayout(new GridLayout());

    GridDataFactory gdf = GridDataFactory.createFrom(new GridData(SWT.FILL, SWT.FILL, true, false));
    Button selectAll = new Button(buttonArea, SWT.PUSH);
    selectAll.setText("Select All");
    selectAll.setLayoutData(gdf.create());
    selectAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(true);
            for (ILoggingCategory category : WorkbenchLoggingPlugin.getDefault().getCategoryManager()
                    .getCategories()) {
                selectedCategories.add(category.getCategoryID());
            }
        }
    });

    Button selectNone = new Button(buttonArea, SWT.PUSH);
    selectNone.setText("Select None");
    selectNone.setLayoutData(gdf.create());
    selectNone.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            viewer.setAllChecked(false);
            selectedCategories.clear();
        }
    });

    Control spacer = new Composite(buttonArea, SWT.NONE);
    GridData d = gdf.create();
    d.heightHint = 40;
    spacer.setLayoutData(d);

    aboutButton = new Button(buttonArea, SWT.PUSH);
    aboutButton.setText("Disclaimer...");
    aboutButton.setLayoutData(gdf.create());
    aboutButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            widgetSelected(e);
        }

        @Override
        public void widgetSelected(SelectionEvent e) {
            ISelection selection = viewer.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection ss = (IStructuredSelection) selection;
                if (!ss.isEmpty() && ss.getFirstElement() instanceof ILoggingCategory) {
                    AboutCategoryDialog dialog = new AboutCategoryDialog(getShell(),
                            (ILoggingCategory) ss.getFirstElement());
                    dialog.open();
                }
            }
        }
    });
    aboutButton.setEnabled(false);
    return categoriesArea;
}