Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

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

Prototype

public TreeColumn getColumn() 

Source Link

Usage

From source file:org.modelio.mda.infra.catalog.ModuleCatalogPanel.java

License:Open Source License

@objid("e53a50b6-ab02-4300-b9f6-0b2e2a199ad6")
@Override//from  w  w w .  j  a v  a2 s  .  c o m
public Object createPanel(Composite parent) {
    // top level container
    this.top = new Composite(parent, SWT.BORDER);
    this.top.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    this.top.setLayout(new FormLayout());

    this.loading = new Label(this.top, SWT.CENTER);
    this.loading.setImage(MdaInfra.getImageDescriptor("icons/hourglass.png").createImage());

    // List of modules from catalog
    this.treeViewer = new TreeViewer(this.top,
            SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION);
    Tree tree = this.treeViewer.getTree();
    tree.setHeaderVisible(true);
    this.treeViewer.getTree().setLinesVisible(true);

    // The first column displays the module name and version (or the
    // category)
    TreeViewerColumn col1 = new TreeViewerColumn(this.treeViewer, SWT.NONE);

    col1.getColumn().setWidth(200);
    col1.getColumn().setText(MdaInfra.I18N.getString("ModuleCatalogPanel.Module.label"));
    col1.getColumn().setToolTipText(MdaInfra.I18N.getString("ModuleCatalogPanel.Module.tooltip"));
    col1.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IModuleHandle) {
                // display a module
                IModuleHandle mh = (IModuleHandle) element;
                return mh.getName() + " " + mh.getVersion().toString("V.R.C");
            } else {
                // display a category
                CatalogModulesProvider cp = (CatalogModulesProvider) ModuleCatalogPanel.this.treeViewer
                        .getContentProvider();
                int totalNb = cp.getAllVersionsOfModule((String) element).size();
                return element.toString() + " [" + totalNb + "]";
            }

        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof IModuleHandle) {
                return MdaInfra.getImageDescriptor("icons/module.png").createImage();
            } else {
                return MdaInfra.getImageDescriptor("icons/modulelist.png").createImage();
            }
        }
    });

    // The second column display the minimal version of Modelio that is
    // required to run the module
    TreeViewerColumn col2 = new TreeViewerColumn(this.treeViewer, SWT.CENTER);
    col2.getColumn().setWidth(200);
    col2.getColumn().setText(MdaInfra.I18N.getString("ModuleCatalogPanel.ModelioRequiredVersion.label"));
    col2.getColumn()
            .setToolTipText(MdaInfra.I18N.getString("ModuleCatalogPanel.ModelioRequiredVersion.tooltip"));
    col2.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IModuleHandle) {
                IModuleHandle mh = (IModuleHandle) element;
                return mh.getBinaryVersion().toString("V.R.C");
            }
            return "";
        }
    });

    // The third column displays the predictable compatibility of the module
    // with the current Modelio version
    TreeViewerColumn col3 = new TreeViewerColumn(this.treeViewer, SWT.NONE);
    col3.getColumn().setWidth(200);
    col3.getColumn().setText(MdaInfra.I18N.getString("ModuleCatalogPanel.Compatibility.label"));
    col3.getColumn().setToolTipText(MdaInfra.I18N.getString("ModuleCatalogPanel.Compatibility.tooltip"));
    col3.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof IModuleHandle) {
                IModuleHandle mh = (IModuleHandle) element;
                switch (CompatibilityHelper.getCompatibilityLevel(ModuleCatalogPanel.this.modelioEnv, mh)) {
                case COMPATIBLE:
                    return MdaInfra.I18N.getString("ModuleCatalogPanel.message.Compatible");
                case FULLYCOMPATIBLE:
                    return MdaInfra.I18N.getString("ModuleCatalogPanel.message.FullyCompatible");
                case MODELIO_TOO_OLD:
                    return MdaInfra.I18N.getString("ModuleCatalogPanel.message.ModelioTooOld");
                case MODULE_TOO_OLD:
                    return MdaInfra.I18N.getString("ModuleCatalogPanel.message.ModuleTooOld");
                default:
                    break;
                }
            }
            return "";
        }

        @Override
        public Color getForeground(Object element) {
            if (element instanceof IModuleHandle) {
                IModuleHandle mh = (IModuleHandle) element;
                switch (CompatibilityHelper.getCompatibilityLevel(ModuleCatalogPanel.this.modelioEnv, mh)) {
                case COMPATIBLE:
                    return Display.getCurrent().getSystemColor(SWT.COLOR_BLUE);
                case FULLYCOMPATIBLE:
                    return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN);
                case MODELIO_TOO_OLD:
                case MODULE_TOO_OLD:
                    return Display.getCurrent().getSystemColor(SWT.COLOR_RED);
                default:
                    break;
                }
            }
            return super.getForeground(element);
        }
    });

    // Activate the tooltip support for the viewer
    // ColumnViewerToolTipSupport.enableFor(treeViewer,
    // org.eclipse.jface.window.ToolTip.NO_RECREATE);

    // Option 'show only latest version'
    final Button latestOnly = new Button(this.top, SWT.CHECK);
    latestOnly.setText(MdaInfra.I18N.getString("ModuleCatalogPanel.ShowLatestVersions"));
    latestOnly.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ModuleCatalogPanel.this.controller.onShowLatestOnly(latestOnly.getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            //
        }
    });

    // Option 'show only compatible versions'
    final Button compatibleOnly = new Button(this.top, SWT.CHECK);
    compatibleOnly.setText(MdaInfra.I18N.getString("ModuleCatalogPanel.ShowCompatibleVersions"));
    compatibleOnly.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ModuleCatalogPanel.this.controller.onShowCompatibleOnly(compatibleOnly.getSelection());
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            //
        }
    });

    // Carry out attachments (as the different widgets are attached
    // together, can only set their attachements here, when they all have
    // been created)
    FormData fd = new FormData();
    fd.left = new FormAttachment(0, 0);
    fd.right = new FormAttachment(100, 0);
    fd.bottom = new FormAttachment(100, 0);
    compatibleOnly.setLayoutData(fd);

    fd = new FormData();
    fd.left = new FormAttachment(0, 0);
    fd.bottom = new FormAttachment(compatibleOnly, 0, SWT.TOP);
    fd.right = new FormAttachment(100, 0);
    latestOnly.setLayoutData(fd);

    fd = new FormData();
    fd.top = new FormAttachment(0, 0);
    fd.left = new FormAttachment(0, 0);
    fd.bottom = new FormAttachment(latestOnly, -4);
    fd.right = new FormAttachment(100, 0);
    tree.setLayoutData(fd);
    this.loading.setLayoutData(fd); // FIXME

    // GUI is available, init the contents
    this.controller = new ModuleCatalogPanelController(this, this.modelioEnv);
    this.controller.init();

    // Init checkbox states
    latestOnly.setSelection(this.controller.isShowLatestOnly());
    compatibleOnly.setSelection(this.controller.isShowCompatibleOnly());

    this.treeViewer.getTree().setVisible(false);
    return this;
}

From source file:org.multicore_association.shim.edit.gui.jface.SHIMEditJFaceApplicationWindow.java

License:MIT License

/**
 * Creates the tab item of Components./*from   w  ww .j a  va 2 s .com*/
 */
private void createComponentsTabItem() {

    tbtmComponents = new TabItem(tabFolder, SWT.NONE);
    tbtmComponents.setText("Components");

    compositeComponent = new Composite(tabFolder, SWT.NONE);
    tbtmComponents.setControl(compositeComponent);
    compositeComponent.setLayout(new BorderLayout(0, 0));
    {
        compositeStackComponent = new Composite(compositeComponent, SWT.NONE);
        compositeStackComponent.setLayoutData(BorderLayout.CENTER);
        compositeStackComponent.setLayout(new StackLayout());

        inputPanelMasterComponent = new MasterComponentInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelSlaveComponent = new SlaveComponentInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelComponentSet = new ComponentSetInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelCache = new CacheInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelAccessTypeSet = new AccessTypeSetInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelAccessType = new AccessTypeInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelClockFrequency = new ClockFrequencyInputPanel(compositeStackComponent, SWT.NONE);

        inputPanelCommonInstructionSet = new CommonInstructionSetInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelInstruction = new InstructionInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelPerformance_2 = new PerformanceInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelLatency_2 = new LatencyInputPanel(compositeStackComponent, SWT.NONE);
        inputPanelPitch_2 = new PitchInputPanel(compositeStackComponent, SWT.NONE);
    }
    composite_2 = new Composite(compositeComponent, SWT.NONE);
    composite_2.setLayoutData(BorderLayout.WEST);
    composite_2.setLayout(new BorderLayout(0, 0));

    shimComponentTreeViewer = new ShimComponentTreeViewer(composite_2);
    shimComponentTreeViewer.setExpandPreCheckFilters(true);
    shimComponentTreeViewer.setAutoExpandLevel(4);
    Tree treeComponentSet = shimComponentTreeViewer.getTree();
    treeComponentSet.setLinesVisible(true);
    treeComponentSet.setHeaderVisible(true);
    treeComponentSet.setLayoutData(BorderLayout.CENTER);
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(shimComponentTreeViewer, SWT.NONE);
        TreeColumn treeColumn = treeViewerColumn.getColumn();
        treeColumn.setWidth(300);
        treeColumn.setText("ComponentSetTree");
    }
    {
        composite = new Composite(composite_2, SWT.NONE);
        composite.setLayoutData(BorderLayout.SOUTH);
        composite.setLayout(new GridLayout(1, false));
        {
            btnRenumber = new Button(composite, SWT.NONE);
            btnRenumber.addSelectionListener(this);
            btnRenumber.setText("Re-number nodes");
        }
    }
    shimComponentTreeViewer.setLabelProvider(new ComponentTreeLabelProvider());
    shimComponentTreeViewer.setContentProvider(new ComponentTreeItemProvider());

    TreeViewerColumnResizeListener.addTreeViewerColumnResizeListener(treeComponentSet, new int[] { 300 });

    SelectionListener selectionListener = new SelectionListener() {

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            // NOOP
        }

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            TreeItem item = (TreeItem) event.item;
            componentSelectedItem = item;

            log.finest("TreeViewer:Components " + item.getText() + " selected");

            InputPanelBase inputPanel = null;
            Object selectedObject = item.getData();
            if (selectedObject instanceof MasterComponent) {
                inputPanel = inputPanelMasterComponent;
            } else if (selectedObject instanceof SlaveComponent) {
                inputPanel = inputPanelSlaveComponent;
            } else if (selectedObject instanceof ComponentSet) {
                inputPanel = inputPanelComponentSet;
            } else if (selectedObject instanceof Cache) {
                inputPanel = inputPanelCache;
            } else if (selectedObject instanceof AccessTypeSet) {
                inputPanel = inputPanelAccessTypeSet;
            } else if (selectedObject instanceof AccessType) {
                inputPanel = inputPanelAccessType;
            } else if (selectedObject instanceof CommonInstructionSet) {
                inputPanel = inputPanelCommonInstructionSet;
            } else if (selectedObject instanceof Instruction) {
                inputPanel = inputPanelInstruction;
            } else if (selectedObject instanceof Performance) {
                inputPanel = inputPanelPerformance_2;
            } else if (selectedObject instanceof Latency) {
                inputPanel = inputPanelLatency_2;
            } else if (selectedObject instanceof Pitch) {
                inputPanel = inputPanelPitch_2;
            } else if (selectedObject instanceof ClockFrequency) {
                inputPanel = inputPanelClockFrequency;
            }
            currentComponentsPanel = inputPanel;

            changeInputPanel(item, inputPanel, compositeStackComponent, shimComponentTreeViewer);
        }
    };
    treeComponentSet.addSelectionListener(selectionListener);

    // If notifies the selection event in tabFolder, refreshes all
    // tree viewers.
    tabFolder.addSelectionListener(new SelectionListener() {

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            // NOOP
        }

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            refresh();
        }
    });

    // creates an empty input
    ObjectFactory of = ShimModelManager.getObjectFactory();

    ComponentSet croot = of.createComponentSet();

    croot.setName("rootCompo");
    ComponentSet cs1 = of.createComponentSet();
    cs1.setName("cs1");

    MasterComponent cpu1 = of.createMasterComponent();
    cpu1.setName("cpu1");
    SlaveComponent mem1 = of.createSlaveComponent();
    mem1.setName("mem1");
    ComponentSet cs11 = of.createComponentSet();
    cs11.setName("cs11");

    croot.getComponentSet().add(cs1);

    cs1.getComponentSet().add(cs11);

    cs1.getMasterComponent().add(cpu1);
    cs1.getSlaveComponent().add(mem1);

    MasterComponent cpu11 = of.createMasterComponent();
    cpu11.setName("cpu11");
    MasterComponent cpu12 = of.createMasterComponent();
    cpu12.setName("cpu12");

    cs11.getMasterComponent().add(cpu11);
    cs11.getMasterComponent().add(cpu12);

    shimComponentTreeViewer.setInput(croot.getComponentSet().toArray());
}

From source file:org.multicore_association.shim.edit.gui.jface.SHIMEditJFaceApplicationWindow.java

License:MIT License

/**
 * Creates the tab item of AddressSpace.
 *//*from   www . j ava 2 s .  com*/
private void createAddressSpaceTabItem() {
    TabItem tbtmAddressSpace = new TabItem(tabFolder, SWT.NONE);
    tbtmAddressSpace.setText("AddressSpace");

    Composite compositeAddressSpaces = new Composite(tabFolder, SWT.NONE);
    tbtmAddressSpace.setControl(compositeAddressSpaces);
    compositeAddressSpaces.setLayout(new BorderLayout(0, 0));
    {
        shimAddressSpaceTreeViewer = new ShimAddressSpaceTreeViewer(compositeAddressSpaces);
        shimAddressSpaceTreeViewer.setAutoExpandLevel(3);
        shimAddressSpaceTreeViewer.setExpandPreCheckFilters(true);
        treeAddressSpaceSet = shimAddressSpaceTreeViewer.getTree();
        treeAddressSpaceSet.setHeaderVisible(true);
        treeAddressSpaceSet.setLinesVisible(true);
        treeAddressSpaceSet.setLayoutData(BorderLayout.WEST);
        {
            TreeViewerColumn treeViewerColumn = new TreeViewerColumn(shimAddressSpaceTreeViewer, SWT.NONE);
            TreeColumn trclmnAddressSpaceName = treeViewerColumn.getColumn();
            trclmnAddressSpaceName.setWidth(295);
            trclmnAddressSpaceName.setText("AddressSpaceName");
        }
        shimAddressSpaceTreeViewer.setLabelProvider(new AddressSpaceTreeLabelProvider());
        shimAddressSpaceTreeViewer.setContentProvider(new AddressSpaceTreeItemProvider());

        TreeViewerColumnResizeListener.addTreeViewerColumnResizeListener(treeAddressSpaceSet,
                new int[] { 295 });

    }
    compositeStackAddressSpace = new Composite(compositeAddressSpaces, SWT.NONE);
    compositeStackAddressSpace.setLayoutData(BorderLayout.CENTER);
    compositeStackAddressSpace.setLayout(new StackLayout());
    {
        inputPanelAddressSpaceSet = new AddressSpaceSetInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelAddressSpace = new AddressSpaceInputPanel(compositeStackAddressSpace, SWT.NONE, false);
        inputPanelSubSpace = new SubSpaceInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelMasterSlaveBindingSet = new MasterSlaveBindingSetInputPanel(compositeStackAddressSpace,
                SWT.NONE);
        inputPanelMasterSlaveBinding = new MasterSlaveBindingInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelPerformanceSet = new PerformanceSetInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelPerformance_1 = new PerformanceInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelAccessor = new AccessorInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelLatency_1 = new LatencyInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelPitch_1 = new PitchInputPanel(compositeStackAddressSpace, SWT.NONE);
        inputPanelMemoryConsistencyModel = new MemoryConsistencyModelInputPanel(compositeStackAddressSpace,
                SWT.NONE);

        SelectionAdapter selectionAdapter = new SelectionAdapter() {
            /**
             * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent)
             */
            @Override
            public void widgetSelected(SelectionEvent event) {
                Accessor accessor = (Accessor) inputPanelAccessor.getInput();

                MasterComponent masterComponentRef = (MasterComponent) accessor.getMasterComponentRef();
                List<ShimObject> objectsList = ShimModelAdapter.getObjectsList(AccessType.class,
                        masterComponentRef);

                boolean dialogFlag = false;

                // Confirms whether invalid reference occurs or not.
                List<PerformanceSet> performanceSetList = accessor.getPerformanceSet();
                for (PerformanceSet performanceSet : performanceSetList) {
                    List<Performance> performanceList = performanceSet.getPerformance();
                    for (Performance performance : performanceList) {
                        AccessType accessTypeRef = (AccessType) performance.getAccessTypeRef();
                        if (accessTypeRef == null) {
                            continue;
                        }

                        boolean isFound = false;
                        AccessType replace = null;
                        for (ShimObject objects : objectsList) {
                            AccessType type = (AccessType) objects.getObj();
                            if (accessTypeRef.getId().equals(type.getId())) {
                                isFound = true;
                                break;
                            } else if (accessTypeRef.getName().equals(type.getName())) {
                                replace = type;
                            }
                        }

                        if (!isFound) {
                            // If there is the AccessType which has the same
                            // name,
                            // replaces with it.
                            performance.setAccessTypeRef(replace);
                            if (replace == null) {
                                dialogFlag = true;
                            }
                        }
                    }
                }

                // If some invalid reference occurs, notifies users.
                if (dialogFlag) {
                    MessageDialog.openWarning(rootShell, "Warning", CommonConstants.MESSAGE_INVALID_IDREF);
                }
            }
        };
        inputPanelAccessor.getBtnApply().addSelectionListener(selectionAdapter);
    }

    SelectionListener listener = new SelectionListener() {

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            // NOOP
        }

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            TreeItem item = (TreeItem) event.item;
            log.finest("TreeViewer:AddressSpace " + item.getText() + " selected");

            addressSpaceSelectedItem = item;

            InputPanelBase inputPanel = null;
            Object selectedObject = item.getData();

            if (selectedObject instanceof AddressSpaceSet) {
                inputPanel = inputPanelAddressSpaceSet;
            } else if (selectedObject instanceof AddressSpace) {
                inputPanel = inputPanelAddressSpace;
            } else if (selectedObject instanceof SubSpace) {
                inputPanel = inputPanelSubSpace;
            } else if (selectedObject instanceof MasterSlaveBindingSet) {
                inputPanel = inputPanelMasterSlaveBindingSet;
            } else if (selectedObject instanceof MasterSlaveBinding) {
                inputPanel = inputPanelMasterSlaveBinding;
            } else if (selectedObject instanceof PerformanceSet) {
                inputPanel = inputPanelPerformanceSet;
            } else if (selectedObject instanceof Performance) {
                inputPanel = inputPanelPerformance_1;
            } else if (selectedObject instanceof Latency) {
                inputPanel = inputPanelLatency_1;
            } else if (selectedObject instanceof Pitch) {
                inputPanel = inputPanelPitch_1;
            } else if (selectedObject instanceof Accessor) {
                inputPanel = inputPanelAccessor;
            } else if (selectedObject instanceof MemoryConsistencyModel) {
                inputPanel = inputPanelMemoryConsistencyModel;
            }

            currentAddressSpacePanel = inputPanel;

            changeInputPanel(item, inputPanel, compositeStackAddressSpace, shimAddressSpaceTreeViewer);
        }
    };
    treeAddressSpaceSet.addSelectionListener(listener);
}

From source file:org.multicore_association.shim.edit.gui.jface.SHIMEditJFaceApplicationWindow.java

License:MIT License

/**
 * Creates the tab item of CommunicationSet.
 *///www .  j ava  2s. co  m
private void createCommunicationTabItem() {
    TabItem tbtmCommunications = new TabItem(tabFolder, SWT.NONE);
    tbtmCommunications.setText("Communications");

    Composite composite_Communications = new Composite(tabFolder, SWT.NONE);
    tbtmCommunications.setControl(composite_Communications);
    composite_Communications.setLayout(new BorderLayout(0, 0));

    compositeCommunicationTree = new Composite(composite_Communications, SWT.NONE);
    compositeCommunicationTree.setLayoutData(BorderLayout.WEST);
    compositeCommunicationTree.setLayout(new BorderLayout(0, 0));

    shimCommunicationTreeViewer = new ShimCommunicationTreeViewer(compositeCommunicationTree);
    shimCommunicationTreeViewer.setAutoExpandLevel(2);
    treeCommunicationSet = shimCommunicationTreeViewer.getTree();
    treeCommunicationSet.setLinesVisible(true);
    treeCommunicationSet.setHeaderVisible(true);
    {
        TreeViewerColumn treeViewerColumn = new TreeViewerColumn(shimCommunicationTreeViewer, SWT.NONE);
        TreeColumn trclmnCommunicationset = treeViewerColumn.getColumn();
        trclmnCommunicationset.setWidth(304);
        trclmnCommunicationset.setText("CommunicationSet");
    }
    shimCommunicationTreeViewer.setLabelProvider(new CommunicationSetTreeLabelProvider());
    shimCommunicationTreeViewer.setContentProvider(new CommunicationSetTreeItemProvider());

    TreeViewerColumnResizeListener.addTreeViewerColumnResizeListener(treeCommunicationSet, new int[] { 304 });

    compositeStackCommunications = new Composite(composite_Communications, SWT.NONE);

    // creates InputPanels for each element
    compositeStackCommunications.setLayout(new StackLayout());
    {
        inputPanelCommunicationSet = new CommunicationSetInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelSharedRegisterCommunication = new SharedRegisterCommunicationInputPanel(
                compositeStackCommunications, SWT.NONE);
        inputPanelLLSCCommunication = new SharedMemoryCommunicationInputPanel(compositeStackCommunications,
                SWT.NONE);
        inputPanelEventCommunication = new EventCommunicationInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelFIFOCommunication = new FIFOCommunicationInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelInterruptCommunication = new InterruptCommunicationInputPanel(compositeStackCommunications,
                SWT.NONE);
        inputPanelConnectionSet = new ConnectionSetInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelConnection = new ConnectionInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelPitch = new PitchInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelLatency = new LatencyInputPanel(compositeStackCommunications, SWT.NONE);
        inputPanelPerformance = new PerformanceInputPanel(compositeStackCommunications, SWT.NONE);
    }

    SelectionListener selectionListener = new SelectionListener() {

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            // NOOP
        }

        /**
         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
         */
        @Override
        public void widgetSelected(SelectionEvent event) {
            TreeItem item = (TreeItem) event.item;
            communicationSelectedItem = item;

            log.finest("TreeViewer:CommunicationSet " + item.getText() + " selected");

            InputPanelBase inputPanel = null;
            Object selectedObject = item.getData();
            if (selectedObject instanceof CommunicationSet) {
                inputPanel = inputPanelCommunicationSet;
            } else if (selectedObject instanceof EventCommunication) {
                inputPanel = inputPanelEventCommunication;
            } else if (selectedObject instanceof SharedRegisterCommunication) {
                inputPanel = inputPanelSharedRegisterCommunication;
            } else if (selectedObject instanceof SharedMemoryCommunication) {
                inputPanel = inputPanelLLSCCommunication;
            } else if (selectedObject instanceof FIFOCommunication) {
                inputPanel = inputPanelFIFOCommunication;
            } else if (selectedObject instanceof InterruptCommunication) {
                inputPanel = inputPanelInterruptCommunication;
            } else if (selectedObject instanceof ConnectionSet) {
                inputPanel = inputPanelConnectionSet;
            } else if (selectedObject instanceof Connection) {
                inputPanel = inputPanelConnection;
            } else if (selectedObject instanceof Pitch) {
                inputPanel = inputPanelPitch;
            } else if (selectedObject instanceof Latency) {
                inputPanel = inputPanelLatency;
            } else if (selectedObject instanceof Performance) {
                inputPanel = inputPanelPerformance;
            }
            currentCommunicationsPanel = inputPanel;

            changeInputPanel(item, inputPanel, compositeStackCommunications, shimCommunicationTreeViewer);
        }

    };
    treeCommunicationSet.addSelectionListener(selectionListener);
}

From source file:org.netxms.ui.eclipse.objectview.objecttabs.ComponentsTab.java

License:Open Source License

/**
 * @param name/* w w w  .ja v a 2  s.co m*/
 */
private void addColumn(String name, int width) {
    TreeViewerColumn tc = new TreeViewerColumn(viewer, SWT.LEFT);
    tc.getColumn().setText(name);
    tc.getColumn().setWidth(width);
}

From source file:org.nfc.eclipse.plugin.NdefEditorPart.java

License:Open Source License

@Override
public void createPartControl(Composite composite) {

    composite.setLayout(new FillLayout());
    composite.setBackground(new Color(composite.getDisplay(), 0xFF, 0xFF, 0xFF));

    form = new SashForm(composite, SWT.HORIZONTAL);
    form.setLayout(new FillLayout());

    Composite wrapper = new Composite(form, SWT.NONE);
    wrapper.setLayout(new FillLayout());

    treeViewer = new TreeViewer(wrapper, SWT.BORDER | SWT.FULL_SELECTION);
    treeViewer.getTree().setLinesVisible(true);
    treeViewer.getTree().setHeaderVisible(true);

    ColumnViewerToolTipSupport.enableFor(treeViewer);

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(treeViewer,
            new FocusCellOwnerDrawHighlighter(treeViewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(treeViewer) {
        @Override/*from  w  w w  .j  a  v  a2s  .  c om*/
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(treeViewer, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

    TreeViewerColumn column = new TreeViewerColumn(treeViewer, 0, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Record");
    column.setLabelProvider(new ColumnLabelProvider() {

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

        // add tooltip here
    });

    column = new TreeViewerColumn(treeViewer, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Value");

    column.setLabelProvider(new NdefRecordModelValueColumnLabelProvider());
    column.setEditingSupport(
            new NdefRecordModelEditingSupport(treeViewer, this, operator.getNdefRecordFactory()));

    column = new TreeViewerColumn(treeViewer, SWT.NONE);
    column.getColumn().setWidth(50);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Size");
    column.getColumn().setAlignment(SWT.CENTER);
    column.setLabelProvider(new NdefRecordModelSizeColumnLabelProvider());

    // http://blog.eclipse-tips.com/2008/05/single-column-tableviewer-and.html

    column = new TreeViewerColumn(treeViewer, SWT.NONE);
    column.getColumn().setMoveable(true);
    column.getColumn().setResizable(false);
    column.getColumn().setText("Hint");
    column.getColumn().setAlignment(SWT.LEFT);

    column.setLabelProvider(new NdefRecordModelHintColumnProvider());

    column.getColumn().pack();

    treeViewer.setContentProvider(new NdefRecordModelContentProvider());

    treeViewer.setInput(operator.getModel());

    new NdefRecordModelMenuListener(treeViewer, this, ndefMultiPageEditor, operator.getModel());

    treeViewer.expandAll();

    // we want the last column to 'fill' with the layout
    // trigger at key points:
    // first show
    composite.getDisplay().asyncExec(new Runnable() {
        public void run() {
            packAndFillLastColumn();
        }
    });

    // resize
    treeViewer.getTree().addControlListener(new ControlAdapter() {
        public void controlResized(ControlEvent e) {
            packAndFillLastColumn();
        }
    });

    // manual resizing of columns
    Tree tree = treeViewer.getTree();
    for (int i = 0; i < tree.getColumnCount() - 1; i++) {
        tree.getColumn(i).addControlListener(new ControlAdapter() {
            public void controlResized(ControlEvent e) {
                packAndFillLastColumn();
            }
        });
    }

    // drag and drop
    Transfer[] types = new Transfer[] { LocalSelectionTransfer.getTransfer() };
    int operations = DND.DROP_MOVE;

    treeViewer.addDragSupport(operations, types, new DragSourceListener() {

        @Override
        public void dragFinished(DragSourceEvent event) {
            // end drag
        }

        @Override
        public void dragSetData(DragSourceEvent event) {
            // do nothing for LocalSelectionTransfer
        }

        @Override
        public void dragStart(DragSourceEvent event) {

            int column = NdefEditorPart.this.getColumn(event.x);

            if (column == 0) {
                TreeSelection selection = (TreeSelection) treeViewer.getSelection();

                Object node = selection.getFirstElement();
                if (node instanceof NdefRecordModelRecord) {
                    event.doit = true;

                    NdefRecordModelRecord ndefRecordModelRecord = (NdefRecordModelRecord) node;

                    if (ndefRecordModelRecord.getLevel() == 1) {
                        Activator.info(
                                "Start drag for " + ndefRecordModelRecord.getRecord().getClass().getSimpleName()
                                        + " at level " + ndefRecordModelRecord.getLevel());

                        event.data = node;

                        event.doit = true;
                    } else {
                        Activator.info("Do not start drag for level " + ndefRecordModelRecord.getLevel());

                        event.doit = false;
                    }
                } else {
                    Activator.info("Do not start drag");

                    event.doit = false;
                }
            } else {
                Activator.info("Do not start drag for column " + column);

                event.doit = false;
            }
        }
    });

    treeViewer.addDropSupport(operations, types, new TreeDropTargetEffect(treeViewer.getTree()) {

        /**
         * 
         * Check out what kind of (visual) insert feedback to give user in GUI while dragging: insert before or after.
         * 
         */

        @Override
        public void dragOver(DropTargetEvent event) {
            Widget item = event.item;
            if (item instanceof TreeItem) {
                TreeItem treeItem = (TreeItem) item;

                NdefRecordModelNode node = (NdefRecordModelNode) treeItem.getData();

                if (node instanceof NdefRecordModelRecord) {
                    if (node.getLevel() == 1) {

                        event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL;

                        Point pt = event.display.map(null, treeViewer.getControl(), event.x, event.y);
                        Rectangle bounds = treeItem.getBounds();
                        if (pt.y < bounds.y + bounds.height / 3) {
                            event.feedback |= DND.FEEDBACK_INSERT_BEFORE;
                        } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                            event.feedback |= DND.FEEDBACK_INSERT_AFTER;
                        } else {
                            // event.feedback |= DND.FEEDBACK_SELECT;
                        }

                    } else {
                        // ignore node
                    }
                } else {
                    // ignore node
                }
            } else if (item != null) {
                // ignore item
            } else if (item == null) {
                // ignore null item
            }

            super.dragOver(event);
        }

        public void drop(DropTargetEvent event) {

            Activator.info("Drop " + event.getSource() + " " + event.item);

            Widget item = event.item;
            if (item instanceof TreeItem) {
                TreeItem treeItem = (TreeItem) item;

                NdefRecordModelNode node = (NdefRecordModelNode) treeItem.getData();

                if (node instanceof NdefRecordModelRecord) {
                    if (node.getLevel() == 1) {

                        TreeSelection selection = (TreeSelection) treeViewer.getSelection();

                        NdefRecordModelRecord source = (NdefRecordModelRecord) selection.getFirstElement();

                        if (source.getLevel() != 1) {

                            return;
                        }

                        Point pt = event.display.map(null, treeViewer.getControl(), event.x, event.y);
                        Rectangle bounds = treeItem.getBounds();
                        if (pt.y < bounds.y + bounds.height / 3) {
                            Activator.info("Drop " + source + " before " + node);

                            operator.move(source, node.getParent(), node.getParentIndex());

                            modified(true);
                        } else if (pt.y > bounds.y + 2 * bounds.height / 3) {
                            Activator.info("Drop " + source + " after " + node);

                            operator.move(source, node.getParent(), node.getParentIndex() + 1);

                            modified(true);
                        } else {
                            // event.feedback |= DND.FEEDBACK_SELECT;
                        }

                    } else {
                        Activator.info("Ignore drop node " + node.getClass().getSimpleName() + " at level "
                                + node.getLevel());
                    }
                } else {
                    Activator.info("Ignore drop node " + node.getClass().getSimpleName());
                }
            } else if (item != null) {
                Activator.info("Ignore drop item " + item.getClass().getSimpleName() + " " + item.getData());
            } else if (item == null) {
                // ignore null item
            }
        }

    });
}

From source file:org.obeonetwork.dsl.uml2.profile.design.profiletodsl.MappingsSelectionPage.java

License:Open Source License

/**
 * {@inheritDoc}//from w  w w . ja v  a2 s  .  com
 */
public void createControl(Composite parent) {
    profileToDSLWizard = (ProfileToDSLWizard) this.getWizard();

    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout());

    // Messages for guidance.
    GridData dataFillHorizontal = new GridData(GridData.FILL_HORIZONTAL);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    container.setLayout(gridLayout);

    Label label1 = new Label(container, SWT.NONE);
    label1.setText("Select the mappings to be used in the VSM of the DSL.");
    Label line = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
    line.setLayoutData(dataFillHorizontal);

    containerCheckedTreeViewer = new ContainerCheckedTreeViewer(container, SWT.BORDER);
    containerCheckedTreeViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            dslEAnnotation.setVSMMappingSelection(event.getElement(), String.valueOf(event.getChecked()));
            if (event.getSource() instanceof ContainerCheckedTreeViewer) {

                dslEAnnotation.setVSMMappingSelectionToFalse(
                        ((ContainerCheckedTreeViewer) event.getSource()).getInput());
                dslEAnnotation.setVSMMappingSelectionToTrue(
                        ((ContainerCheckedTreeViewer) event.getSource()).getCheckedElements());
            }
            refreshPages();
        }
    });

    containerCheckedTreeViewer.setContentProvider(new MyTreeContentProvider());
    containerCheckedTreeViewer.getTree().setVisible(true);

    TreeViewerColumn umlElmentColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    umlElmentColumn.getColumn().setText("UML Element");
    umlElmentColumn.setLabelProvider(new EcoreElementLabelProvider());
    umlElmentColumn.getColumn().setWidth(300);

    TreeViewerColumn mappingNameColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    mappingNameColumn.getColumn().setText("Mapping Name");
    mappingNameColumn.setLabelProvider(new MappingNameLabelProvider());
    mappingNameColumn.getColumn().setWidth(200);

    TreeViewerColumn mappingTypeColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    mappingTypeColumn.getColumn().setText("Mapping Type");
    mappingTypeColumn.setLabelProvider(new MappingTypeLabelProvider());
    mappingTypeColumn.getColumn().setWidth(100);

    containerCheckedTreeViewer.setUseHashlookup(true);
    containerCheckedTreeViewer.getTree().setHeaderVisible(true);
    containerCheckedTreeViewer.getTree().setLinesVisible(true);

    Composite expandCollapseContainer = new Composite(container, SWT.NULL);
    expandCollapseContainer.setLayout(new RowLayout());

    Button checkAll = new Button(expandCollapseContainer, SWT.NONE);
    checkAll.setText(" v ");
    checkAll.setToolTipText("Check All");
    checkAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setAllChecked(containerCheckedTreeViewer, true);
            refreshPages();
        }
    });

    Button unCheckAll = new Button(expandCollapseContainer, SWT.NONE);
    unCheckAll.setText("  ");
    unCheckAll.setToolTipText("Uncheck All");
    unCheckAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setAllChecked(containerCheckedTreeViewer, false);
            refreshPages();
        }
    });

    Button collapseAll = new Button(expandCollapseContainer, SWT.NONE);
    collapseAll.setText(" - ");
    collapseAll.setToolTipText("Collapse All");
    collapseAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            containerCheckedTreeViewer.collapseAll();
        }
    });

    Button expandAll = new Button(expandCollapseContainer, SWT.NONE);
    expandAll.setText("+");
    expandAll.setToolTipText("Expand All");
    expandAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            containerCheckedTreeViewer.expandAll();
        }
    });

    /************************** Edit *****************************/
    // To trigger editing in Tree cells on double click, we need to create TreeViewerEditor.
    TreeViewerEditor.create(containerCheckedTreeViewer,
            new ColumnViewerEditorActivationStrategy(containerCheckedTreeViewer) {
                protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
                    return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION;
                }
            }, ColumnViewerEditor.DEFAULT);

    final TextCellEditor cellEditor = new MyTextCellEditor(containerCheckedTreeViewer.getTree());

    mappingNameColumn.setEditingSupport(new NameEditingSupport(containerCheckedTreeViewer, cellEditor));
    mappingTypeColumn.setEditingSupport(new ComboBoxEditingSupport(containerCheckedTreeViewer));

    /************************** Edit *****************************/

    containerCheckedTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    setControl(container);

}

From source file:org.obeonetwork.dsl.uml2.profile.design.profiletodsl.MetaClassesSelectionPage.java

License:Open Source License

/**
 * {@inheritDoc}//w w w.j ava2 s.  c  o m
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    container.setLayout(new GridLayout());

    // Messages for guidance.
    GridData dataFillHorizontal = new GridData(GridData.FILL_HORIZONTAL);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    container.setLayout(gridLayout);

    Label label1 = new Label(container, SWT.NONE);
    label1.setText("Select the meta-classes to be kept in the DSL meta-model.");
    Label line = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
    line.setLayoutData(dataFillHorizontal);

    containerCheckedTreeViewer = new ContainerCheckedTreeViewer(container, SWT.BORDER);
    containerCheckedTreeViewer.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            dslEAnnotation.setDslFactoryeAnnotation(event.getElement(), String.valueOf(event.getChecked()));
            if (event.getSource() instanceof ContainerCheckedTreeViewer) {

                dslEAnnotation.setDslFactoryeAnnotationToFalse(
                        ((ContainerCheckedTreeViewer) event.getSource()).getInput());
                dslEAnnotation.setDslFactoryeAnnotationToTrue(
                        ((ContainerCheckedTreeViewer) event.getSource()).getCheckedElements());
            }
            refreshPages();
        }
    });

    containerCheckedTreeViewer.setContentProvider(new MyTreeContentProvider());
    containerCheckedTreeViewer.getTree().setVisible(true);

    TreeViewerColumn umlElmentColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    umlElmentColumn.getColumn().setText("UML Element");
    umlElmentColumn.setLabelProvider(new EcoreElementLabelProvider());
    umlElmentColumn.getColumn().setWidth(300);

    TreeViewerColumn nameColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    nameColumn.getColumn().setText("Name");
    nameColumn.setLabelProvider(new EcoreElementNameLabelProvider());
    nameColumn.getColumn().setWidth(200);

    TreeViewerColumn lowerBoundColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    lowerBoundColumn.getColumn().setText("Lower Bound");
    lowerBoundColumn.setLabelProvider(new EAttributeLowerBoundLabelProvider());
    lowerBoundColumn.getColumn().setWidth(90);

    TreeViewerColumn upperBoundColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    upperBoundColumn.getColumn().setText("Upper Bound");
    upperBoundColumn.setLabelProvider(new EAttributeUpperBoundLabelProvider());
    upperBoundColumn.getColumn().setWidth(90);

    TreeViewerColumn typeColumn = new TreeViewerColumn(containerCheckedTreeViewer, SWT.LEFT);
    typeColumn.getColumn().setText("Type");
    typeColumn.setLabelProvider(new TypeLabelProvider());
    typeColumn.getColumn().setWidth(100);

    containerCheckedTreeViewer.setUseHashlookup(true);
    containerCheckedTreeViewer.getTree().setHeaderVisible(true);
    containerCheckedTreeViewer.getTree().setLinesVisible(true);

    Composite expandCollapseContainer = new Composite(container, SWT.NULL);
    expandCollapseContainer.setLayout(new RowLayout());

    Button checkAll = new Button(expandCollapseContainer, SWT.NONE);
    checkAll.setText(" v ");
    checkAll.setToolTipText("Check All");
    checkAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setAllChecked(containerCheckedTreeViewer, true);
        }
    });

    Button unCheckAll = new Button(expandCollapseContainer, SWT.NONE);
    unCheckAll.setText("  ");
    unCheckAll.setToolTipText("Uncheck All");
    unCheckAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            setAllChecked(containerCheckedTreeViewer, false);
        }
    });

    Button collapseAll = new Button(expandCollapseContainer, SWT.NONE);
    collapseAll.setText(" - ");
    collapseAll.setToolTipText("Collapse All");
    collapseAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            containerCheckedTreeViewer.collapseAll();
        }
    });

    Button expandAll = new Button(expandCollapseContainer, SWT.NONE);
    expandAll.setText("+");
    expandAll.setToolTipText("Expand All");
    expandAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            containerCheckedTreeViewer.expandAll();
        }
    });

    Button recommendedElements = new Button(expandCollapseContainer, SWT.NONE);
    recommendedElements.setText("&Recommended Elements");
    recommendedElements.setToolTipText("Check Recommended Elements");
    recommendedElements.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            checkRecommendedElements(containerCheckedTreeViewer);
        }
    });

    /************************** Edit *****************************/
    // To trigger editing in Tree cells on double click, we need to create TreeViewerEditor.
    TreeViewerEditor.create(containerCheckedTreeViewer,
            new ColumnViewerEditorActivationStrategy(containerCheckedTreeViewer) {
                protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
                    return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION;
                }
            }, ColumnViewerEditor.DEFAULT);

    final TextCellEditor cellEditor = new MyTextCellEditor(containerCheckedTreeViewer.getTree());

    nameColumn.setEditingSupport(new NameEditingSupport(containerCheckedTreeViewer, cellEditor));
    upperBoundColumn
            .setEditingSupport(new BoundEditingSupport(containerCheckedTreeViewer, cellEditor, "upper"));

    lowerBoundColumn
            .setEditingSupport(new BoundEditingSupport(containerCheckedTreeViewer, cellEditor, "lower"));
    typeColumn.setEditingSupport(new ComboBoxEditingSupport(containerCheckedTreeViewer));

    /************************** Edit *****************************/

    containerCheckedTreeViewer.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    setControl(container);
}

From source file:org.objectstyle.wolips.eomodeler.outline.EOModelContentOutlinePage.java

License:Open Source License

public void createControl(Composite parent) {
    super.createControl(parent);

    TreeViewer treeViewer = getTreeViewer();

    //TreeColumnLayout outlineTreeLayout = new TreeColumnLayout();
    //_treeComposite.setLayout(outlineTreeLayout);

    final TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE);
    column.setLabelProvider(new EOModelOutlineColumnLabelProvider(treeViewer));
    column.setEditingSupport(new EOModelOutlineEditingSupport(treeViewer));
    column.getColumn().setWidth(400);
    //outlineTreeLayout.setColumnData(column.getColumn(), new ColumnWeightData(100, true));

    ColumnViewerEditorActivationStrategy strategy = new ColumnViewerEditorActivationStrategy(treeViewer) {
        @Override/* w ww .  j a va2  s .com*/
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION;
        }
    };
    TreeViewerEditor.create(treeViewer, null, strategy, ColumnViewerEditor.DEFAULT);
    /*
    parent.addControlListener(new ControlAdapter() {
       @Override
       public void controlResized(ControlEvent e) {
    super.controlResized(e);
    Composite widget = (Composite)e.getSource();
    column.getColumn().setWidth(widget.getSize().x);
    System.out.println(".controlResized: " + widget.getSize());
       }
    });
    */

    if (_updater != null) {
        _updater.dispose();
    }
    _updater = new EOModelTreeViewUpdater(treeViewer,
            new EOModelOutlineContentProvider(true, true, true, true, true, true, true, true));
    _updater.setModel(_editor.getModel());
    updateClipboardHandler();
    // AK: commenting prevents an error in swt
    // setFocus();

    IActionBars actionBars = getSite().getActionBars();
    IToolBarManager toolBarManager = actionBars.getToolBarManager();
    _toggleNonClassPropertiesAction = new ToggleNonClassPropertiesAction();
    toolBarManager.add(_toggleNonClassPropertiesAction);
    _toggleModelGroupAction = new ToggleModelGroupAction();
    toolBarManager.add(_toggleModelGroupAction);

    MenuManager menuManager = new MenuManager();
    menuManager.setRemoveAllWhenShown(true);
    menuManager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager m) {
            m.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
        }
    });
    Tree tree = treeViewer.getTree();
    _contextMenu = menuManager.createContextMenu(treeViewer.getTree());
    tree.setMenu(_contextMenu);
    getSite().registerContextMenu("org.objectstyle.wolips.eomodeler.outline", menuManager, treeViewer);

    if (_editor.getModel() == null) {
        treeViewer.setInput(new EOModelLoading(null));
        treeViewer.expandAll();
    }
}

From source file:org.openehealth.ipf.tools.manager.connection.ui.view.ConnectionView.java

License:Apache License

@Override
public void createPartControl(Composite parent) {
    Activator.getDefault().info("Creating the connection editor");
    IJMXConnectionManager jMXConnectionManager = Activator.getDefault().getJMXConnectionManager();
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    drillDownAdapter = new DrillDownAdapter(viewer);
    // handle the content provider
    contentProvider = new JMXContentProvider(this.getViewSite(), jMXConnectionManager);
    viewer.setContentProvider(contentProvider);

    viewer.setUseHashlookup(true);/*from   w  ww .  ja  v a  2 s .  c  o  m*/
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setHeaderVisible(true);

    TreeViewerColumn tc0 = new TreeViewerColumn(viewer, SWT.CENTER);
    TreeViewerColumn tc1 = new TreeViewerColumn(viewer, SWT.CENTER);
    TreeViewerColumn tc2 = new TreeViewerColumn(viewer, SWT.CENTER);

    tc0.getColumn().setText(Messages.getLabelString("connection.name"));
    tc0.setLabelProvider(new JMXConnectionLabelProvider(0));
    tc0.getColumn().setWidth(140);
    tc1.getColumn().setText(Messages.getLabelString("connection.host"));
    tc1.setLabelProvider(new JMXConnectionLabelProvider(1));
    tc1.getColumn().setWidth(100);
    tc2.getColumn().setText(Messages.getLabelString("connection.port"));
    tc2.setLabelProvider(new JMXConnectionLabelProvider(2));
    tc2.getColumn().setWidth(60);

    new TreeColumnViewerSorter(viewer, tc0) {

        @Override
        protected int doCompare(Viewer viewer, Object e1, Object e2) {
            IAdaptable adapter1 = (IAdaptable) e1;
            IAdaptable adapter2 = (IAdaptable) e2;
            IConnectionConfiguration info1 = (IConnectionConfiguration) adapter1
                    .getAdapter(IConnectionConfiguration.class);
            IConnectionConfiguration info2 = (IConnectionConfiguration) adapter2
                    .getAdapter(IConnectionConfiguration.class);
            return info1.getName().compareTo(info2.getName());
        }
    };

    new TreeColumnViewerSorter(viewer, tc1) {

        @Override
        protected int doCompare(Viewer viewer, Object e1, Object e2) {
            IAdaptable adapter1 = (IAdaptable) e1;
            IAdaptable adapter2 = (IAdaptable) e2;
            IConnectionConfiguration info1 = (IConnectionConfiguration) adapter1
                    .getAdapter(IConnectionConfiguration.class);
            IConnectionConfiguration info2 = (IConnectionConfiguration) adapter2
                    .getAdapter(IConnectionConfiguration.class);
            return info1.getHost().compareTo(info2.getHost());
        }
    };
    new TreeColumnViewerSorter(viewer, tc2) {

        @Override
        protected int doCompare(Viewer viewer, Object e1, Object e2) {
            IAdaptable adapter1 = (IAdaptable) e1;
            IAdaptable adapter2 = (IAdaptable) e2;
            IConnectionConfiguration info1 = (IConnectionConfiguration) adapter1
                    .getAdapter(IConnectionConfiguration.class);
            IConnectionConfiguration info2 = (IConnectionConfiguration) adapter2
                    .getAdapter(IConnectionConfiguration.class);
            return new Integer(info1.getPort()).compareTo(new Integer(info2.getPort()));
        }
    };
    viewer.setInput(getViewSite());
    viewer.getTree().addMouseListener(this);

    this.getSite().setSelectionProvider(viewer);
    viewer.addSelectionChangedListener(this);

    // add a popup menu
    createContextMenu(viewer);
    jMXConnectionManager.addObserver(this);
}