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

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

Introduction

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

Prototype

public DecoratingLabelProvider(ILabelProvider provider, ILabelDecorator decorator) 

Source Link

Document

Creates a decorating label provider which uses the given label decorator to decorate labels provided by the given label provider.

Usage

From source file:com.quantcomponents.ui.algo.TradingManagersView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    this.parent = parent;
    tradingAgentTree = new TreeViewer(parent);

    tradingAgentTree.setContentProvider(new BaseWorkbenchContentProvider() {
        @SuppressWarnings("unchecked")
        @Override/*  w  w w .j a  va2  s .  com*/
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            super.inputChanged(viewer, oldInput, newInput);
            if (oldInput != null) {
                ((IMonitorableContainer<IStockDatabaseTradingManager>) oldInput)
                        .removeListener(tradingAgentManagerContainerListener);
            }
            if (newInput != null) {
                IMonitorableContainer<IStockDatabaseTradingManager> container = (IMonitorableContainer<IStockDatabaseTradingManager>) newInput;
                container.addListener(tradingAgentManagerContainerListener);
                for (IStockDatabaseTradingManager manager : container.getElements()) {
                    tradingAgentManagerContainerListener.onElementAdded(manager);
                }
            }
        }
    });

    ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    tradingAgentTree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(), decorator));

    tradingAgentManagerContainer = TradingAgentPlugin.getDefault().getTradingAgentManagerContainer();
    adapterFactory = new TradingManagersViewAdapterFactory(tradingAgentManagerContainer);
    Platform.getAdapterManager().registerAdapters(adapterFactory, IStockDatabaseTradingManagerContainer.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, IStockDatabaseTradingManager.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, TradingAgentFactoryWrapper.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, TradingAgentConfigurationWrapper.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, TradingAgentBindingWrapper.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, TradingAgentExecutionWrapper.class);

    tradingAgentTree.setInput(tradingAgentManagerContainer);

    tradingAgentTree.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                currentlySelectedObject = structuredSelection.getFirstElement();
                if (currentlySelectedObject instanceof IStockDatabaseTradingManager) {
                    selectedTradingAgentManager = (IStockDatabaseTradingManager) currentlySelectedObject;
                    delete.setEnabled(false);
                } else if (currentlySelectedObject instanceof TradingAgentFactoryWrapper) {
                    TradingAgentFactoryWrapper wrapper = (TradingAgentFactoryWrapper) currentlySelectedObject;
                    selectedTradingAgentFactory = wrapper.getHandle();
                    selectedTradingAgentManager = wrapper.getManager();
                    delete.setEnabled(false);
                } else if (currentlySelectedObject instanceof TradingAgentConfigurationWrapper) {
                    TradingAgentConfigurationWrapper wrapper = (TradingAgentConfigurationWrapper) currentlySelectedObject;
                    selectedTradingAgentConfiguration = wrapper.getHandle();
                    selectedTradingAgentFactory = wrapper.getManager().getParent(wrapper.getHandle());
                    selectedTradingAgentManager = wrapper.getManager();
                    delete.setEnabled(true);
                } else if (currentlySelectedObject instanceof TradingAgentBindingWrapper) {
                    TradingAgentBindingWrapper wrapper = (TradingAgentBindingWrapper) currentlySelectedObject;
                    selectedTradingAgentBinding = wrapper.getHandle();
                    selectedTradingAgentConfiguration = wrapper.getManager().getParent(wrapper.getHandle());
                    selectedTradingAgentFactory = wrapper.getManager()
                            .getParent(selectedTradingAgentConfiguration);
                    selectedTradingAgentManager = wrapper.getManager();
                    delete.setEnabled(true);
                    executeLiveTradingAgentBinding.setEnabled(
                            selectedTradingAgentManager.isExecutionTypeAvailable(ExecutionType.LIVE));
                    executeSimulatedTradingAgentBinding.setEnabled(
                            selectedTradingAgentManager.isExecutionTypeAvailable(ExecutionType.BACKTEST));
                } else if (currentlySelectedObject instanceof TradingAgentExecutionWrapper) {
                    TradingAgentExecutionWrapper wrapper = (TradingAgentExecutionWrapper) currentlySelectedObject;
                    selectedTradingAgentExecution = wrapper.getHandle();
                    selectedTradingAgentBinding = wrapper.getManager().getParent(wrapper.getHandle());
                    selectedTradingAgentConfiguration = wrapper.getManager()
                            .getParent(selectedTradingAgentBinding);
                    selectedTradingAgentFactory = wrapper.getManager()
                            .getParent(selectedTradingAgentConfiguration);
                    selectedTradingAgentManager = wrapper.getManager();
                    if (selectedTradingAgentManager
                            .getRunningStatus(selectedTradingAgentExecution) == RunningStatus.PAUSED) {
                        pauseExecution.setEnabled(false);
                        resumeExecution.setEnabled(true);
                        killExecution.setEnabled(true);
                    } else if (selectedTradingAgentManager
                            .getRunningStatus(selectedTradingAgentExecution) == RunningStatus.RUNNING) {
                        pauseExecution.setEnabled(true);
                        resumeExecution.setEnabled(false);
                        killExecution.setEnabled(true);
                    } else {
                        pauseExecution.setEnabled(false);
                        resumeExecution.setEnabled(false);
                        killExecution.setEnabled(false);
                    }
                    delete.setEnabled(true);
                }
            }
        }
    });

    getSite().setSelectionProvider(tradingAgentTree);
    hookGlobalActions();
    createContextMenu();
}

From source file:com.quantcomponents.ui.marketdata.MarketDataManagersView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    this.parent = parent;
    dataManagerTree = new TreeViewer(parent);

    dataManagerTree.setContentProvider(new BaseWorkbenchContentProvider() {
        @SuppressWarnings("unchecked")
        @Override/* ww  w  .j  a  va 2  s  . co m*/
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            super.inputChanged(viewer, oldInput, newInput);
            if (oldInput != null) {
                ((IMonitorableContainer<MarketDataManagerPresentationWrapper>) oldInput)
                        .removeListener(marketDataManagerContainerListener);
            }
            if (newInput != null) {
                IMonitorableContainer<MarketDataManagerPresentationWrapper> container = (IMonitorableContainer<MarketDataManagerPresentationWrapper>) newInput;
                container.addListener(marketDataManagerContainerListener);
                for (MarketDataManagerPresentationWrapper manager : container.getElements()) {
                    marketDataManagerContainerListener.onElementAdded(manager);
                }
            }
        }
    });

    ILabelDecorator decorator = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    dataManagerTree.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(), decorator));

    Platform.getAdapterManager().registerAdapters(adapterFactory, IMarketDataManagerContainer.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, MarketDataManagerPresentationWrapper.class);
    Platform.getAdapterManager().registerAdapters(adapterFactory, StockDatabasePresentationWrapper.class);

    dataManagerTree.setInput(marketDataManagerContainer);

    dataManagerTree.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            multipleStockDatabaseSelection.clear();
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                Object o = structuredSelection.getFirstElement();
                if (o instanceof MarketDataManagerPresentationWrapper) {
                    selectedMarketDataManager = (MarketDataManagerPresentationWrapper) o;
                    openViewAction.setEnabled(false);
                    addStockDatabaseAction.setEnabled(true);
                    removeStockDatabaseAction.setEnabled(false);
                    if (selectedMarketDataManager instanceof RealTimeMarketDataManagerPresentationWrapper) {
                        startAutoUpdateAction.setEnabled(false);
                        stopAutoUpdateAction.setEnabled(false);
                    }
                } else if (o instanceof StockDatabasePresentationWrapper) {
                    openViewAction.setEnabled(true);
                    addStockDatabaseAction.setEnabled(true);
                    removeStockDatabaseAction.setEnabled(true);
                    if (selectedMarketDataManager instanceof RealTimeMarketDataManagerPresentationWrapper) {
                        startAutoUpdateAction.setEnabled(true);
                        stopAutoUpdateAction.setEnabled(true);
                    }
                    if (structuredSelection.size() > 0) {
                        Iterator<?> iterator = structuredSelection.iterator();
                        while (iterator.hasNext()) {
                            Object sel = iterator.next();
                            if (sel instanceof StockDatabasePresentationWrapper) {
                                StockDatabasePresentationWrapper stockDatabaseWrapper = (StockDatabasePresentationWrapper) sel;
                                selectedMarketDataManager = stockDatabaseWrapper.getParent();
                                multipleStockDatabaseSelection.add(stockDatabaseWrapper);
                            }
                        }
                    }
                } else {
                    openViewAction.setEnabled(false);
                    addStockDatabaseAction.setEnabled(false);
                    removeStockDatabaseAction.setEnabled(false);
                    startAutoUpdateAction.setEnabled(false);
                    stopAutoUpdateAction.setEnabled(false);
                }
            }
        }
    });
    dataManagerTree.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            ISelection selection = event.getSelection();
            if (selection instanceof IStructuredSelection) {
                IStructuredSelection structuredSelection = (IStructuredSelection) selection;
                Object o = structuredSelection.getFirstElement();
                if (o instanceof StockDatabasePresentationWrapper) {
                    StockDatabasePresentationWrapper selectedStockDatabase = (StockDatabasePresentationWrapper) o;
                    try {
                        getSite().getPage().showView(StockDatabaseChartView.MULTI_STOCK_DB_VIEW_ID,
                                selectedStockDatabase.getPrettyName(), IWorkbenchPage.VIEW_VISIBLE);
                    } catch (PartInitException e) {
                        MessageDialog.openError(MarketDataManagersView.this.parent.getShell(), "Error",
                                "A problem occurred while opening view for: "
                                        + selectedStockDatabase.getPrettyName() + "["
                                        + LangUtils.exceptionMessage(e) + "]");
                    }
                }
            }
        }
    });

    getSite().setSelectionProvider(dataManagerTree);
    hookGlobalActions();
    createContextMenu();
}

From source file:com.symbian.driver.presentation.DriverEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->//from   ww  w . jav a  2s . com
 * <!-- end-user-doc -->
 * @generated NOT
 */
//   @Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()
            && !(getEditingDomain().getResourceSet().getResources().get(0)).getContents().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), DriverEditor.this) {
                //                  @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }

                @Override
                protected void createTitleBar() {
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            DecoratingLabelProvider decoratingLabelProvider = new DecoratingLabelProvider(
                    new AdapterFactoryLabelProvider(adapterFactory), new ILabelDecorator() {

                        private ImageDescriptor err = UIPlugin.imageDescriptorFromPlugin(DriverEditorPlugin.ID,
                                "icons/full/obj16/error_co.gif");

                        private Map<Class<?>, Image> imageMap = new HashMap<Class<?>, Image>();

                        public Image decorateImage(Image image, Object obj) {

                            boolean has = hasErrors(obj);
                            if (!has)
                                return image;

                            if (imageMap.containsKey(obj.getClass())) {
                                return imageMap.get(obj.getClass());
                            }

                            ImageData imageData = image == null ? null : image.getImageData();
                            int width = imageData == null ? 16 : imageData.width;
                            int height = imageData == null ? 16 : imageData.height;

                            ImageData errData = err.getImageData();
                            int errHeight = errData.height;

                            Image copyImage = new Image(image.getDevice(), width, height);

                            GC gc = new GC(copyImage);
                            if (image != null)
                                gc.drawImage(image, 0, 0);
                            if (err != null)
                                gc.drawImage(err.createImage(image.getDevice()), 0, height - errHeight);
                            gc.dispose();

                            imageMap.put(obj.getClass(), copyImage);

                            return copyImage;
                        }

                        public String decorateText(String s, Object obj) {
                            return null;
                        }

                        public void addListener(ILabelProviderListener ilabelproviderlistener) {
                        }

                        public void dispose() {
                            for (Iterator<Map.Entry<Class<?>, Image>> it = imageMap.entrySet().iterator(); it
                                    .hasNext();) {
                                Map.Entry<Class<?>, Image> entry = it.next();
                                Image img = entry.getValue();
                                if (img != null && !img.isDisposed()) {
                                    img.dispose();
                                    it.remove();
                                }
                            }
                        }

                        public boolean isLabelProperty(Object obj, String s) {
                            return false;
                        }

                        public void removeListener(ILabelProviderListener ilabelproviderlistener) {
                        }
                    });
            selectionViewer.setLabelProvider(decoratingLabelProvider);

            //            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0).getContents().get(0));
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.symbian.ini.presentation.IniEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->//from w  ww  .j  a v a  2 s.co  m
 * <!-- end-user-doc -->
 * @generated NOT
 */
//   @Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()
            && !(getEditingDomain().getResourceSet().getResources().get(0)).getContents().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), IniEditor.this) {
                //                  @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }

                @Override
                protected void createTitleBar() {
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            DecoratingLabelProvider decoratingLabelProvider = new DecoratingLabelProvider(
                    new AdapterFactoryLabelProvider(adapterFactory), new ILabelDecorator() {

                        private ImageDescriptor err = UIPlugin.imageDescriptorFromPlugin(
                                "com.symbian.ini.editor", "icons/full/obj16/error_co.gif");

                        public Image decorateImage(Image image, Object obj) {

                            boolean has = hasErrors(obj);
                            if (!has)
                                return null;

                            ImageData imageData = image == null ? null : image.getImageData();
                            int width = imageData == null ? 16 : imageData.width;
                            int height = imageData == null ? 16 : imageData.height;

                            ImageData errData = err.getImageData();
                            int errHeight = errData.height;

                            Image copyImage = new Image(image.getDevice(), width, height);

                            GC gc = new GC(copyImage);
                            if (image != null)
                                gc.drawImage(image, 0, 0);
                            if (err != null)
                                gc.drawImage(err.createImage(image.getDevice()), 0, height - errHeight);
                            gc.dispose();

                            return copyImage;
                        }

                        public String decorateText(String s, Object obj) {
                            return null;
                        }

                        public void addListener(ILabelProviderListener ilabelproviderlistener) {
                        }

                        public void dispose() {
                        }

                        public boolean isLabelProperty(Object obj, String s) {
                            return false;
                        }

                        public void removeListener(ILabelProviderListener ilabelproviderlistener) {
                        }
                    });

            //            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setLabelProvider(decoratingLabelProvider);
            selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));
        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.symbian.tef.script.presentation.ScriptEditor.java

License:Open Source License

/**
 * This is the method used by the framework to install your own controls.
 * <!-- begin-user-doc -->/*from w  w w. j  av a  2s.  c om*/
 * <!-- end-user-doc -->
 * @generated NOT
 */
@Override
public void createPages() {
    // Creates the model from the editor input
    //
    createModel();
    updateProblemIndication();

    // Only creates the other pages if there is something that can be edited
    //
    if (!getEditingDomain().getResourceSet().getResources().isEmpty()
            && !(getEditingDomain().getResourceSet().getResources().get(0)).getContents().isEmpty()) {
        // Create a page for the selection tree view.
        //
        {
            ViewerPane viewerPane = new ViewerPane(getSite().getPage(), ScriptEditor.this) {
                @Override
                public Viewer createViewer(Composite composite) {
                    Tree tree = new Tree(composite, SWT.MULTI);
                    TreeViewer newTreeViewer = new TreeViewer(tree);
                    return newTreeViewer;
                }

                @Override
                public void requestActivation() {
                    super.requestActivation();
                    setCurrentViewerPane(this);
                }

                @Override
                protected void createTitleBar() {
                }
            };
            viewerPane.createControl(getContainer());

            selectionViewer = (TreeViewer) viewerPane.getViewer();
            selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

            DecoratingLabelProvider decoratingLabelProvider = new DecoratingLabelProvider(
                    new AdapterFactoryLabelProvider(adapterFactory), new ILabelDecorator() {

                        private ImageDescriptor err = UIPlugin.imageDescriptorFromPlugin(
                                "com.symbian.tef.script.editor", "icons/full/obj16/error_co.gif");

                        public Image decorateImage(Image image, Object obj) {

                            boolean has = hasErrors(obj);
                            if (!has)
                                return null;

                            ImageData imageData = image == null ? null : image.getImageData();
                            int width = imageData == null ? 16 : imageData.width;
                            int height = imageData == null ? 16 : imageData.height;

                            ImageData errData = err.getImageData();
                            int errHeight = errData.height;

                            Image copyImage = new Image(image.getDevice(), width, height);

                            GC gc = new GC(copyImage);
                            if (image != null)
                                gc.drawImage(image, 0, 0);
                            if (err != null)
                                gc.drawImage(err.createImage(image.getDevice()), 0, height - errHeight);
                            gc.dispose();

                            return copyImage;
                        }

                        public String decorateText(String s, Object obj) {
                            return null;
                        }

                        public void addListener(ILabelProviderListener ilabelproviderlistener) {
                        }

                        public void dispose() {
                        }

                        public boolean isLabelProperty(Object obj, String s) {
                            return false;
                        }

                        public void removeListener(ILabelProviderListener ilabelproviderlistener) {
                        }
                    });

            //            selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
            selectionViewer.setLabelProvider(decoratingLabelProvider);

            selectionViewer.setInput(editingDomain.getResourceSet().getResources().get(0));
            selectionViewer.setSelection(
                    new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true);

            new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory);

            createContextMenuFor(selectionViewer);
            int pageIndex = addPage(viewerPane.getControl());
            setPageText(pageIndex, getString("_UI_SelectionPage_label"));

        }

        getSite().getShell().getDisplay().asyncExec(new Runnable() {
            public void run() {
                setActivePage(0);
            }
        });
    }

    // Ensures that this editor will only display the page's tab
    // area if there are more than one page
    //
    getContainer().addControlListener(new ControlAdapter() {
        boolean guard = false;

        @Override
        public void controlResized(ControlEvent event) {
            if (!guard) {
                guard = true;
                hideTabs();
                guard = false;
            }
        }
    });

    getSite().getShell().getDisplay().asyncExec(new Runnable() {
        public void run() {
            updateProblemIndication();
        }
    });
}

From source file:com.sympedia.genfw.ui.internal.views.GenAppsView.java

License:Open Source License

@Override
protected void initLabelProvider(TreeViewer viewer) {
    viewer.setLabelProvider(new DecoratingLabelProvider(new WorkbenchLabelProvider(),
            getPlugin().getWorkbench().getDecoratorManager().getLabelDecorator()) {
        protected Color gray;

        @Override//ww  w .j a v  a  2s  .  c om
        public void dispose() {
            if (gray != null)
                gray.dispose();
            super.dispose();
        }

        @Override
        public Color getForeground(Object element) {
            if (element instanceof IFile && "genlib".equals(((IFile) element).getFileExtension())) {
                if (gray == null)
                    gray = new Color(Display.getCurrent(), 128, 128, 128);
                return gray;
            }

            return super.getForeground(element);
        }

        @Override
        public String getText(Object element) {
            String name = super.getText(element);
            if (element instanceof IFile) {
                name = StringHelper.removeSuffix(name, ".genapp");
                name = StringHelper.removeSuffix(name, ".genlib");
            }

            return name;
        }
    });
}

From source file:com.twinsoft.convertigo.eclipse.property_editors.XmlQNameEditorComposite.java

License:Open Source License

public XmlQNameEditorComposite(final Composite parent, int style, AbstractDialogCellEditor cellEditor) {
    super(parent, style, cellEditor);

    try {/*w  w w .j  a  v  a2  s .c om*/
        String propertyName = "" + cellEditor.propertyDescriptor.getId();
        DatabaseObject dbo = cellEditor.databaseObjectTreeObject.getObject();
        Project project = dbo.getProject();
        collection = Engine.theApp.schemaManager.getSchemasForProject(project.getName());
        currentNamespace = project.getTargetNamespace();
        if ("xmlTypeAffectation".equals(propertyName)) {
            // useComplexType = true; // TODO: add complex type support for input variables 
            useSimpleType = true;
        } else {
            useComplexType = "xmlComplexTypeAffectation".equals(propertyName);
            useSimpleType = "xmlSimpleTypeAffectation".equals(propertyName);
        }
        useType = useComplexType || useSimpleType;
        useRef = "xmlElementRefAffectation".equals(propertyName);
    } catch (Exception e) {
        e.printStackTrace();
    }

    this.setLayoutData(new GridData(GridData.FILL_BOTH));
    this.setLayout(new GridLayout(1, false));

    new Label(this, style).setText("Existing objects");

    final TreeViewer treeViewer = new TreeViewer(this);
    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    treeViewer.setContentProvider(new SchemaViewContentProvider() {

        @Override
        protected void filter(XmlSchemaObject xso, List<XmlSchemaObject> children, XmlSchemaObject subObject) {
            if (xso instanceof XmlSchema) {
                if ((useSimpleType && subObject instanceof XmlSchemaSimpleType)
                        || useComplexType && subObject instanceof XmlSchemaComplexType
                        || useRef && subObject instanceof XmlSchemaElement) {
                    super.filter(xso, children, subObject);
                }
            } else {
                super.filter(xso, children, subObject);
            }
        }

        @Override
        public Object[] getChildren(Object object) {
            Object[] children = super.getChildren(object);
            for (Object child : children) {
                if (child instanceof NamedList) {
                    if (useType && "Types".equals(((NamedList) child).getName())) {
                        return new Object[] { child };
                    } else if (useRef && "Elements".equals(((NamedList) child).getName())) {
                        return new Object[] { child };
                    }
                } else {
                    return children;
                }
            }
            return children;
        }

    });

    treeViewer.setComparer(new IElementComparer() {

        public int hashCode(Object element) {
            return element.hashCode();
        }

        public boolean equals(Object a, Object b) {
            return a == b;
        }

    });

    DecoratingLabelProvider dlp = new DecoratingLabelProvider(new SchemaViewLabelProvider(),
            new SchemaViewLabelDecorator());
    treeViewer.setLabelProvider(dlp);
    treeViewer.setInput(collection);
    treeViewer.expandToLevel(3);

    new Label(this, SWT.NONE).setText("Namespace");

    tNamespace = new Text(this, SWT.NONE);
    tNamespace.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    tNamespace.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    tNamespace.setEditable(false);

    new Label(this, SWT.NONE).setText("Local name");

    tLocalName = new Text(this, SWT.NONE);
    tLocalName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    final Button bNone = new Button(this, SWT.NONE);
    bNone.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    bNone.setText("No " + (useComplexType ? "type" : (useRef ? "element" : "object")));

    new Label(this, SWT.NONE).setText("Summary");

    lSummary = new Label(this, SWT.WRAP);
    lSummary.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    lSummary.setText("No change.");
    lSummary.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND));

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            TreePath[] path = ((ITreeSelection) event.getSelection()).getPaths();

            XmlSchemaObject object = null;
            QName qName = null;
            if (path.length > 0 && path[0].getSegmentCount() > 2
                    && path[0].getSegment(2) instanceof XmlSchemaType) {
                object = (XmlSchemaType) path[0].getSegment(2);
                qName = ((XmlSchemaType) object).getQName();
            }
            if (path.length > 0 && path[0].getSegmentCount() > 2
                    && path[0].getSegment(2) instanceof XmlSchemaElement) {
                object = (XmlSchemaElement) path[0].getSegment(2);
                qName = ((XmlSchemaElement) object).getQName();
            }

            if (object != null) {
                String obText = (useType ? "type" : (useRef ? "element" : "object"));
                tLocalName.setText(qName.getLocalPart());
                tNamespace.setText(qName.getNamespaceURI());
                updateLabel(obText, qName, object);
                XmlQNameEditorComposite.this.layout(true);
            }
        }
    });

    bNone.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            tNamespace.setText("");
            tLocalName.setText("");
            lSummary.setText("No " + (useType ? "type" : (useRef ? "element" : "object")) + " set.");
            lSummary.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND));
        }
    });

    tLocalName.addVerifyListener(new VerifyListener() {
        public void verifyText(VerifyEvent e) {
            if (e.text.contains(" ")) {
                e.doit = false;
            }
        }
    });

    tLocalName.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            String txt = tLocalName.getText();
            if (txt.length() == 0) {
                //bNone.notifyListeners(SWT.Selection, null); // commented to prevent stack over flow
            } else {
                tNamespace.setText(currentNamespace);
                QName qName = new QName(currentNamespace, txt);
                XmlSchemaType type = collection.getTypeByQName(qName);
                XmlSchemaElement element = collection.getElementByQName(qName);

                XmlSchemaObject object = type == null ? element : type;
                String obText = (useType ? "type" : (useRef ? "element" : "object"));
                if (object == null) {
                    lSummary.setText("Create the dynamic " + obText + " : \n" + qName.toString());
                    lSummary.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_MAGENTA));
                    XmlQNameEditorComposite.this.layout(true);
                } else {
                    updateLabel(obText, qName, object);
                }
            }
        }
    });

    if (useSimpleType) {
        tLocalName.setEnabled(false);
        bNone.setEnabled(false);
    }

    XmlQName schemaDefinition = (XmlQName) cellEditor.getValue();

    if (schemaDefinition != null) {
        QName qName = schemaDefinition.getQName();

        if (useType) {
            XmlSchemaType type = collection.getTypeByQName(qName);
            if (type != null) {
                treeViewer.setSelection(new StructuredSelection(type), true);
            }
        }

        if (useRef) {
            XmlSchemaElement element = collection.getElementByQName(qName);
            if (element != null) {
                treeViewer.setSelection(new StructuredSelection(element), true);
            }
        }
    }
}

From source file:de.defmacro.dandelion.internal.ui.editor.LispContentOutlinePage.java

License:Open Source License

/**
 * @see ContentOutlinePage#createControl(Composite)
 *///  ww  w .  ja va  2s.  c  o m
@Override
public void createControl(final Composite parent) {
    super.createControl(parent);

    IPreferenceStore store = LispPluginActivator.getDefault().getPreferenceStore();

    Set<TSExpression> showOnToplevel = getTypSet(LispPreferences.OUTLINE_SHOW_TYPES_ON_TOPLEVEL);
    Set<TSExpression> showOnSublevel = getTypSet(LispPreferences.OUTLINE_SHOW_TYPES_ON_SUBLEVEL);
    boolean hideSublevel = store.getBoolean(LispPreferences.OUTLINE_HIDE_SUBLEVEL_FORMS);

    fOutlineFilter = new LispOutlineFilter(showOnToplevel, showOnSublevel, hideSublevel);
    LispOutlineContentProvider contentProvider = new LispOutlineContentProvider(fOutlineFilter);
    boolean sortByName = store.getBoolean(LispPreferences.OUTLINE_SORT_BY_NAME);
    boolean sortByType = store.getBoolean(LispPreferences.OUTLINE_SORT_BY_TYPE);
    fOutlineSorter = new LispOutlineSorter(sortByName, sortByType);

    getTreeViewer().addFilter(fOutlineFilter);
    getTreeViewer().setContentProvider(contentProvider);
    if (fCurrentModel != null) {
        getTreeViewer().setInput(fCurrentModel);
    }

    fDecorator = new LispOutlineLabelDecorator();
    DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new LispOutlineLabelProvider(),
            fDecorator);
    getTreeViewer().setLabelProvider(labelProvider);
    getTreeViewer().setSorter(fOutlineSorter);
}

From source file:de.fuberlin.agcsw.heraclitus.backend.ui.views.ConceptTreeExplorerView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {

    ILabelDecorator ld = PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
    DecoratingLabelProvider dlp = new DecoratingLabelProvider(new ConceptTreeLabelProvider(), ld);

    ConceptTree.ontologyTreeViewer = new TreeViewer(parent, SWT.BORDER | SWT.V_SCROLL);
    ConceptTree.ontologyTreeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    ConceptTree.ontologyTreeViewer.setContentProvider(new ConceptTreeContentProvider());
    ConceptTree.ontologyTreeViewer.setLabelProvider(dlp);

    ConceptTree.ontologyTreeViewer.setInput(ConceptTree.ontologyTreeData);
    ConceptTree.ontologyTreeViewer.refresh(true);

}

From source file:de.quamoco.adaptation.wizard.util.elementsselection.SelectElementsComposite.java

License:Apache License

protected IBaseLabelProvider getQualityModelLabelProvider() {
    AdapterFactoryLabelProvider undecoratedLabelProvider = new AdapterFactoryLabelProvider(
            new QmItemProviderAdapterFactory());
    PreselectionDecorator preselectionDecorator = new PreselectionDecorator();
    return new DecoratingLabelProvider(undecoratedLabelProvider, preselectionDecorator);
}