TCI - TreeMasterDetailComposite : add missing scroll size adjustment
call when using the cache
Change-Id: I7587a466e83c838a49f65cbfff7d81c20d144357
Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailComposite.java b/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailComposite.java
index 98cc044..6071bb7 100644
--- a/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailComposite.java
+++ b/bundles/org.eclipse.emfforms.swt.treemasterdetail/src/org/eclipse/emfforms/spi/swt/treemasterdetail/TreeMasterDetailComposite.java
@@ -319,6 +319,7 @@
*/
detailPanel.layout();
renderedView.getViewModelContext().changeDomainModel(eObject);
+ updateScrolledComposite();
} else {
if (viewModelPropertiesUpdateCallback != null) {
viewModelPropertiesUpdateCallback.updateViewModelProperties(context);
@@ -346,10 +347,7 @@
Display.getDefault().asyncExec(new UpdateDetailRunnable(setFocusToDetail, eObject, label));
}
// After rendering the Forms, compute the size of the form. So the scroll container knows when to scroll
- if (ScrolledComposite.class.isInstance(detailComposite)) {
- ScrolledComposite.class.cast(detailComposite)
- .setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- }
+ updateScrolledComposite();
}
} else {
renderEmptyDetailPanel();
@@ -366,6 +364,13 @@
}
}
+ private void updateScrolledComposite() {
+ if (ScrolledComposite.class.isInstance(detailComposite)) {
+ ScrolledComposite.class.cast(detailComposite)
+ .setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
+ }
+ }
+
private void renderEmptyDetailPanel() {
lastRenderedObject = null;
if (renderedView != null && !renderedView.getSWTControl().isDisposed()) {
@@ -392,10 +397,7 @@
detailPanel.pack();
detailPanel.layout(true, true);
- if (ScrolledComposite.class.isInstance(detailComposite)) {
- ScrolledComposite.class.cast(detailComposite)
- .setMinSize(detailPanel.computeSize(SWT.DEFAULT, SWT.DEFAULT));
- }
+ updateScrolledComposite();
}
/**