1 package org
.argeo
.security
.ui
.views
;
3 import java
.util
.ArrayList
;
5 import org
.argeo
.ArgeoLogListener
;
6 import org
.argeo
.security
.ui
.SecurityUiPlugin
;
7 import org
.eclipse
.jface
.viewers
.LabelProvider
;
8 import org
.eclipse
.jface
.viewers
.TableViewer
;
9 import org
.eclipse
.swt
.SWT
;
10 import org
.eclipse
.swt
.widgets
.Composite
;
11 import org
.eclipse
.ui
.part
.ViewPart
;
12 import org
.osgi
.framework
.BundleContext
;
13 import org
.osgi
.framework
.ServiceRegistration
;
16 * Display log lines with a virtual table. Register and unregisters a
17 * {@link ArgeoLogListener} via OSGi services.
19 public class LogView
extends ViewPart
{
20 public static String ID
= SecurityUiPlugin
.PLUGIN_ID
+ ".logView";
22 private TableViewer viewer
;
24 private LogContentProvider logContentProvider
;
26 private ServiceRegistration serviceRegistration
;
29 public void createPartControl(Composite parent
) {
30 viewer
= new TableViewer(parent
, SWT
.VIRTUAL
| SWT
.MULTI
| SWT
.H_SCROLL
31 | SWT
.V_SCROLL
| SWT
.FULL_SELECTION
| SWT
.BORDER
);
32 viewer
.setLabelProvider(new LabelProvider());
33 logContentProvider
= new LogContentProvider(viewer
);
34 serviceRegistration
= getBundleContext().registerService(
35 ArgeoLogListener
.class.getName(), logContentProvider
, null);
36 viewer
.setContentProvider(logContentProvider
);
37 //viewer.setUseHashlookup(true);
38 viewer
.setInput(new ArrayList
<String
>());
42 public void setFocus() {
43 viewer
.getTable().setFocus();
47 public void dispose() {
48 if (serviceRegistration
!= null)
49 serviceRegistration
.unregister();
52 private BundleContext
getBundleContext() {
53 return SecurityUiPlugin
.getDefault().getBundle().getBundleContext();