List of usage examples for org.eclipse.jface.action IToolBarManager markDirty
void markDirty();
From source file:com.safi.workshop.sqlexplorer.plugin.views.SQLHistoryView.java
License:Open Source License
@Override public void createPartControl(final Composite parent) { if (SQLExplorerPlugin.getDefault() == null) return;//from w ww .j a v a2 s. c o m SQLHistory history = SQLExplorerPlugin.getDefault().getSQLHistory(); // if (history == null){ // try { // SQLExplorerPlugin.getDefault().initResources(new NullProgressMonitor()); // history = SQLExplorerPlugin.getDefault().getSQLHistory(); // } catch (Exception e1) { // e1.printStackTrace(); // } // // } if (history == null) { SQLExplorerPlugin.getDefault().initHistory(); history = SQLExplorerPlugin.getDefault().getSQLHistory(); } history.sort(1, SWT.DOWN); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, SQLExplorerPlugin.PLUGIN_ID + ".SQLHistoryView"); history.addListener(this); Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.marginLeft = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 2; layout.marginWidth = 0; layout.marginHeight = 0; composite.setLayout(layout); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // add search box _searchBox = new Text(composite, SWT.BORDER); _searchBox.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); _searchBox.setText(Messages.getString("SQLHistoryView.SearchText")); _searchBox.selectAll(); SQLHistorySearchListener searchListener = new SQLHistorySearchListener(history); _searchBox.addModifyListener(searchListener); _searchBox.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { Text searchbox = (Text) e.widget; if (searchbox.getText() != null && searchbox.getText().equals(Messages.getString("SQLHistoryView.SearchText"))) { searchbox.setText(""); } } }); _tableViewer = new TableViewer(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL); getSite().setSelectionProvider(_tableViewer); _table = _tableViewer.getTable(); _table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); _table.setHeaderVisible(true); _table.setLinesVisible(true); _table.setItemCount(history.getEntryCount()); _tableViewer.setLabelProvider(new SQLHistoryLabelProvider()); _tableViewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public Object[] getElements(Object inputElement) { return SQLExplorerPlugin.getDefault().getSQLHistory().toArray(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); _tableViewer.setInput(history); final SQLHistory fhistory = history; // create listener for sorting Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = _table.getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = _table.getSortDirection(); if (sortColumn == currentColumn) { dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; } else { _table.setSortColumn(currentColumn); dir = SWT.UP; } sortColumn = _table.getSortColumn(); TableColumn[] cols = _table.getColumns(); for (int i = 0; i < cols.length; i++) { if (cols[i] == sortColumn) { fhistory.sort(i, dir); break; } } // update data displayed in table _table.setSortDirection(dir); _tableViewer.refresh(); } }; String[] columnLabels = new String[] { Messages.getString("SQLHistoryView.Column.SQL"), Messages.getString("SQLHistoryView.Column.Time"), Messages.getString("SQLHistoryView.Column.Connection"), Messages.getString("SQLHistoryView.Column.Executions") }; _tableViewer.setColumnProperties(columnLabels); // add all column headers to our table for (String columnLabel : columnLabels) { // add column header TableColumn column = new TableColumn(_table, SWT.LEFT); column.setText(columnLabel); column.setMoveable(false); column.setResizable(true); column.addListener(SWT.Selection, sortListener); } _tableViewer.refresh(); // add sizing weights to the different columns TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(7, 150)); tableLayout.addColumnData(new ColumnWeightData(2, 120)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); _table.setLayout(tableLayout); _table.layout(); // redraw table if view is resized parent.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { super.controlResized(e); // reset weights in case of view resizing TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(7, 150)); tableLayout.addColumnData(new ColumnWeightData(2, 120)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); _table.setLayout(tableLayout); } }); // create action bar final IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); final SQLHistoryActionGroup actionGroup = new SQLHistoryActionGroup(this, history, _tableViewer, toolBarMgr); _tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { actionGroup.refresh(); toolBarMgr.update(true); } }); // add context menus final MenuManager menuMgr = new MenuManager("#HistoryPopupMenu"); menuMgr.setRemoveAllWhenShown(true); Menu historyContextMenu = menuMgr.createContextMenu(_table); _table.setMenu(historyContextMenu); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { toolBarMgr.markDirty(); actionGroup.fillContextMenu(manager); } }); // also add action as default when an entry is doubleclicked. // final OpenInEditorAction openInEditorAction = new OpenInEditorAction(); // openInEditorAction.setTableViewer(_tableViewer); // openInEditorAction.setView(this); // // _tableViewer.addDoubleClickListener(new IDoubleClickListener() { // // public void doubleClick(DoubleClickEvent event) { // // openInEditorAction.run(); // } // }); final AddDBQueryAction addQueryAction = new AddDBQueryAction(); addQueryAction.setTableViewer(_tableViewer); addQueryAction.setView(this); _tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { addQueryAction.run(); } }); // add remove action on delete key final RemoveFromHistoryAction removeFromHistoryAction = new RemoveFromHistoryAction(); removeFromHistoryAction.setTableViewer(_tableViewer); _table.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { // delete entry if (e.keyCode == SWT.DEL) { removeFromHistoryAction.run(); } } }); // Set multi-line tooltip final Display display = parent.getDisplay(); _tipShell = new Shell(parent.getShell(), SWT.ON_TOP); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; gridLayout.marginWidth = 2; gridLayout.marginHeight = 2; _tipShell.setLayout(gridLayout); _tipShell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); _tipLabelText = new Label(_tipShell, SWT.WRAP | SWT.LEFT); _tipLabelText.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND)); _tipLabelText.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); _tipLabelText.setLayoutData(gridData); _table.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (_tipShell.isVisible()) { _tipShell.setVisible(false); _tipWidget = null; } } }); _table.addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseExit(MouseEvent e) { if (_tipShell.isVisible()) _tipShell.setVisible(false); _tipWidget = null; } /* * (non-Javadoc) * * @seeorg.eclipse.swt.events.MouseTrackListener#mouseHover(org.eclipse.swt.events. * MouseEvent) */ @Override public void mouseHover(MouseEvent event) { Point pt = new Point(event.x, event.y); Widget widget = event.widget; TableItem tableItem = null; if (widget instanceof Table) { Table table = (Table) widget; widget = table.getItem(pt); } if (widget instanceof TableItem) { tableItem = (TableItem) widget; } if (widget == null) { _tipShell.setVisible(false); _tipWidget = null; return; } if (widget == _tipWidget) return; _tipWidget = widget; _tipPosition = _table.toDisplay(pt); SQLHistoryElement sqlString = (SQLHistoryElement) tableItem.getData(); String text = TextUtil.getWrappedText(sqlString.getRawSQLString()); if (text == null || text.equals("")) { _tipWidget = null; return; } // Set off the table tooltip as we provide our own _table.setToolTipText(""); _tipLabelText.setText(text); _tipShell.pack(); setHoverLocation(_tipShell, _tipPosition, _tipLabelText.getBounds().height); _tipShell.setVisible(true); } }); _tableViewer.setSelection(null); composite.layout(); parent.layout(); }
From source file:net.sourceforge.sqlexplorer.plugin.views.SQLHistoryView.java
License:Open Source License
public void createPartControl(final Composite parent) { // MOD gdbu 2011-4-29 bug : 20960 SQLHistory tem_history = SQLExplorerPlugin.getDefault().getSQLHistory(); final SQLHistory history = tem_history == null ? new SQLHistory() : tem_history; // ~20960//from w w w . ja va2s. c o m history.sort(1, SWT.DOWN); PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, SQLExplorerPlugin.PLUGIN_ID + ".SQLHistoryView");//$NON-NLS-1$ history.addListener(this); Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 1; layout.marginLeft = 0; layout.horizontalSpacing = 0; layout.verticalSpacing = 2; layout.marginWidth = 0; layout.marginHeight = 0; composite.setLayout(layout); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // add search box _searchBox = new Text(composite, SWT.BORDER); _searchBox.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); _searchBox.setText(Messages.getString("SQLHistoryView.SearchText"));//$NON-NLS-1$ _searchBox.selectAll(); SQLHistorySearchListener searchListener = new SQLHistorySearchListener(history); _searchBox.addModifyListener(searchListener); _searchBox.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { Text searchbox = (Text) e.widget; if (searchbox.getText() != null && searchbox.getText().equals(Messages.getString("SQLHistoryView.SearchText"))) { searchbox.setText(""); } } }); _tableViewer = new TableViewer(composite, SWT.V_SCROLL | SWT.H_SCROLL | SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL); getSite().setSelectionProvider(_tableViewer); _table = _tableViewer.getTable(); _table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); _table.setHeaderVisible(true); _table.setLinesVisible(true); _table.setItemCount(history.getEntryCount()); _tableViewer.setLabelProvider(new SQLHistoryLabelProvider()); _tableViewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public Object[] getElements(Object inputElement) { return SQLExplorerPlugin.getDefault().getSQLHistory().toArray(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } }); _tableViewer.setInput(history); // create listener for sorting Listener sortListener = new Listener() { public void handleEvent(Event e) { // determine new sort column and direction TableColumn sortColumn = _table.getSortColumn(); TableColumn currentColumn = (TableColumn) e.widget; int dir = _table.getSortDirection(); if (sortColumn == currentColumn) { dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; } else { _table.setSortColumn(currentColumn); dir = SWT.UP; } sortColumn = _table.getSortColumn(); TableColumn[] cols = _table.getColumns(); for (int i = 0; i < cols.length; i++) { if (cols[i] == sortColumn) { history.sort(i, dir); break; } } // update data displayed in table _table.setSortDirection(dir); _tableViewer.refresh(); } }; String[] columnLabels = new String[] { Messages.getString("SQLHistoryView.Column.SQL"), Messages.getString("SQLHistoryView.Column.Time"), Messages.getString("SQLHistoryView.Column.Connection"), Messages.getString("SQLHistoryView.Column.Executions") }; _tableViewer.setColumnProperties(columnLabels); // add all column headers to our table for (int i = 0; i < columnLabels.length; i++) { // add column header TableColumn column = new TableColumn(_table, SWT.LEFT); column.setText(columnLabels[i]); column.setMoveable(false); column.setResizable(true); column.addListener(SWT.Selection, sortListener); } _tableViewer.refresh(); // add sizing weights to the different columns TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(7, 150)); tableLayout.addColumnData(new ColumnWeightData(2, 120)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); _table.setLayout(tableLayout); _table.layout(); // redraw table if view is resized parent.addControlListener(new ControlAdapter() { public void controlResized(ControlEvent e) { super.controlResized(e); // reset weights in case of view resizing TableLayout tableLayout = new TableLayout(); tableLayout.addColumnData(new ColumnWeightData(7, 150)); tableLayout.addColumnData(new ColumnWeightData(2, 120)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); tableLayout.addColumnData(new ColumnWeightData(1, 50)); _table.setLayout(tableLayout); } }); // create action bar final IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); final SQLHistoryActionGroup actionGroup = new SQLHistoryActionGroup(this, history, _tableViewer, toolBarMgr); _tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { actionGroup.refresh(); toolBarMgr.update(true); } }); // add context menus final MenuManager menuMgr = new MenuManager("#HistoryPopupMenu"); menuMgr.setRemoveAllWhenShown(true); Menu historyContextMenu = menuMgr.createContextMenu(_table); _table.setMenu(historyContextMenu); menuMgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { toolBarMgr.markDirty(); actionGroup.fillContextMenu(manager); } }); // also add action as default when an entry is doubleclicked. final OpenInEditorAction openInEditorAction = new OpenInEditorAction(); openInEditorAction.setTableViewer(_tableViewer); openInEditorAction.setView(this); _tableViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { openInEditorAction.run(); } }); // add remove action on delete key final RemoveFromHistoryAction removeFromHistoryAction = new RemoveFromHistoryAction(); removeFromHistoryAction.setTableViewer(_tableViewer); _table.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { // delete entry if (e.keyCode == SWT.DEL) { removeFromHistoryAction.run(); } } }); // Set multi-line tooltip final Display display = parent.getDisplay(); _tipShell = new Shell(parent.getShell(), SWT.ON_TOP); GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; gridLayout.marginWidth = 2; gridLayout.marginHeight = 2; _tipShell.setLayout(gridLayout); _tipShell.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); _tipLabelText = new Label(_tipShell, SWT.WRAP | SWT.LEFT); _tipLabelText.setForeground(display.getSystemColor(SWT.COLOR_INFO_FOREGROUND)); _tipLabelText.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND)); GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_CENTER); _tipLabelText.setLayoutData(gridData); _table.addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { if (_tipShell.isVisible()) { _tipShell.setVisible(false); _tipWidget = null; } } }); _table.addMouseTrackListener(new MouseTrackAdapter() { public void mouseExit(MouseEvent e) { if (_tipShell.isVisible()) _tipShell.setVisible(false); _tipWidget = null; } /* * (non-Javadoc) * * @see org.eclipse.swt.events.MouseTrackListener#mouseHover(org.eclipse.swt.events.MouseEvent) */ public void mouseHover(MouseEvent event) { Point pt = new Point(event.x, event.y); Widget widget = event.widget; TableItem tableItem = null; if (widget instanceof Table) { Table table = (Table) widget; widget = table.getItem(pt); } if (widget instanceof TableItem) { tableItem = (TableItem) widget; } if (widget == null) { _tipShell.setVisible(false); _tipWidget = null; return; } if (widget == _tipWidget) return; _tipWidget = widget; _tipPosition = _table.toDisplay(pt); SQLHistoryElement sqlString = (SQLHistoryElement) tableItem.getData(); String text = TextUtil.getWrappedText(sqlString.getRawSQLString()); if (text == null || text.equals("")) { _tipWidget = null; return; } // Set off the table tooltip as we provide our own _table.setToolTipText(""); _tipLabelText.setText(text); _tipShell.pack(); setHoverLocation(_tipShell, _tipPosition, _tipLabelText.getBounds().height); _tipShell.setVisible(true); } }); _tableViewer.setSelection(null); composite.layout(); parent.layout(); }
From source file:org.locationtech.udig.style.sld.SLDConfigurator.java
License:Open Source License
protected void refresh() { Layer layer = getLayer();/*from w ww . j a v a2 s. c o m*/ if (!canStyle(layer)) { throw new IllegalStateException("Hey I can't style " + layer); //$NON-NLS-1$ } // pull the sld style off the blackboard, and initialize the cm Style style = (Style) getStyleBlackboard().get(SLDContent.ID); // if no style information, create default if (style == null) { style = SLDContent.createDefaultStyle(); getStyleBlackboard().put(SLDContent.ID, style); } sldContentManager.init(SLDContent.getStyleBuilder(), style); // pull the feature type name out of the layer if (layer.getSchema() != null) { SimpleFeatureType featureType = layer.getSchema(); //set the name of the feature type style for the feature renderer String name = featureType.getName().getLocalPart(); sldContentManager.getDefaultFeatureTypeStyle().setFeatureTypeName(SLDs.GENERIC_FEATURE_TYPENAME); } // force the toolbar to refresh // IToolBarManager tbm = getViewSite().getActionBars().getToolBarManager(); tbm.markDirty(); tbm.update(true); getViewSite().getActionBars().updateActionBars(); for (IContributionItem item : tbm.getItems()) { ActionContributionItem action = (ActionContributionItem) item; action.getAction().setEnabled(action.getAction().isEnabled()); } // focus the active editor if any exisits SLDEditorPart editor = (SLDEditorPart) editorBook.getData(); List<Class> supported = SLD.getSupportedTypes(layer); if (editor != null) { if (supported.contains(editor.getContentType())) { initEditor(editor); editor.reset(); return; // current editor is still okay } } // if we get here the current editor wasn't applicable, show first that works for (Class type : classToEditors.keySet()) { if (!supported.contains(type)) continue; for (SLDEditorPart part : classToEditors.get(type)) { initEditor(part); // FIXME: we don't want the editor to have content it should not part.reset(); editorBook.setData(part); editorBook.showPage(part.getPage()); part.getPage().setVisible(true); return; } } editorBook.showPage(blank); }