X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=security%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fviews%2FLogView.java;h=56857d3b533bbb8e146637ec64d3a0b301db028a;hb=72c5c4c7e5348ad96a451ef866a1e231db976dc7;hp=f432ad34863a4a10d26559db21cfbc68d411f6a8;hpb=d4c2363c4c8dfdf3bc2031e61cbf8d1730a13cf9;p=lgpl%2Fargeo-commons.git diff --git a/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/LogView.java b/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/LogView.java index f432ad348..56857d3b5 100644 --- a/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/LogView.java +++ b/security/plugins/org.argeo.security.ui/src/main/java/org/argeo/security/ui/views/LogView.java @@ -3,14 +3,17 @@ package org.argeo.security.ui.views; import java.util.ArrayList; import org.argeo.ArgeoLogListener; +import org.argeo.ArgeoLogger; import org.argeo.security.ui.SecurityUiPlugin; +import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Table; import org.eclipse.ui.part.ViewPart; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; /** * Display log lines with a virtual table. Register and unregisters a @@ -22,20 +25,25 @@ public class LogView extends ViewPart { private TableViewer viewer; private LogContentProvider logContentProvider; - - private ServiceRegistration serviceRegistration; + private ArgeoLogger argeoLogger; @Override public void createPartControl(Composite parent) { - viewer = new TableViewer(parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL + Font font = JFaceResources.getTextFontDescriptor().setHeight(8) + .createFont(Display.getCurrent()); + Table table = new Table(parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); + table.setFont(font); + + viewer = new TableViewer(table); viewer.setLabelProvider(new LabelProvider()); logContentProvider = new LogContentProvider(viewer); - serviceRegistration = getBundleContext().registerService( - ArgeoLogListener.class.getName(), logContentProvider, null); viewer.setContentProvider(logContentProvider); - //viewer.setUseHashlookup(true); + // viewer.setUseHashlookup(true); viewer.setInput(new ArrayList()); + + if (argeoLogger != null) + argeoLogger.register(logContentProvider, 1000); } @Override @@ -45,11 +53,12 @@ public class LogView extends ViewPart { @Override public void dispose() { - if (serviceRegistration != null) - serviceRegistration.unregister(); + if (argeoLogger != null) + argeoLogger.unregister(logContentProvider); } - private BundleContext getBundleContext() { - return SecurityUiPlugin.getDefault().getBundle().getBundleContext(); + public void setArgeoLogger(ArgeoLogger argeoLogger) { + this.argeoLogger = argeoLogger; } + }