X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=security%2Fplugins%2Forg.argeo.security.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fsecurity%2Fui%2Fviews%2FLogView.java;h=56857d3b533bbb8e146637ec64d3a0b301db028a;hb=72c5c4c7e5348ad96a451ef866a1e231db976dc7;hp=e49400757f6e8f94ab1c1e68aa73c885eefbff36;hpb=0b7c4d15bef603eed5a7b770482e6cf684bbf381;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 e49400757..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 @@ -18,23 +21,29 @@ import org.osgi.framework.ServiceRegistration; */ public class LogView extends ViewPart { public static String ID = SecurityUiPlugin.PLUGIN_ID + ".logView"; - + private TableViewer viewer; private LogContentProvider logContentProvider; - - private ServiceRegistration serviceRegistration; + private ArgeoLogger argeoLogger; @Override public void createPartControl(Composite parent) { - viewer = new TableViewer(parent, SWT.VIRTUAL); + 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 @@ -44,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; } + }