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
);
31 viewer
.setLabelProvider(new LabelProvider());
32 logContentProvider
= new LogContentProvider(viewer
);
33 serviceRegistration
= getBundleContext().registerService(
34 ArgeoLogListener
.class.getName(), logContentProvider
, null);
35 viewer
.setContentProvider(logContentProvider
);
36 viewer
.setUseHashlookup(true);
37 viewer
.setInput(new ArrayList
<String
>());
41 public void setFocus() {
42 viewer
.getTable().setFocus();
46 public void dispose() {
47 if (serviceRegistration
!= null)
48 serviceRegistration
.unregister();
51 private BundleContext
getBundleContext() {
52 return SecurityUiPlugin
.getDefault().getBundle().getBundleContext();