⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultconfigurationpage.java

📁 EclipseTrader is a stock exchange analysis system, featuring shares pricing watch, intraday and hi
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            public void widgetSelected(SelectionEvent e)            {                AddIndicatorWizard wizard = new AddIndicatorWizard();                ChartIndicator indicator = wizard.open();                if (indicator != null)                {                    TreeItem[] selection = tree.getSelection();                    if (selection.length != 0)                    {                        if (selection[0].getData() instanceof ChartTab)                            ((ChartTab)selection[0].getData()).getIndicators().add(indicator);                        else if (selection[0].getData() instanceof ChartIndicator)                            ((ChartIndicator)selection[0].getData()).getParent().getIndicators().add(indicator);                        updateTree();                    }                }            }        });                settings = new Button(buttonsComposite, SWT.PUSH);        settings.setText(Messages.DefaultConfigurationPage_Settings);        GridData gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false);        gridData.verticalIndent = 5;        settings.setLayoutData(gridData);        settings.addSelectionListener(new SelectionAdapter() {            public void widgetSelected(SelectionEvent e)            {                TreeItem[] selection = tree.getSelection();                if (selection.length != 0)                {                    if (selection[0].getData() instanceof ChartTab)                    {                        ChartTab tab = (ChartTab)selection[0].getData();                        InputDialog dlg = new InputDialog(tree.getShell(), Messages.DefaultConfigurationPage_TabSettingsDialogTitle, Messages.DefaultConfigurationPage_TabSettingsDialogMessage, tab.getLabel(), new IInputValidator() {                            public String isValid(String newText)                            {                                return newText.length() == 0 ? "" : null; //$NON-NLS-1$                            }                        });                        if (dlg.open() == InputDialog.OK)                        {                            tab.setLabel(dlg.getValue());                            selection[0].setText(tab.getLabel());                        }                    }                    else if (selection[0].getData() instanceof ChartIndicator)                    {                        ChartIndicator indicator = (ChartIndicator)selection[0].getData();                        IndicatorSettingsDialog dlg = new IndicatorSettingsDialog(indicator, tree.getShell());                        dlg.open();                    }                }            }        });                remove = new Button(buttonsComposite, SWT.PUSH);        remove.setText(Messages.DefaultConfigurationPage_Remove);        gridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false);        gridData.verticalIndent = 5;        remove.setLayoutData(gridData);        remove.addSelectionListener(new SelectionAdapter() {            public void widgetSelected(SelectionEvent e)            {                TreeItem[] selection = tree.getSelection();                if (selection.length != 0)                {                    if (selection[0].getData() instanceof ChartRow)                        ((ChartRow)selection[0].getData()).getParent().getRows().remove(selection[0].getData());                    else if (selection[0].getData() instanceof ChartTab)                        ((ChartTab)selection[0].getData()).getParent().getTabs().remove(selection[0].getData());                    else if (selection[0].getData() instanceof ChartIndicator)                        ((ChartIndicator)selection[0].getData()).getParent().getIndicators().remove(selection[0].getData());                    selection[0].dispose();                    updateTree();                }            }        });                performDefaults();        return content;    }    /* (non-Javadoc)     * @see org.eclipse.jface.preference.PreferencePage#performDefaults()     */    protected void performDefaults()    {        chart = ChartsPlugin.createDefaultChart();        updateTree();    }        /* (non-Javadoc)     * @see org.eclipse.jface.preference.PreferencePage#performOk()     */    public boolean performOk()    {        switch(period.getSelectionIndex())        {            case 0:                chart.setPeriod(ChartView.PERIOD_ALL);                break;            case 1:                chart.setPeriod(ChartView.PERIOD_LAST2YEARS);                break;            case 2:                chart.setPeriod(ChartView.PERIOD_LASTYEAR);                break;            case 3:                chart.setPeriod(ChartView.PERIOD_LAST6MONTHS);                break;            case 4:            {                chart.setPeriod(ChartView.PERIOD_CUSTOM);                try                {                    chart.setBeginDate(CorePlugin.getDateParse().parse(begin.getText()));                    chart.setEndDate(CorePlugin.getDateParse().parse(end.getText()));                }                catch (ParseException e) {                    e.printStackTrace();                }                break;            }        }        chart.setCompression(10 - interval.getSelectionIndex());        ChartsPlugin.saveDefaultChart(chart);                return super.performOk();    }    protected void updateTree()    {        TreeItem[] selection = tree.getSelection();        final Object data = (selection.length != 0) ? selection[0].getData() : null;                tree.setRedraw(false);        tree.removeAll();        chart.accept(new IChartVisitor() {            public void visit(Chart chart)            {            }            public void visit(ChartRow row)            {                TreeItem treeItem = new TreeItem(tree, SWT.NONE);                treeItem.setText(Messages.DefaultConfigurationPage_Row + String.valueOf(tree.getItemCount()));                 treeItem.setData(row);                if (row.equals(data))                    tree.setSelection(treeItem);            }            public void visit(ChartTab tab)            {                TreeItem parentItem = tree.getItem(tree.getItemCount() - 1);                                TreeItem treeItem = new TreeItem(parentItem, SWT.NONE);                treeItem.setText(tab.getLabel());                treeItem.setData(tab);                if (tab.equals(data))                    tree.setSelection(treeItem);                                parentItem.setExpanded(true);            }            public void visit(ChartIndicator indicator)            {                TreeItem parentItem = tree.getItem(tree.getItemCount() - 1);                parentItem = parentItem.getItem(parentItem.getItemCount() - 1);                 IConfigurationElement plugin = getIndicatorPlugin(indicator.getPluginId());                                TreeItem treeItem = new TreeItem(parentItem, SWT.NONE);                treeItem.setText(plugin.getAttribute("name")); //$NON-NLS-1$                treeItem.setData(indicator);                if (indicator.equals(data))                    tree.setSelection(treeItem);                                parentItem.setExpanded(true);            }            public void visit(ChartObject object)            {            }        });        /*        for (int r = 0; r < chart.getRows().size(); r++)        {            ChartRow row = (ChartRow)chart.getRows().get(r);            TreeItem rowNode = new TreeItem(tree, SWT.NONE);            rowNode.setText("ROW " + String.valueOf(r + 1));            rowNode.setData(row);            for (int t = 0; t < row.getTabs().size(); t++)            {                ChartTab tab = (ChartTab)row.getTabs().get(t);                TreeItem tabNode = new TreeItem(rowNode, SWT.NONE);                tabNode.setText(tab.getLabel());                tabNode.setData(tab);                rowNode.setExpanded(true);                            for (int i = 0; i < tab.getIndicators().size(); i++)                {                    ChartIndicator indicator = (ChartIndicator)tab.getIndicators().get(i);                    IConfigurationElement plugin = getIndicatorPlugin(indicator.getPluginId());                                        TreeItem indicatorNode = new TreeItem(tabNode, SWT.NONE);                    indicatorNode.setText(plugin.getAttribute("name"));                    indicatorNode.setData(indicator);                    tabNode.setExpanded(true);                }            }        }*/                tree.setRedraw(true);        updateButtonsEnablement();    }        protected void updateButtonsEnablement()    {        TreeItem[] selection = tree.getSelection();        addTab.setEnabled(selection.length != 0);        addIndicator.setEnabled(selection.length != 0 && (selection[0].getData() instanceof ChartTab || selection[0].getData() instanceof ChartIndicator));        settings.setEnabled(selection.length != 0 && (selection[0].getData() instanceof ChartTab || selection[0].getData() instanceof ChartIndicator));        remove.setEnabled(selection.length != 0);    }    private static IConfigurationElement getIndicatorPlugin(String id)    {        IExtensionRegistry registry = Platform.getExtensionRegistry();        IExtensionPoint extensionPoint = registry.getExtensionPoint(ChartsPlugin.INDICATORS_EXTENSION_POINT);        if (extensionPoint != null)        {            IConfigurationElement[] members = extensionPoint.getConfigurationElements();            for (int i = 0; i < members.length; i++)            {                IConfigurationElement item = members[i];                if (item.getAttribute("id").equals(id)) //$NON-NLS-1$                    return item;            }        }                return null;    }    protected void adjustDateFormat(Text widget)    {        DateFormat dateDisplay = CorePlugin.getDateFormat();        DateFormat dateParse = CorePlugin.getDateParse();        if (widget.getText().length() != 0)            try            {                Date d = dateParse.parse(widget.getText());                widget.setText(dateDisplay.format(d));            }            catch (ParseException pe) {                CorePlugin.logException(pe);            }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -