1 package org
.argeo
.security
.ui
.views
;
3 import java
.util
.ArrayList
;
5 import org
.argeo
.ArgeoLogListener
;
6 import org
.argeo
.ArgeoLogger
;
7 import org
.argeo
.security
.ui
.SecurityUiPlugin
;
8 import org
.eclipse
.jface
.resource
.JFaceResources
;
9 import org
.eclipse
.jface
.viewers
.LabelProvider
;
10 import org
.eclipse
.jface
.viewers
.TableViewer
;
11 import org
.eclipse
.swt
.SWT
;
12 import org
.eclipse
.swt
.graphics
.Font
;
13 import org
.eclipse
.swt
.widgets
.Composite
;
14 import org
.eclipse
.swt
.widgets
.Display
;
15 import org
.eclipse
.swt
.widgets
.Table
;
16 import org
.eclipse
.ui
.part
.ViewPart
;
19 * Display log lines with a virtual table. Register and unregisters a
20 * {@link ArgeoLogListener} via OSGi services.
22 public class LogView
extends ViewPart
{
23 public static String ID
= SecurityUiPlugin
.PLUGIN_ID
+ ".logView";
25 private TableViewer viewer
;
27 private LogContentProvider logContentProvider
;
28 private ArgeoLogger argeoLogger
;
31 public void createPartControl(Composite parent
) {
32 Font font
= JFaceResources
.getTextFontDescriptor().setHeight(8)
33 .createFont(Display
.getCurrent());
34 Table table
= new Table(parent
, SWT
.VIRTUAL
| SWT
.MULTI
| SWT
.H_SCROLL
35 | SWT
.V_SCROLL
| SWT
.FULL_SELECTION
| SWT
.BORDER
);
38 viewer
= new TableViewer(table
);
39 viewer
.setLabelProvider(new LabelProvider());
40 logContentProvider
= new LogContentProvider(viewer
);
41 viewer
.setContentProvider(logContentProvider
);
42 // viewer.setUseHashlookup(true);
43 viewer
.setInput(new ArrayList
<String
>());
45 if (argeoLogger
!= null)
46 argeoLogger
.register(logContentProvider
, 1000);
50 public void setFocus() {
51 viewer
.getTable().setFocus();
55 public void dispose() {
56 if (argeoLogger
!= null)
57 argeoLogger
.unregister(logContentProvider
);
60 public void setArgeoLogger(ArgeoLogger argeoLogger
) {
61 this.argeoLogger
= argeoLogger
;