X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fviewers%2FAbstractPageViewer.java;h=837cf99292368b9617eeb8cecdfc39d296a57574;hb=60e8274d08b93c5dbb46a2fc2a4f8b1a0d18c0ed;hp=331275c44dd3484dbd8e0bd071bfc7e08109fa58;hpb=0a63088e055dcd5ff397ce4e98d008c62c84dc98;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 331275c44..837cf9929 100644 --- a/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java +++ b/org.argeo.cms/src/org/argeo/cms/viewers/AbstractPageViewer.java @@ -40,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 @@ -223,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() {