X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.views.swt.client%2Fsrc%2Forg%2Fsimantics%2Fviews%2Fswt%2Fclient%2Fimpl%2FSWTBrowser.java;h=5c4d212691151c92813a1aea9a501cacbb67119b;hp=6df6bdaad3e14cdb419fc7c0697aaf215897d211;hb=25b6c25959c1fb3c60bb41cd0e1f0808e7fc3769;hpb=ccc1271c9d6657fb9dcf4cf3cb115fa0c8cb9589 diff --git a/bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTBrowser.java b/bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTBrowser.java index 6df6bdaad..5c4d21269 100644 --- a/bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTBrowser.java +++ b/bundles/org.simantics.views.swt.client/src/org/simantics/views/swt/client/impl/SWTBrowser.java @@ -3,8 +3,11 @@ package org.simantics.views.swt.client.impl; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.layout.GridLayoutFactory; import org.eclipse.swt.browser.Browser; +import org.eclipse.swt.browser.LocationEvent; +import org.eclipse.swt.browser.LocationListener; import org.eclipse.swt.widgets.Composite; import org.simantics.db.layer0.variable.Variable; +import org.simantics.scl.runtime.function.Function1; import org.simantics.utils.datastructures.map.Tuple; import org.simantics.views.swt.client.base.SingleSWTViewNode; @@ -12,10 +15,11 @@ public class SWTBrowser extends SingleSWTViewNode { private static final long serialVersionUID = -2704760050046054447L; - public String document; - public Variable variable; + public String document; + public Variable variable; + public Function1 locationChanging; - private Tuple lastAppliedParametrization; + private Tuple lastAppliedParametrization; @Override public void reset() { @@ -32,6 +36,18 @@ public class SWTBrowser extends SingleSWTViewNode { control = new Browser(parent, style); GridDataFactory.fillDefaults().grab(true, true).applyTo(control); + control.addLocationListener(new LocationListener() { + @Override + public void changing(LocationEvent event) { + Function1 lc = locationChanging; + if (lc != null) + lc.apply(event); + } + @Override + public void changed(LocationEvent event) { + } + }); + setProperties(); }