Example usage for org.eclipse.jface.preference PreferenceManager PRE_ORDER

List of usage examples for org.eclipse.jface.preference PreferenceManager PRE_ORDER

Introduction

In this page you can find the example usage for org.eclipse.jface.preference PreferenceManager PRE_ORDER.

Prototype

int PRE_ORDER

To view the source code for org.eclipse.jface.preference PreferenceManager PRE_ORDER.

Click Source Link

Document

Pre-order traversal means visit the root first, then the children.

Usage

From source file:org.eclipsetrader.ui.internal.ats.monitor.TradingSystemPropertiesHandler.java

License:Open Source License

protected void openPropertiesDialog(Shell shell, final IAdaptable adaptableElement) {
    PropertyPageManager pageManager = new PropertyPageManager();
    pageManager.addToRoot(new PriorityPreferenceNode(UIActivator.PLUGIN_ID + ".propertypages.general", //$NON-NLS-1$
            generalProperties = new GeneralProperties(), -1));
    PropertyPageContributorManager.getManager().contribute(pageManager, adaptableElement);

    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        if (node.getPage() instanceof PropertyPage) {
            ((PropertyPage) node.getPage()).setElement(adaptableElement);
        }/*from   w ww . j a  v  a  2 s.  c  om*/
    }

    FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            TradingSystem element = (TradingSystem) adaptableElement.getAdapter(TradingSystem.class);
            newShell.setText(
                    Messages.TradingSystemPropertiesHandler_PropertiesFor + element.getStrategy().toString());
        }
    };
    dlg.setHelpAvailable(false);
    if (dlg.open() == Window.OK) {
        // TODO
    }
}

From source file:org.eclipsetrader.ui.internal.ats.wizards.StrategyPropertiesHandler.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
protected void openPropertiesDialog(Shell shell, final IAdaptable adaptableElement) {
    PropertyPageManager pageManager = new PropertyPageManager();
    pageManager.addToRoot(new PriorityPreferenceNode(UIActivator.PLUGIN_ID + ".propertypages.general", //$NON-NLS-1$
            generalProperties = new GeneralProperties(), -1));
    pageManager.addToRoot(new PriorityPreferenceNode(UIActivator.PLUGIN_ID + ".propertypages.instruments", //$NON-NLS-1$
            new InstrumentsProperties(), 0));
    pageManager.addToRoot(/*from w  w  w.  j  a  v  a  2s.com*/
            new PriorityPreferenceNode(UIActivator.PLUGIN_ID + ".propertypages.bars", new BarsProperties(), 0)); //$NON-NLS-1$
    PropertyPageContributorManager.getManager().contribute(pageManager, adaptableElement);

    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        if (node.getPage() instanceof PropertyPage) {
            ((PropertyPage) node.getPage()).setElement(adaptableElement);
        }
    }

    FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            ScriptStrategy element = (ScriptStrategy) adaptableElement.getAdapter(ScriptStrategy.class);
            newShell.setText(Messages.StrategyPropertiesHandler_PropertiesFor + element.getName());
        }
    };
    dlg.setHelpAvailable(false);
    if (dlg.open() == Window.OK) {
        SaveAdaptableHelper.save(adaptableElement, generalProperties.getRepository());
    }
}

From source file:org.eclipsetrader.ui.internal.charts.views.ChartViewDropTarget.java

License:Open Source License

@Override
public void drop(DropTargetEvent event) {
    ChartRowViewItem rowItem = null;//from  w w  w .j a v a  2 s. c  o  m

    ChartCanvas[] chartCanvas = viewer.getChildren();
    for (int i = 0; i < chartCanvas.length; i++) {
        Rectangle bounds = chartCanvas[i].getCanvas().getBounds();
        if (bounds.contains(chartCanvas[i].getCanvas().toControl(event.x, event.y))) {
            rowItem = (ChartRowViewItem) view.getItems()[i];
            break;
        }
    }

    String[] factories = (String[]) event.data;
    for (int i = 0; i < factories.length; i++) {
        final IChartObjectFactory factory = UIActivator.getDefault().getChartObjectFactory(factories[i]);
        if (factory != null) {
            final IChartObject chartObject = factory.createObject(null);
            if (chartObject instanceof IEditableChartObject) {
                viewer.getEditor().addListener(new IChartEditorListener() {

                    @Override
                    public void applyEditorValue() {
                        viewer.getEditor().removeListener(this);

                        IChartObject[] currentObject = viewer.getSelectedChartCanvas().getChartObject();
                        int index = viewer.getSelectedChartCanvasIndex();

                        if (index != -1) {
                            IChartObject[] newObject = new IChartObject[currentObject.length + 1];
                            System.arraycopy(currentObject, 0, newObject, 0, currentObject.length);
                            newObject[currentObject.length] = chartObject;

                            viewer.getSelectedChartCanvas().setChartObject(newObject);

                            ((ChartRowViewItem) view.getItems()[index]).addFactory(factory);
                            viewer.setSelection(new StructuredSelection(chartObject));
                        }
                    }

                    @Override
                    public void cancelEditor() {
                        viewer.getEditor().removeListener(this);
                    }
                });
                viewer.activateEditor((IEditableChartObject) chartObject);
            } else {
                boolean addToNewRow = false;
                IConfigurationElement configurationElement = UIActivator.getDefault()
                        .getChartObjectConfiguration(factories[i]);
                if (!"false".equals(configurationElement.getAttribute("exclusive"))) {
                    addToNewRow = true;
                }

                PropertyPageManager pageManager = new PropertyPageManager();
                if (addToNewRow) {
                    ChartRowViewItem newRowItem = new ChartRowViewItem(view, factory.getName());
                    ChartViewItem viewItem = new ChartViewItem(newRowItem, factory);
                    newRowItem.addChildItem(viewItem);

                    PropertyPageContributorManager.getManager().contribute(pageManager, viewItem);
                    Iterator<?> pages = pageManager.getElements(PreferenceManager.PRE_ORDER).iterator();
                    if (pages.hasNext()) {
                        PropertyDialog dlg = PropertyDialog.createDialogOn(shell, null, viewItem);
                        if (dlg.open() == Window.OK) {
                            view.addRowAfter(rowItem, newRowItem);
                        }
                    }
                } else {
                    ChartViewItem viewItem = new ChartViewItem(rowItem, factory);
                    PropertyPageContributorManager.getManager().contribute(pageManager, viewItem);
                    Iterator<?> pages = pageManager.getElements(PreferenceManager.PRE_ORDER).iterator();
                    if (pages.hasNext()) {
                        PropertyDialog dlg = PropertyDialog.createDialogOn(shell, null, viewItem);
                        if (dlg.open() == Window.OK) {
                            rowItem.addChildItem(viewItem);
                        }
                    }
                }
            }
        }
    }
}

From source file:org.eclipsetrader.ui.internal.handlers.MarketPropertiesHandler.java

License:Open Source License

protected void openPropertiesDialog(Shell shell, final IAdaptable adaptableElement) {
    if (adaptableElement.getAdapter(Market.class) != null) {
        PropertyPageManager pageManager = new PropertyPageManager();
        pageManager.addToRoot(new PriorityPreferenceNode("org.eclipsetrader.ui.propertypages.markets.general", //$NON-NLS-1$
                new GeneralPage(), -1));
        PropertyPageContributorManager.getManager().contribute(pageManager, adaptableElement);

        for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
            IPreferenceNode node = (IPreferenceNode) nodeObj;
            if (node.getPage() instanceof PropertyPage) {
                ((PropertyPage) node.getPage()).setElement(adaptableElement);
            }/*  w  w  w.  ja  v  a 2  s  .co m*/
        }

        FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

            @Override
            protected void configureShell(Shell newShell) {
                super.configureShell(newShell);
                Market market = (Market) adaptableElement.getAdapter(Market.class);
                newShell.setText(Messages.MarketPropertiesHandler_PropertiesFor + market.getName());
            }
        };
        dlg.open();
    }
}

From source file:org.eclipsetrader.ui.internal.handlers.SecurityPropertiesHandler.java

License:Open Source License

protected void openPropertiesDialog(Shell shell, final IAdaptable adaptableElement) {
    PropertyPageManager pageManager = new PropertyPageManager();
    if (adaptableElement.getAdapter(Security.class) != null) {
        if (adaptableElement.getAdapter(CurrencyExchange.class) != null) {
            pageManager.addToRoot(new PriorityPreferenceNode("org.eclipsetrader.ui.propertypages.general", //$NON-NLS-1$
                    currencyGeneralProperties = new CurrencyGeneralProperties(), -1));
        } else {/*from   w  w w .j a v a  2  s  .co m*/
            pageManager.addToRoot(new PriorityPreferenceNode("org.eclipsetrader.ui.propertypages.general", //$NON-NLS-1$
                    generalProperties = new GeneralProperties(), -1));
        }
    }
    PropertyPageContributorManager.getManager().contribute(pageManager, adaptableElement);

    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        if (node.getPage() instanceof PropertyPage) {
            ((PropertyPage) node.getPage()).setElement(adaptableElement);
        }
    }

    FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            Security security = (Security) adaptableElement.getAdapter(Security.class);
            newShell.setText(Messages.SecurityPropertiesHandler_PropertiesFor + security.getName());
        }
    };
    dlg.setHelpAvailable(false);
    if (dlg.open() == Window.OK) {
        BundleContext context = UIActivator.getDefault().getBundle().getBundleContext();
        ServiceReference serviceReference = context.getServiceReference(IRepositoryService.class.getName());
        if (serviceReference != null) {
            final IRepositoryService service = (IRepositoryService) context.getService(serviceReference);
            BusyIndicator.showWhile(Display.getDefault(), new Runnable() {

                @Override
                public void run() {
                    service.runInService(new IRepositoryRunnable() {

                        @Override
                        public IStatus run(IProgressMonitor monitor) throws Exception {
                            IStoreObject storeObject = (IStoreObject) adaptableElement
                                    .getAdapter(IStoreObject.class);
                            IRepository repository = generalProperties != null
                                    ? generalProperties.getRepository()
                                    : currencyGeneralProperties.getRepository();
                            if (repository != storeObject.getStore().getRepository()) {
                                service.moveAdaptable(new IAdaptable[] { adaptableElement }, repository);
                            } else {
                                service.saveAdaptable(new IAdaptable[] { adaptableElement });
                            }
                            return Status.OK_STATUS;
                        }
                    }, null);
                }
            });
        }
    }
}

From source file:org.eclipsetrader.ui.internal.trading.AlertPropertyPage.java

License:Open Source License

@SuppressWarnings("unchecked")
void doSelectionChanged(IStructuredSelection selection) {
    for (int i = 0; i < propertyPages.length; i++) {
        propertyPages[i].dispose();/*from  w w w .  j a v a2  s  . c  o  m*/
    }

    if (selection.isEmpty()) {
        propertyPages = new PropertyPage[0];
        createTabbedPages();
        return;
    }

    final Object element = selection.getFirstElement();

    PropertyPageManager pageManager = new PropertyPageManager();
    PropertyPageContributorManager.getManager().contribute(pageManager, element);

    IAdaptable adaptableElement = new IAdaptable() {

        @Override
        public Object getAdapter(Class adapter) {
            if (adapter.isAssignableFrom(element.getClass())) {
                return element;
            }
            return null;
        }
    };

    List<PropertyPage> list = new ArrayList<PropertyPage>();
    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        node.createPage();
        if (node.getPage() instanceof PropertyPage) {
            PropertyPage page = (PropertyPage) node.getPage();
            page.setElement(adaptableElement);
            list.add(page);
        }
    }
    propertyPages = list.toArray(new PropertyPage[list.size()]);

    createTabbedPages();
}

From source file:org.eclipsetrader.ui.internal.views.SettingsAction.java

License:Open Source License

@Override
@SuppressWarnings("restriction")
public void run() {
    final IAdaptable adaptableElement = getWrappedElement(view);

    PreferenceManager pageManager = new PreferenceManager();
    pageManager.addToRoot(new PriorityPreferenceNode("general", new GeneralProperties(), -1));
    pageManager.addToRoot(new PreferenceNode("columns", new ColumnsProperties()));

    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        if (node.getPage() instanceof PropertyPage) {
            ((PropertyPage) node.getPage()).setElement(adaptableElement);
        }//from  ww w . j  av a2  s  .  co  m
    }

    FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            newShell.setText("Settings for " + view.getPartName());
        }
    };
    dlg.setHelpAvailable(false);
    dlg.open();
}

From source file:org.eclipsetrader.ui.internal.views.TickersSettingsAction.java

License:Open Source License

@Override
@SuppressWarnings("restriction")
public void run() {
    final IAdaptable adaptableElement = getWrappedElement(view);

    PreferenceManager pageManager = new PreferenceManager();
    pageManager.addToRoot(new PreferenceNode("securities", new SecurityProperties()));

    for (Object nodeObj : pageManager.getElements(PreferenceManager.PRE_ORDER)) {
        IPreferenceNode node = (IPreferenceNode) nodeObj;
        if (node.getPage() instanceof PropertyPage) {
            ((PropertyPage) node.getPage()).setElement(adaptableElement);
        }/*w ww  .  j a v  a2  s  .  com*/
    }

    FilteredPreferenceDialog dlg = new FilteredPreferenceDialog(shell, pageManager) {

        @Override
        protected void configureShell(Shell newShell) {
            super.configureShell(newShell);
            newShell.setText("Settings for " + view.getPartName());
        }
    };
    dlg.setHelpAvailable(false);
    dlg.open();
}

From source file:org.mailster.gui.prefs.ConfigurationDialog.java

License:Open Source License

/**
 * The preference dialog implementation of this <code>Dialog</code>
 * framework method sends <code>performOk</code> to all pages of the
 * preference dialog, then calls <code>handleSave</code> on this dialog to
 * save any state, and then calls <code>close</code> to close this dialog.
 *//*from   w ww  .  ja v  a  2  s  .  c o m*/
protected void okPressed() {
    SafeRunnable.run(new SafeRunnable() {
        private boolean errorOccurred;

        /**
         * @see org.eclipse.core.runtime.ISafeRunnable#run()
         */
        public void run() {
            // getButton(IDialogConstants.OK_ID).setEnabled(false);
            errorOccurred = false;
            boolean hasFailedOK = false;
            try {
                PreferenceManager preferenceManager = getPreferenceManager();
                // Notify all the pages and give them a chance to abort
                Iterator<?> nodes = preferenceManager.getElements(PreferenceManager.PRE_ORDER).iterator();
                while (nodes.hasNext()) {
                    IPreferenceNode node = (IPreferenceNode) nodes.next();
                    IPreferencePage page = node.getPage();
                    if (page != null) {
                        if (!page.performOk()) {
                            hasFailedOK = true;
                            return;
                        }
                    }
                }
            } catch (Exception e) {
                handleException(e);
            } finally {
                // Don't bother closing if the OK failed
                if (hasFailedOK) {
                    return;
                }
                if (!errorOccurred) {
                    // Give subclasses the choice to save the state of the
                    // preference pages.
                    handleSave();
                }

                close();
            }
        }

        /**
         * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
         */
        public void handleException(Throwable e) {
            errorOccurred = true;
            Policy.getLog().log(new Status(IStatus.ERROR, Policy.JFACE, 0, e.toString(), e));

            clearLastSelectedNode();
            String message = JFaceResources.getString("SafeRunnable.errorMessage"); //$NON-NLS-1$
            MessageDialog.openError(getShell(), JFaceResources.getString("Error"), message); //$NON-NLS-1$
        }
    });
}

From source file:org.netxms.ui.eclipse.epp.widgets.RuleEditor.java

License:Open Source License

/**
 * Create a new property dialog./*from w  w w  .  j  av  a  2  s  .co m*/
 * 
 * @param shell the parent shell
 * @param propertyPageId the property page id
 * @param element the adaptable element
 * @return the property dialog
 */
@SuppressWarnings("rawtypes")
private static PropertyDialog createDialogOn(Shell shell, final String propertyPageId, Object element,
        String name) {
    PropertyPageManager pageManager = new PropertyPageManager();
    String title = "";//$NON-NLS-1$

    if (element == null) {
        return null;
    }

    // load pages for the selection
    // fill the manager with contributions from the matching contributors
    PropertyPageContributorManager.getManager().contribute(pageManager, element);
    // testing if there are pages in the manager
    Iterator pages = pageManager.getElements(PreferenceManager.PRE_ORDER).iterator();
    if (!pages.hasNext()) {
        MessageDialogHelper.openInformation(shell, WorkbenchMessages.get().PropertyDialog_messageTitle,
                NLS.bind(WorkbenchMessages.get().PropertyDialog_noPropertyMessage, name));
        return null;
    }
    title = NLS.bind(WorkbenchMessages.get().PropertyDialog_propertyMessage, name);
    PropertyDialog propertyDialog = new PropertyDialog(shell, pageManager, new StructuredSelection(element)) {
        @Override
        protected TreeViewer createTreeViewer(Composite parent) {
            TreeViewer viewer = super.createTreeViewer(parent);
            viewer.expandAll();
            viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);
            return viewer;
        }
    };

    if (propertyPageId != null) {
        propertyDialog.setSelectedNode(propertyPageId);
    }
    propertyDialog.create();

    propertyDialog.getShell().setText(title);
    PlatformUI.getWorkbench().getHelpSystem().setHelp(propertyDialog.getShell(),
            IWorkbenchHelpContextIds.PROPERTY_DIALOG);

    return propertyDialog;
}