svn commit: r1352 - logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views

Author: seb Date: Mon Feb 26 19:25:44 2007 New Revision: 1352 Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java Log: Added scroll lock function to the console Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java Mon Feb 26 19:25:44 2007 @@ -32,8 +32,10 @@ private MessageConsole myConsole; private LoggingEventContentProvider provider; private LoggingEventLabelProvider labelProvider; + private Action clearConsoleAction; - + private Action autoScrollAction; + private SimpleSocketServer server; private Thread serverThread; private LogbackPreferencesAction preferencesAction; @@ -44,16 +46,21 @@ public void createPartControl(Composite parent) { - myConsole = new MessageConsole("My Console", null); + myConsole = new MessageConsole("Logback Console", null); myConsole.setWaterMarks(LOW_WATERMARK, DEFAULT_HIGH_WATERMARK); viewer = new TextConsoleViewer(parent, myConsole); viewer.setEditable(false); +// Display disp = Display.getCurrent(); +// Color blue = new Color(disp, new RGB(0,0,255) ); +// DefaultHyperlinkPresenter presenter = new DefaultHyperlinkPresenter(blue); +// HyperlinkManager manager = new HyperlinkManager(HyperlinkManager.FIRST); +// manager.install(viewer, presenter, new IHyperlinkDetector[]{new URLHyperlinkDetector()}, 0); provider = new LoggingEventContentProvider(myConsole, viewer); labelProvider = new LoggingEventLabelProvider(); provider.setLabelProvider(labelProvider); - + LoggingEventManager.getManager().addLoggingEventManagerListener(provider); makeActions(); @@ -64,6 +71,7 @@ IActionBars bars = getViewSite().getActionBars(); IToolBarManager manager = bars.getToolBarManager(); manager.add(clearConsoleAction); + manager.add(autoScrollAction); } private void makeActions() { @@ -73,7 +81,6 @@ menu.add(preferencesAction); clearConsoleAction = new Action() { - @Override public void run() { super.run(); @@ -83,6 +90,29 @@ clearConsoleAction.setText("Clear console"); clearConsoleAction.setToolTipText("Clear the console"); clearConsoleAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages() + .getImageDescriptor(ISharedImages.IMG_TOOL_DELETE)); + + autoScrollAction = new Action() { + @Override + public void run() { + super.run(); + provider.toggleAutoScroll(); + updateText(); + } + + private void updateText() { + if (provider.isAutoScroll()) { + this.setText("Turn off auto scroll"); + this.setToolTipText("Turn off auto scroll"); + } else { + this.setText("Turn on auto scroll"); + this.setToolTipText("Turn on auto scroll"); + } + } + }; + autoScrollAction.setText("Turn off auto scroll"); + autoScrollAction.setToolTipText("Turn off auto scroll"); + autoScrollAction.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages() .getImageDescriptor(ISharedImages.IMG_OBJS_INFO_TSK)); } Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java Mon Feb 26 19:25:44 2007 @@ -32,6 +32,8 @@ private Color cachedRed; private Color cachedBlack; private LabelProvider labelProvider; + + private boolean autoScroll; public LoggingEventContentProvider(MessageConsole console, TextConsoleViewer viewer) { Display display = Display.getCurrent(); @@ -83,7 +85,9 @@ } catch (Exception e) { PluginLogger.logError(e); } - revealJob.schedule(50); + if (autoScroll) { + revealJob.schedule(50); + } } private void flushStreams() { @@ -98,4 +102,16 @@ public void setLabelProvider(LabelProvider provider) { this.labelProvider = provider; } + + public void setAutoScroll(boolean autoScroll) { + this.autoScroll = autoScroll; + } + + public boolean isAutoScroll() { + return autoScroll; + } + + public void toggleAutoScroll() { + autoScroll = !autoScroll; + } }
participants (1)
-
noreply.seb@qos.ch