📄 watchlistitempropertiesdialog.java
字号:
else { reset.setEnabled(false); popup.setEnabled(false); popup.setSelection(false); hilight.setEnabled(false); hilight.setSelection(false); } delete.setEnabled(table.getSelectionIndex() != -1); group.layout(); } }); table.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (table.getItem(new Point(e.x, e.y)) == null) { table.deselectAll(); ((StackLayout)group.getLayout()).topControl = null; group.layout(); delete.setEnabled(false); reset.setEnabled(false); popup.setEnabled(false); popup.setSelection(false); hilight.setEnabled(false); hilight.setSelection(false); } } }); TableColumn column = new TableColumn(table, SWT.NONE); column.setText("Description"); column = new TableColumn(table, SWT.NONE); column.setText("Last"); Composite buttons = new Composite(content, SWT.NONE); gridLayout = new GridLayout(); gridLayout.marginWidth = gridLayout.marginHeight = 0; buttons.setLayout(gridLayout); buttons.setLayoutData(new GridData(GridData.BEGINNING, GridData.FILL, false, false)); ISharedImages images = PlatformUI.getWorkbench().getSharedImages(); add = new Button(buttons, SWT.PUSH); add.setImage(images.getImageDescriptor(ISharedImages.IMG_TOOL_NEW_WIZARD).createImage()); add.setToolTipText("Add new alert"); add.setEnabled(true); add.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { NewAlertWizard wizard = new NewAlertWizard(); Alert alert = wizard.open(watchlistItem); if (alert != null) { itemAdded(alert); for (int i = 0; i < table.getColumnCount(); i++) table.getColumn(i).pack(); } } }); delete = new Button(buttons, SWT.PUSH); delete.setImage(images.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE).createImage()); delete.setToolTipText("Delete selected alert"); delete.setEnabled(false); delete.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (table.getSelectionIndex() != -1) { int index = table.getSelectionIndex(); ((CTabFolder)table.getItem(index).getData("folder")).dispose(); table.getItem(index).dispose(); } ((StackLayout)group.getLayout()).topControl = null; group.layout(); delete.setEnabled(false); } }); reset = new Button(buttons, SWT.PUSH); reset.setImage(images.getImageDescriptor(ISharedImages.IMG_TOOL_UNDO).createImage()); reset.setToolTipText("Reset last seen"); reset.setEnabled(false); reset.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (table.getSelectionIndex() != -1) { int index = table.getSelectionIndex(); ((CTabFolder)table.getItem(index).getData("folder")).setData("last", null); table.getItem(index).setText(1, ""); } reset.setEnabled(false); } }); group = new Composite(content, SWT.NONE); group.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1)); group.setLayout(new StackLayout()); for (Iterator iter = watchlistItem.getAlerts().iterator(); iter.hasNext(); ) { Alert alert = (Alert) iter.next(); itemAdded(alert); } popup = new Button(content, SWT.CHECK); popup.setText("Pop-up a message"); popup.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 2, 1)); popup.setEnabled(false); popup.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { CTabFolder folder = (CTabFolder) ((StackLayout)group.getLayout()).topControl; folder.setData("popup", new Boolean(popup.getSelection())); } }); hilight = new Button(content, SWT.CHECK); hilight.setText("Hilight watchlist row"); hilight.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false, 2, 1)); hilight.setEnabled(false); hilight.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { CTabFolder folder = (CTabFolder) ((StackLayout)group.getLayout()).topControl; folder.setData("hilight", new Boolean(hilight.getSelection())); } }); for (int i = 0; i < table.getColumnCount(); i++) table.getColumn(i).pack(); setValid(true); return content; } /* (non-Javadoc) * @see org.eclipse.jface.preference.PreferencePage#performOk() */ public boolean performOk() { if (isValid()) { watchlistItem.getAlerts().clear(); Control[] childs = group.getChildren(); for (int i = 0; i < childs.length; i++) { Map parameters = new HashMap(); CTabItem[] items = ((CTabFolder)childs[i]).getItems(); for (int p = 0; p < items.length; p++) { AlertPluginPreferencePage page = (AlertPluginPreferencePage)items[p].getData(); page.performOk(); parameters.putAll(page.getParameters()); } Alert alert = (Alert)childs[i].getData(); alert.setParameters(parameters); alert.setLastSeen((Date)((CTabFolder)table.getItem(i).getData("folder")).getData("last")); alert.setPopup(((Boolean)childs[i].getData("popup")).booleanValue()); alert.setHilight(((Boolean)childs[i].getData("hilight")).booleanValue()); ((AlertPlugin)alert.getData()).init(parameters); ((AlertPlugin)alert.getData()).setLastSeen(alert.getLastSeen()); watchlistItem.getAlerts().add(alert); watchlistItem.setChanged(); } } return super.performOk(); } private void itemAdded(Alert alert) { AlertPlugin plugin = (AlertPlugin)alert.getData(); if (plugin == null) { plugin = TradingPlugin.createAlertPlugin(alert.getPluginId()); plugin.init(watchlistItem.getSecurity(), alert.getParameters()); alert.setData(plugin); } TableItem tableItem = new TableItem(table, SWT.NONE); tableItem.setText(0, plugin.getDescription() + " (" + TradingPlugin.getAlertPluginName(alert.getPluginId()) + ")"); if (alert.getLastSeen() != null) tableItem.setText(1, new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(alert.getLastSeen())); tableItem.setData(alert); CTabFolder folder = new CTabFolder(group, SWT.TOP|SWT.FLAT|SWT.BORDER); folder.setMaximizeVisible(false); folder.setMinimizeVisible(false); folder.setSimple(PlatformUI.getPreferenceStore().getBoolean("SHOW_TRADITIONAL_STYLE_TABS")); folder.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1)); folder.setData(alert); folder.setData("last", plugin.getLastSeen()); folder.setData("popup", new Boolean(alert.isPopup())); folder.setData("hilight", new Boolean(alert.isHilight())); tableItem.setData("folder", folder); IConfigurationElement[] pages = TradingPlugin.getAlertPluginPreferencePages(alert.getPluginId()); for (int i = 0; i < pages.length; i++) { CTabItem tabItem = new CTabItem(folder, SWT.NONE); Composite itemContent = new Composite(folder, SWT.NONE); itemContent.setLayout(new GridLayout()); tabItem.setControl(itemContent); tabItem.setText(pages[i].getAttribute("name")); if (pages[i].getAttribute("description") != null) tabItem.setToolTipText(pages[i].getAttribute("description")); try { AlertPluginPreferencePage page = (AlertPluginPreferencePage)pages[i].createExecutableExtension("class"); page.init(watchlistItem.getSecurity(), alert.getParameters()); Control control = page.createContents(itemContent); if (control instanceof Composite) ((Composite)control).setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); tabItem.setData(page); } catch(Exception e) { e.printStackTrace(); } folder.setSelection(0); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -