Example usage for org.eclipse.jface.resource JFaceResources getFont

List of usage examples for org.eclipse.jface.resource JFaceResources getFont

Introduction

In this page you can find the example usage for org.eclipse.jface.resource JFaceResources getFont.

Prototype

public static Font getFont(String symbolicName) 

Source Link

Document

Returns the font in JFace's font registry with the given symbolic font name.

Usage

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;
}