/** * ************************************************************************* Increase or decrease * the font size * * @param increase If true, increase the font size * ************************************************************************ */ public void zoom(boolean increase) { boolean changed = false; for (SourceRenderer rnd : m_renderers) { changed = changed | rnd.zoom(increase); } if (changed) { getGrid().setItemHeight(m_renderers[0].getFontSize() + 8); getGrid().getColumn(CodeViewerColumn.LINE_NO.ordinal()).pack(); getGrid().redraw(); showLastLine(); } }
@Override public void propertyChange(PropertyChangeEvent event) { for (SourceRenderer rnd : m_renderers) { rnd.onPropertiesChanged(event); } String property = event.getProperty(); if (property.equals(FontKey.CODE.getPreferenceName())) { applyItemHeight(); getGrid().getColumn(CodeViewerColumn.LINE_NO.ordinal()).pack(); } getGrid().redraw(); }
/** * ************************************************************************* Constructor. * * @param procId The procedure identifier * @param parent The parent composite * ************************************************************************ */ public CodeViewer(Composite parent, IProcedure model) { super(parent, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); if (s_cfg == null) { s_cfg = (IConfigurationManager) ServiceManager.get(IConfigurationManager.class); } m_procedure = model; m_autoScroll = true; getGrid().setHeaderVisible(true); getGrid().setLinesVisible(false); createColumns(); final CodeViewer theViewer = this; getGrid() .addKeyListener( new KeyAdapter() { public void keyPressed(KeyEvent e) { if ((e.stateMask & SWT.CONTROL) > 0) { if (e.keyCode == 99) // C { copySelected(); getGrid().deselectAll(); } else if (e.keyCode == 102) // F { getGrid().deselectAll(); SearchDialog dialog = new SearchDialog(getGrid().getShell(), theViewer); dialog.open(); } } } }); getGrid() .getColumn(CodeViewerColumn.BREAKPOINT.ordinal()) .addControlListener(new ColumnSizer(getGrid(), CodeViewerColumn.RESULT)); getGrid() .getColumn(CodeViewerColumn.LINE_NO.ordinal()) .addControlListener(new ColumnSizer(getGrid(), CodeViewerColumn.RESULT)); getGrid() .getColumn(CodeViewerColumn.CODE.ordinal()) .addControlListener(new ColumnSizer(getGrid(), CodeViewerColumn.RESULT)); getGrid() .getColumn(CodeViewerColumn.DATA.ordinal()) .addControlListener(new ColumnSizer(getGrid(), CodeViewerColumn.RESULT)); getGrid().addControlListener(new ColumnSizer(getGrid(), CodeViewerColumn.CODE)); /* * Popup menu manager */ new CodeViewerMenuManager(this, m_procedure); m_search = new CodeSearch(this); s_cfg.addPropertyChangeListener(this); getGrid() .addDisposeListener( new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { dispose(); } }); }