X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fviewers%2FAbstractPageViewer.java;h=b52f76be52f5afe769c436d5cdbed3e5dfc0b11f;hb=c873a0359345503b8e3ca07828bd99d525ec7cc0;hp=21f259c8882d22be81695533091c93be57e4fee5;hpb=08882f7b9f77cf5a60fa554766ccdfee3b4d73d5;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java index 21f259c88..b52f76be5 100644 --- a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java +++ b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java @@ -16,6 +16,8 @@ import org.eclipse.jface.viewers.ContentViewer; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.widgets.Composite; @@ -36,6 +38,7 @@ public abstract class AbstractPageViewer extends ContentViewer implements private final CmsEditable cmsEditable; private MouseListener mouseListener; + private FocusListener focusListener; private EditablePart edited; private ISelection selection = StructuredSelection.EMPTY; @@ -52,6 +55,7 @@ public abstract class AbstractPageViewer extends ContentViewer implements if (cmsEditable.canEdit()) { mouseListener = createMouseListener(); + focusListener = createFocusListener(); } page = findPage(parent); } @@ -88,6 +92,21 @@ public abstract class AbstractPageViewer extends ContentViewer implements }; } + /** Create (retrieve) the FocusListener to use. */ + protected FocusListener createFocusListener() { + return new FocusListener() { + private static final long serialVersionUID = 1L; + + @Override + public void focusLost(FocusEvent event) { + } + + @Override + public void focusGained(FocusEvent event) { + } + }; + } + protected Composite findPage(Composite composite) { if (composite instanceof ScrolledPage) { return (ScrolledPage) composite; @@ -275,6 +294,10 @@ public abstract class AbstractPageViewer extends ContentViewer implements return mouseListener; } + public FocusListener getFocusListener() { + return focusListener; + } + public CmsEditable getCmsEditable() { return cmsEditable; }