X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fviewers%2FAbstractPageViewer.java;h=837cf99292368b9617eeb8cecdfc39d296a57574;hb=8f00f7a33c89ebfd27126a4d7a16535c088ddc0a;hp=e779a79931c393a18c2ee8c6982a2502e5664e7a;hpb=050d54bb859aaed19777b32d7c9e677c532ef52f;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 e779a7993..837cf9929 100644 --- a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java +++ b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java @@ -10,7 +10,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsEditable; import org.argeo.cms.CmsException; -import org.argeo.cms.widgets.JcrComposite; import org.argeo.cms.widgets.ScrolledPage; import org.eclipse.jface.viewers.ContentViewer; import org.eclipse.jface.viewers.ISelection; @@ -41,6 +40,7 @@ public abstract class AbstractPageViewer extends ContentViewer implements // 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 @@ -224,6 +224,20 @@ public abstract class AbstractPageViewer extends ContentViewer implements page.layout(controls); } + /** + * Find the first {@link EditablePart} in the parents hierarchy of this + * control + */ + protected EditablePart findDataParent(Control parent) { + if (parent instanceof EditablePart) { + return (EditablePart) parent; + } + if (parent.getParent() != null) + return findDataParent(parent.getParent()); + else + throw new CmsException("No data parent found"); + } + // UTILITIES /** Check whether the edited part is in a proper state */ protected void checkEdited() {