List of usage examples for org.eclipse.jface.resource JFaceResources getFont
public static Font getFont(String symbolicName)
From source file:org.eclipse.debug.internal.ui.views.memory.renderings.AsyncTableRenderingViewer.java
License:Open Source License
private void createCursor(Table table) { fTableCursor = new TableCursor(table, SWT.NONE); Display display = fTableCursor.getDisplay(); // set up cursor color fTableCursor.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION)); fTableCursor.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT)); fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); fCursorKeyAdapter = new KeyAdapter() { public void keyPressed(KeyEvent e) { handleCursorKeyPressed(e);//from w w w . ja v a 2 s .c o m } }; fTableCursor.addKeyListener(fCursorKeyAdapter); fCursorTraverseListener = new TraverseListener() { public void keyTraversed(TraverseEvent e) { handleCursorTraverseEvt(e); } }; fTableCursor.addTraverseListener(fCursorTraverseListener); fCursorMouseListener = new MouseAdapter() { public void mouseDown(MouseEvent e) { handleCursorMouseEvent(e); } }; fTableCursor.addMouseListener(fCursorMouseListener); // cursor may be disposed before disposed is called // remove listeners whenever the cursor is disposed fTableCursor.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (fTableCursor == null) return; fTableCursor.removeTraverseListener(fCursorTraverseListener); fTableCursor.removeKeyListener(fCursorKeyAdapter); fTableCursor.removeMouseListener(fCursorMouseListener); fTableCursor.removeSelectionListener(fCursorSelectionListener); } }); fCursorSelectionListener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { handleCursorMoved(); } }; fTableCursor.addSelectionListener(fCursorSelectionListener); fCursorEditor = new TableEditor(getTable()); }
From source file:org.eclipse.debug.internal.ui.views.memory.renderings.AsyncTableRenderingViewer.java
License:Open Source License
/** * Activate cell editor and pre-fill it with initial value. * If initialValue is null, use cell content as initial value * @param initialValue the initial value for the cell editor *//* w ww. ja v a 2 s . co m*/ private void activateCellEditor(String initialValue) { final int col = fTableCursor.getColumn(); final int row = indexOf(fSelectionKey); if (row < 0) return; // do not allow user to edit address column if (col == 0 || col > getNumCol()) { return; } ICellModifier cellModifier = null; cellModifier = getCellModifier(); TableItem tableItem = getTable().getItem(row); Object element = tableItem.getData(); if (element != null) { Object property = getColumnProperties()[col]; Object value = cellModifier.getValue(element, (String) property); boolean canEdit = cellModifier.canModify(element, (String) property); if (!canEdit) return; CellEditor editor = getCellEditors()[col]; if (editor != null) { // The control that will be the editor must be a child of the // Table Control control = editor.getControl(); Object cellValue = null; if (initialValue != null) { cellValue = initialValue; } else { cellValue = value; } editor.setValue(cellValue); fCursorEditor.horizontalAlignment = SWT.LEFT; fCursorEditor.grabHorizontal = true; // Open the editor editor in selected column of the selected // row. fCursorEditor.setEditor(control, tableItem, col); // Assign focus to the editor control editor.setFocus(); if (initialValue != null && control instanceof Text) { ((Text) control).clearSelection(); } control.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); // add listeners for the editor control addListeners(control); fCellEditorListener = new CellEditorListener(row, col, editor); editor.addListener(fCellEditorListener); // move cursor below editor control fTableCursor.moveBelow(control); } } }
From source file:org.eclipse.debug.internal.ui.views.variables.details.DefaultDetailPane.java
License:Open Source License
/** * Creates the source viewer in the given parent composite * /*w w w . j a v a 2 s . c om*/ * @param parent Parent composite to create the source viewer in */ private void createSourceViewer(Composite parent) { // Create & configure a SourceViewer fSourceViewer = new SourceViewer(parent, null, SWT.V_SCROLL | SWT.H_SCROLL); fSourceViewer.setDocument(getDetailDocument()); fSourceViewer.getTextWidget().setFont(JFaceResources.getFont(IDebugUIConstants.PREF_DETAIL_PANE_FONT)); fSourceViewer.getTextWidget().setWordWrap(DebugUIPlugin.getDefault().getPreferenceStore() .getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP)); fSourceViewer.setEditable(false); PlatformUI.getWorkbench().getHelpSystem().setHelp(fSourceViewer.getTextWidget(), IDebugHelpContextIds.DETAIL_PANE); Control control = fSourceViewer.getControl(); GridData gd = new GridData(GridData.FILL_BOTH); control.setLayoutData(gd); }
From source file:org.eclipse.debug.internal.ui.views.variables.details.DefaultDetailPane.java
License:Open Source License
public void propertyChange(PropertyChangeEvent event) { String propertyName = event.getProperty(); if (propertyName.equals(IDebugUIConstants.PREF_DETAIL_PANE_FONT)) { fSourceViewer.getTextWidget().setFont(JFaceResources.getFont(IDebugUIConstants.PREF_DETAIL_PANE_FONT)); } else if (propertyName.equals(IDebugUIConstants.PREF_MAX_DETAIL_LENGTH)) { display(fLastDisplayed);/*from ww w .ja v a 2s . c o m*/ } else if (propertyName.equals(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP)) { fSourceViewer.getTextWidget().setWordWrap(DebugUIPlugin.getDefault().getPreferenceStore() .getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP)); getAction(DETAIL_WORD_WRAP_ACTION).setChecked(DebugUIPlugin.getDefault().getPreferenceStore() .getBoolean(IDebugPreferenceConstants.PREF_DETAIL_PANE_WORD_WRAP)); } }
From source file:org.eclipse.debug.ui.memory.AbstractTableRendering.java
License:Open Source License
public void propertyChange(PropertyChangeEvent event) { // if memory view table font has changed if (event.getProperty().equals(IInternalDebugUIConstants.FONT_NAME)) { if (!fIsDisposed) { Font memoryViewFont = JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME); setFont(memoryViewFont);/*w w w . j a v a 2 s . com*/ } return; } if (event.getProperty().equals(IDebugUIConstants.PREF_PADDED_STR) || event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_KNOWN_COLOR) || event.getProperty().equals(IDebugUIConstants.PREF_MEMORY_HISTORY_UNKNOWN_COLOR)) { if (!fIsDisposed) { fTableViewer.refresh(); fTableCursor.redraw(); } return; } Object evtSrc = event.getSource(); if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE) || event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE) || event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE)) { // always update page size, only refresh if the table is visible getPageSizeFromPreference(); } // do not handle event if the rendering is displaying an error if (isDisplayingError()) return; // do not handle property change event if the rendering is not visible if (!isVisible()) return; if (event.getProperty().equals(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM)) { handleDyanicLoadChanged(); return; } if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PAGE_SIZE)) { if (!isDynamicLoad()) { // only refresh if in non-autoload mode refresh(); } return; } if (event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_PRE_BUFFER_SIZE) || event.getProperty().equals(IDebugPreferenceConstants.PREF_TABLE_RENDERING_POST_BUFFER_SIZE)) { if (isDynamicLoad()) { // only refresh if in non-autoload mode refresh(); } return; } if (evtSrc == this) return; if (!(evtSrc instanceof IMemoryRendering)) return; IMemoryRendering rendering = (IMemoryRendering) evtSrc; IMemoryBlock memoryBlock = rendering.getMemoryBlock(); // do not handle event from renderings displaying other memory blocks if (memoryBlock != getMemoryBlock()) return; String propertyName = event.getProperty(); Object value = event.getNewValue(); if (propertyName.equals(AbstractTableRendering.PROPERTY_SELECTED_ADDRESS) && value instanceof BigInteger) { selectedAddressChanged((BigInteger) value); } else if (propertyName.equals(AbstractTableRendering.PROPERTY_COL_SIZE) && value instanceof Integer) { columnSizeChanged(((Integer) value).intValue()); } else if (propertyName.equals(AbstractTableRendering.PROPERTY_ROW_SIZE) && value instanceof Integer) { rowSizeChanged(((Integer) value).intValue()); } else if (propertyName.equals(AbstractTableRendering.PROPERTY_TOP_ADDRESS) && value instanceof BigInteger) { if (needMoreLines()) { if (isDynamicLoad()) reloadTable(getTopVisibleAddress(), false); } topVisibleAddressChanged((BigInteger) value, false); } else if (propertyName.equals(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS) && value instanceof BigInteger) { handlePageStartAddressChanged((BigInteger) value); } }
From source file:org.eclipse.debug.ui.memory.AbstractTableRendering.java
License:Open Source License
/** * Create the table viewer and other support controls * for this rendering.//from ww w . j a va2s.co m * * @param parent parent composite */ private void createTableViewer(Composite parent) { fTableViewer = new TableViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.HIDE_SELECTION | SWT.BORDER); TableRenderingLabelProvider labelProvider; if (hasCustomizedDecorations()) labelProvider = new TableRenderingLabelProviderEx(this); else labelProvider = new TableRenderingLabelProvider(this); fTableViewer.setLabelProvider(labelProvider); fContentProvider = new TableRenderingContentProvider(); fContentProvider.setDynamicLoad(DebugUIPlugin.getDefault().getPreferenceStore() .getBoolean(IDebugPreferenceConstants.PREF_DYNAMIC_LOAD_MEM)); fTableViewer.setContentProvider(fContentProvider); fContentProvider.setViewer(fTableViewer); ScrollBar scroll = ((Table) fTableViewer.getControl()).getVerticalBar(); scroll.setMinimum(-100); scroll.setMaximum(200); fTableViewer.getTable().setHeaderVisible(true); fTableViewer.getTable().setLinesVisible(true); // set up addressable size and figure out number of bytes required per line fAddressableSize = -1; try { if (getMemoryBlock() instanceof IMemoryBlockExtension) fAddressableSize = ((IMemoryBlockExtension) getMemoryBlock()).getAddressableSize(); } catch (DebugException e1) { // log error and default to 1 fAddressableSize = 1; displayError(e1); return; } if (getAddressableSize() < 1) fAddressableSize = 1; // set up initial format setupInitialFormat(); // set up selected address setupSelectedAddress(); // figure out top visible address BigInteger topVisibleAddress = getInitialTopVisibleAddress(); getPageSizeFromPreference(); if (isDynamicLoad()) { int numLines = getNumberOfVisibleLines(); if (numLines <= 0) { // add listener to reload when we know the number of lines to load fTableViewer.getTable().addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { fTableViewer.getTable().removePaintListener(this); fContentInput.setNumLines(getNumberOfVisibleLines()); reloadTable(fContentInput.getLoadAddress(), false); resizeColumnsToPreferredSize(); setCursorAtAddress(fSelectedAddress); fTableCursor.setVisible(true); } }); } fContentInput = new TableRenderingContentInput(this, fPreBuffer, fPostBuffer, topVisibleAddress, numLines, false, null); } else { BigInteger addressToLoad = topVisibleAddress; // check synchronization service to see if we need to sync with another rendering Object obj = getSynchronizedProperty(IInternalDebugUIConstants.PROPERTY_PAGE_START_ADDRESS); if (obj != null && obj instanceof BigInteger) { addressToLoad = (BigInteger) obj; } fContentInput = new TableRenderingContentInput(this, 0, 0, addressToLoad, fPageSize, false, null); } fTableViewer.setInput(fContentInput); // set up cell modifier fCellModifier = new TableRenderingCellModifier(this); fTableViewer.setCellModifier(fCellModifier); // SET UP FONT // set to a non-proportional font fTableViewer.getTable().setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); if (!(getMemoryBlock() instanceof IMemoryBlockExtension)) { // If not extended memory block, do not create any buffer // no scrolling fContentInput.setPreBuffer(0); fContentInput.setPostBuffer(0); } // set up table cursor createCursor(fTableViewer.getTable(), fSelectedAddress); fTableViewer.getTable().addMouseListener(new MouseAdapter() { public void mouseDown(MouseEvent e) { handleTableMouseEvent(e); } }); // create pop up menu for the rendering createActions(); createPopupMenu(fTableViewer.getControl()); createPopupMenu(fTableCursor); fMenuListener = new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { fillContextMenu(manager); manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } }; getPopupMenuManager().addMenuListener(fMenuListener); // now the rendering is successfully created fIsCreated = true; //synchronize addRenderingToSyncService(); synchronize(); fTopRowAddress = getTopVisibleAddress(); // Need to resize column after content is filled in // Pack function does not work unless content is not filled in // since the table is not able to compute the preferred size. resizeColumnsToPreferredSize(); try { if (getMemoryBlock() instanceof IMemoryBlockExtension) { if (((IMemoryBlockExtension) getMemoryBlock()).getBigBaseAddress() == null) { DebugException e = new DebugException( DebugUIPlugin.newErrorStatus(DebugUIMessages.AbstractTableRendering_1, null)); displayError(e); } } } catch (DebugException e1) { displayError(e1); } // add font change listener and update font when the font has been changed JFaceResources.getFontRegistry().addListener(this); fScrollbarSelectionListener = new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { handleScrollBarSelection(); } }; scroll.addSelectionListener(fScrollbarSelectionListener); DebugUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(this); }
From source file:org.eclipse.debug.ui.memory.AbstractTableRendering.java
License:Open Source License
private void createCursor(Table table, BigInteger address) { fTableCursor = new TableCursor(table, SWT.NONE); Display display = fTableCursor.getDisplay(); // set up cursor color fTableCursor.setBackground(display.getSystemColor(SWT.COLOR_LIST_SELECTION)); fTableCursor.setForeground(display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT)); fTableCursor.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); fTableCursor.setVisible(true);/* w w w . j a v a2 s. c om*/ fCursorKeyAdapter = new KeyAdapter() { public void keyPressed(KeyEvent e) { handleCursorKeyPressed(e); } }; fTableCursor.addKeyListener(fCursorKeyAdapter); fCursorTraverseListener = new TraverseListener() { public void keyTraversed(TraverseEvent e) { handleCursorTraverseEvt(e); } }; fTableCursor.addTraverseListener(fCursorTraverseListener); fCursorMouseListener = new MouseAdapter() { public void mouseDown(MouseEvent e) { handleCursorMouseEvent(e); } }; fTableCursor.addMouseListener(fCursorMouseListener); // cursor may be disposed before disposed is called // remove listeners whenever the cursor is disposed fTableCursor.addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (fTableCursor == null) return; fTableCursor.removeTraverseListener(fCursorTraverseListener); fTableCursor.removeKeyListener(fCursorKeyAdapter); fTableCursor.removeMouseListener(fCursorMouseListener); fTableCursor.removeSelectionListener(fCursorSelectionListener); } }); fCursorSelectionListener = new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (!fEvtHandleLock.acquireLock(this)) return; handleCursorMoved(); fEvtHandleLock.releaseLock(this); } }; fTableCursor.addSelectionListener(fCursorSelectionListener); setCursorAtAddress(address); fCursorEditor = new TableEditor(fTableViewer.getTable()); }
From source file:org.eclipse.debug.ui.memory.AbstractTableRendering.java
License:Open Source License
/** * Activate cell editor and pre-fill it with initial value. * If initialValue is null, use cell content as initial value * @param initialValue the initial value to edit */// w w w . j a v a 2 s. c o m private void activateCellEditor(String initialValue) { int col = fTableCursor.getColumn(); int row = findAddressIndex(fSelectedAddress); if (row < 0) return; // do not allow user to edit address column if (col == 0 || col > getNumCol()) { return; } ICellModifier cellModifier = null; if (fTableViewer == null) { return; } cellModifier = fTableViewer.getCellModifier(); TableItem tableItem = fTableViewer.getTable().getItem(row); Object element = tableItem.getData(); Object property = fTableViewer.getColumnProperties()[col]; Object value = cellModifier.getValue(element, (String) property); // The cell modifier canModify function always returns false if the edit action // is not invoked from here. This is to prevent data to be modified when // the table cursor loses focus from a cell. By default, data will // be changed in a table when the cell loses focus. This is to workaround // this default behavior and only change data when the cell editor // is activated. ((TableRenderingCellModifier) cellModifier).setEditActionInvoked(true); boolean canEdit = cellModifier.canModify(element, (String) property); ((TableRenderingCellModifier) cellModifier).setEditActionInvoked(false); if (!canEdit) return; // activate based on current cursor position TextCellEditor selectedEditor = (TextCellEditor) fTableViewer.getCellEditors()[col]; if (fTableViewer != null && selectedEditor != null) { // The control that will be the editor must be a child of the Table Text text = (Text) selectedEditor.getControl(); String cellValue = null; if (initialValue != null) { cellValue = initialValue; } else { cellValue = ((String) value); } text.setText(cellValue); fCursorEditor.horizontalAlignment = SWT.LEFT; fCursorEditor.grabHorizontal = true; // Open the text editor in selected column of the selected row. fCursorEditor.setEditor(text, tableItem, col); // Assign focus to the text control selectedEditor.setFocus(); if (initialValue != null) { text.clearSelection(); } text.setFont(JFaceResources.getFont(IInternalDebugUIConstants.FONT_NAME)); // add listeners for the text control addListeners(text); // move cursor below text control fTableCursor.moveBelow(text); } }
From source file:org.eclipse.dltk.internal.debug.ui.log.ScriptDebugLogView.java
License:Open Source License
private void updateFont() { textViewer.getTextWidget().setFont(JFaceResources.getFont(THEME_ID)); }
From source file:org.eclipse.dltk.internal.ui.editor.ScriptSourceViewer.java
License:Open Source License
public void configure(SourceViewerConfiguration configuration) { /*/* w ww . ja v a 2s . c o m*/ * Prevent access to colors disposed in unconfigure(), see: * https://bugs.eclipse.org/bugs/show_bug.cgi?id=53641 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=86177 */ StyledText textWidget = getTextWidget(); if (textWidget != null && !textWidget.isDisposed()) { Color foregroundColor = textWidget.getForeground(); if (foregroundColor != null && foregroundColor.isDisposed()) textWidget.setForeground(null); Color backgroundColor = textWidget.getBackground(); if (backgroundColor != null && backgroundColor.isDisposed()) textWidget.setBackground(null); } super.configure(configuration); if (configuration instanceof ScriptSourceViewerConfiguration) { ScriptSourceViewerConfiguration dltkSVCconfiguration = (ScriptSourceViewerConfiguration) configuration; fOutlinePresenter = dltkSVCconfiguration.getOutlinePresenter(this, false); if (fOutlinePresenter != null) fOutlinePresenter.install(this); fStructurePresenter = dltkSVCconfiguration.getOutlinePresenter(this, true); if (fStructurePresenter != null) fStructurePresenter.install(this); fHierarchyPresenter = dltkSVCconfiguration.getHierarchyPresenter(this, true); if (fHierarchyPresenter != null) fHierarchyPresenter.install(this); if (textWidget != null) { textWidget.setFont(JFaceResources.getFont(dltkSVCconfiguration.getFontPropertyPreferenceKey())); } } if (fPreferenceStore != null) { fPreferenceStore.addPropertyChangeListener(this); initializeViewerColors(); } fIsConfigured = true; }