X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fviewers%2FAbstractPageViewer.java;h=b52f76be52f5afe769c436d5cdbed3e5dfc0b11f;hb=0b3ea4f2c08f00100e962272bf21f4f32346fd61;hp=93dca724c1d332582d36b11c90cd34c7ce433a73;hpb=578c0d208ad079aa4ca38c6159184862c0bdc6c5;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 93dca724c..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,29 +38,11 @@ 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; - // FIXME Added by BSinou to manage non-section Composite. - // Is it the correct method? - @Deprecated - protected AbstractPageViewer(Composite parent, int style, - CmsEditable cmsEditable) { - // read only at UI level - readOnly = SWT.READ_ONLY == (style & SWT.READ_ONLY); - - this.cmsEditable = cmsEditable == null ? CmsEditable.NON_EDITABLE - : cmsEditable; - if (this.cmsEditable instanceof Observable) - ((Observable) this.cmsEditable).addObserver(this); - - if (cmsEditable.canEdit()) { - mouseListener = createMouseListener(); - } - page = findPage(parent); - } - protected AbstractPageViewer(Section parent, int style, CmsEditable cmsEditable) { // read only at UI level @@ -71,6 +55,7 @@ public abstract class AbstractPageViewer extends ContentViewer implements if (cmsEditable.canEdit()) { mouseListener = createMouseListener(); + focusListener = createFocusListener(); } page = findPage(parent); } @@ -107,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; @@ -294,6 +294,10 @@ public abstract class AbstractPageViewer extends ContentViewer implements return mouseListener; } + public FocusListener getFocusListener() { + return focusListener; + } + public CmsEditable getCmsEditable() { return cmsEditable; } @@ -302,5 +306,4 @@ public abstract class AbstractPageViewer extends ContentViewer implements public ISelection getSelection() { return selection; } - -} +} \ No newline at end of file