projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce Makefile for Java build
[lgpl/argeo-commons.git]
/
org.argeo.cms.ui
/
src
/
org
/
argeo
/
cms
/
ui
/
viewers
/
AbstractPageViewer.java
diff --git
a/org.argeo.cms.ui/src/org/argeo/cms/ui/viewers/AbstractPageViewer.java
b/org.argeo.cms.ui/src/org/argeo/cms/ui/viewers/AbstractPageViewer.java
index 004bd943531aa9854c318ac184cecd7a03c3f776..ef24ee0d5021fd729ab8fe3a9b055c3aa9c5e896 100644
(file)
--- a/
org.argeo.cms.ui/src/org/argeo/cms/ui/viewers/AbstractPageViewer.java
+++ b/
org.argeo.cms.ui/src/org/argeo/cms/ui/viewers/AbstractPageViewer.java
@@
-11,9
+11,8
@@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.security.auth.Subject;
import javax.jcr.Session;
import javax.security.auth.Subject;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.cms.ui.CmsEditable;
+import org.argeo.api.cms.CmsEditable;
+import org.argeo.api.cms.CmsLog;
import org.argeo.cms.ui.widgets.ScrolledPage;
import org.argeo.jcr.JcrException;
import org.eclipse.jface.viewers.ContentViewer;
import org.argeo.cms.ui.widgets.ScrolledPage;
import org.argeo.jcr.JcrException;
import org.eclipse.jface.viewers.ContentViewer;
@@
-33,7
+32,7
@@
import org.xml.sax.SAXParseException;
public abstract class AbstractPageViewer extends ContentViewer implements Observer {
private static final long serialVersionUID = 5438688173410341485L;
public abstract class AbstractPageViewer extends ContentViewer implements Observer {
private static final long serialVersionUID = 5438688173410341485L;
- private final static
Log log = LogFactory
.getLog(AbstractPageViewer.class);
+ private final static
CmsLog log = CmsLog
.getLog(AbstractPageViewer.class);
private final boolean readOnly;
/** The basis for the layouts, typically a ScrolledPage. */
private final boolean readOnly;
/** The basis for the layouts, typically a ScrolledPage. */
@@
-120,7
+119,7
@@
public abstract class AbstractPageViewer extends ContentViewer implements Observ
}
}
}
}
- p
rotected
void layoutPage() {
+ p
ublic
void layoutPage() {
if (page != null)
page.layout(true, true);
}
if (page != null)
page.layout(true, true);
}
@@
-164,7
+163,8
@@
public abstract class AbstractPageViewer extends ContentViewer implements Observ
mouseListener = null;
refresh(getControl());
// layout(getControl());
mouseListener = null;
refresh(getControl());
// layout(getControl());
- layoutPage();
+ if (!getControl().isDisposed())
+ layoutPage();
} catch (RepositoryException e) {
throw new JcrException("Cannot refresh", e);
}
} catch (RepositoryException e) {
throw new JcrException("Cannot refresh", e);
}
@@
-198,9
+198,9
@@
public abstract class AbstractPageViewer extends ContentViewer implements Observ
}
part.startEditing();
}
part.startEditing();
+ edited = part;
updateContent(part);
prepare(part, caretPosition);
updateContent(part);
prepare(part, caretPosition);
- edited = part;
edited.getControl().addFocusListener(new FocusListener() {
private static final long serialVersionUID = 6883521812717097017L;
edited.getControl().addFocusListener(new FocusListener() {
private static final long serialVersionUID = 6883521812717097017L;
@@
-239,8
+239,12
@@
public abstract class AbstractPageViewer extends ContentViewer implements Observ
save(edited);
edited.stopEditing();
save(edited);
edited.stopEditing();
- updateContent(edited);
- layout(((EditablePart) edited).getControl());
+ EditablePart editablePart = edited;
+ Control control = ((EditablePart) edited).getControl();
+ edited = null;
+ // TODO make edited state management more robust
+ updateContent(editablePart);
+ layout(control);
} catch (RepositoryException e) {
throw new JcrException("Cannot stop editing", e);
} finally {
} catch (RepositoryException e) {
throw new JcrException("Cannot stop editing", e);
} finally {