diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java @ 9133:af73fdd96920

Title current/historical diff pair; limit on entries in diff'pair twin_panel
author gernotbelger
date Thu, 07 Jun 2018 11:41:10 +0200
parents 28df64078f27
children e3c2ae1887e8
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Wed Jun 06 14:24:51 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Thu Jun 07 11:41:10 2018 +0200
@@ -13,6 +13,7 @@
 
 import com.google.gwt.core.client.GWT;
 import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.grid.ListGrid;
 import com.smartgwt.client.widgets.layout.HLayout;
 import com.smartgwt.client.widgets.layout.VLayout;
@@ -21,37 +22,47 @@
  * A {@link AbstractPairRecommendationPanel} that uses a 'TwinDatacage' in the help-input area.
  * DatacagePairWidget which is put in the input-helper area.
  */
-public abstract class DatacageTwinPanel
-extends      AbstractPairRecommendationPanel {
-
-	private IDatacageTwinPanelInfo leftInfo;
-	private IDatacageTwinPanelInfo rightInfo;
+public abstract class DatacageTwinPanel extends AbstractPairRecommendationPanel {
 
-	public static interface IDatacageTwinPanelInfo extends IRecommendationInfo
-	{
-		String getOuts();
-	}
-	
-	public DatacageTwinPanel(final User user, IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo ) {
-		super(user, validator, leftInfo, rightInfo);
+    private final IDatacageTwinPanelInfo leftInfo;
+    private final IDatacageTwinPanelInfo rightInfo;
 
-		this.leftInfo = leftInfo;
-		this.rightInfo = rightInfo;
-	}
-	
+    private final int maxCount;
+    private final String msgMaxCount;
+
+    public static interface IDatacageTwinPanelInfo extends IRecommendationInfo {
+        String getOuts();
+    }
+
+    public DatacageTwinPanel(final User user, final IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo,
+            final int maxCount, final String msgMaxCount) {
+        super(user, validator, leftInfo, rightInfo);
+
+        this.maxCount = maxCount;
+        this.msgMaxCount = msgMaxCount;
+        this.leftInfo = leftInfo;
+        this.rightInfo = rightInfo;
+    }
+
     @Override
     protected final Canvas createChooserWidgets(final Canvas widget, final DataList dataList, final User user, final ListGrid differencesList) {
         GWT.log("createData()");
 
-        Canvas submit = getNextButton();
+        final Canvas submit = getNextButton();
 
-        VLayout layout       = new VLayout();
-        HLayout helperLayout = new HLayout();
-        
-        final String leftOuts = leftInfo.getOuts();
-        final String rightOuts = rightInfo.getOuts();
-        
-        helperLayout.addMember(new DatacagePairWidget(this.artifact, user, leftOuts, rightOuts, differencesList));
+        final VLayout layout = new VLayout();
+        final HLayout helperLayout = new HLayout();
+
+        final String leftOuts = this.leftInfo.getOuts();
+        final String rightOuts = this.rightInfo.getOuts();
+
+        helperLayout.addMember(new DatacagePairWidget(this.artifact, user, leftOuts, rightOuts, differencesList, this.maxCount, this.msgMaxCount));
+
+        if (dataList != null && dataList.get(0) != null && dataList.get(0).getDescription() != null) {
+            final Label title = new Label(dataList.get(0).getDescription());
+            title.setHeight("25px");
+            layout.addMember(title);
+        }
 
         layout.addMember(widget);
         layout.addMember(submit);
@@ -60,4 +71,5 @@
 
         return layout;
     }
+
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org