diff --git a/.classpath b/.classpath index 89414ee..d0a6006 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - + @@ -31,5 +31,5 @@ - + diff --git a/.settings/com.google.gdt.eclipse.core.prefs b/.settings/com.google.gdt.eclipse.core.prefs index 3433991..5700921 100644 --- a/.settings/com.google.gdt.eclipse.core.prefs +++ b/.settings/com.google.gdt.eclipse.core.prefs @@ -2,6 +2,6 @@ <<<<<<<=.mine >>>>>>>=.r71295 eclipse.preferences.version=1 -lastWarOutDir=/Users/massi/Documents/workspace/reports/target/reports-4.6.10-SNAPSHOT +lastWarOutDir=/Users/massi/Documents/workspace/reports/target/reports-4.6.12-SNAPSHOT warSrcDir=src/main/webapp warSrcDirIsOutput=false diff --git a/pom.xml b/pom.xml index 6afdbc7..af4b4b5 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ org.gcube.portlets.user reports war - 4.6.11-SNAPSHOT + 4.6.12-SNAPSHOT gCube Reports Manager gCube Reports Portlet. diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientRepeatableSequence.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientRepeatableSequence.java index fe5f2bd..d71a872 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientRepeatableSequence.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientRepeatableSequence.java @@ -30,7 +30,7 @@ public class ClientRepeatableSequence extends Composite implements ClientSequenc this.repSequence = sRS; this.identifier = sRS.getKey(); this.originalSequence = extractOriginalSequence(sRS); - SequenceWidget seqW = new SequenceWidget(p, this, originalSequence, false, false); //TODO: Now all seq are removable, need to be handled differently + SequenceWidget seqW = new SequenceWidget(p, this, originalSequence, true, false); myPanel.add(seqW); for (RepeatableSequence repeatSeq : getRepeats()) { diff --git a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientReportReference.java b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientReportReference.java index 9600719..8e74b16 100644 --- a/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientReportReference.java +++ b/src/main/java/org/gcube/portlets/user/reportgenerator/client/targets/ClientReportReference.java @@ -22,7 +22,7 @@ import com.google.gwt.user.client.ui.VerticalPanel; public class ClientReportReference extends Composite implements ClientSequence { private final int indentationValue = 20; - + protected ArrayList groupedComponents = new ArrayList(); private VerticalPanel myPanel = new VerticalPanel(); @@ -31,7 +31,7 @@ public class ClientReportReference extends Composite implements ClientSequence { private SequenceWidget first; private Presenter p; private boolean singleRelation; //allow or not to add new entries - + /** * s * @param p @@ -42,9 +42,9 @@ public class ClientReportReference extends Composite implements ClientSequence { this.refType = refType; this.tupleList = tupleList; this.singleRelation = singleRelation; - + shrinkComponents(tupleList); //(beacuse the ref is indented - + for (Tuple seq : tupleList) { if (myPanel.getWidgetCount()==0) { // if is the first one first = getMasterSequence(seq); @@ -52,10 +52,7 @@ public class ClientReportReference extends Composite implements ClientSequence { first.removeAddAnotherButton(); myPanel.add(first); } else { - SequenceWidget seqW = new SequenceWidget(p, this, seq, false, false); - seqW.getElement().getStyle().setMarginLeft(indentationValue, Unit.PX); - seqW.getElement().getStyle().setBackgroundColor("#FFF"); - seqW.alignButtonsLeft(); + SequenceWidget seqW = getRefSequence(p, this, seq, false, false); myPanel.add(seqW); } } @@ -76,11 +73,8 @@ public class ClientReportReference extends Composite implements ClientSequence { * the first seq has to behave differently */ private SequenceWidget getMasterSequence(RepeatableSequence seq) { - SequenceWidget toReturn = new SequenceWidget(p, this, seq, true, false); - toReturn.alignButtonsLeft(); - toReturn.getElement().getStyle().setMarginLeft(indentationValue, Unit.PX); - toReturn.getElement().getStyle().setBackgroundColor("#FFF"); - + SequenceWidget toReturn = getRefSequence(p, this, seq, true, false); + if (tupleList.size() == 1) { toReturn.enableClear(); if (isTupleEmpty(tupleList.get(0))) { @@ -120,13 +114,18 @@ public class ClientReportReference extends Composite implements ClientSequence { @Override public boolean add(String id, RepeatableSequence sequence) { + //(beacuse the ref is indented + for (BasicComponent bc : sequence.getGroupedComponents()) { + bc.setWidth(bc.getWidth()-(indentationValue+5)); + } + if (first.isSelectNewEnabled()) { first = getMasterSequence(sequence); myPanel.clear(); myPanel.add(first); tupleList.clear(); } else { - SequenceWidget seqW = new SequenceWidget(p, this, sequence, false, true); + SequenceWidget seqW = getRefSequence(p, this, sequence, false, true); myPanel.add(seqW); first.hideClearAssociationButton(); } @@ -171,4 +170,16 @@ public class ClientReportReference extends Composite implements ClientSequence { public void clear() { first.clearAssociation(); } + + /** + * A Ref is a seqeunce with diffrent style (intendedm white background and less wide) + * + */ + private SequenceWidget getRefSequence(Presenter p, ClientSequence owner, RepeatableSequence repSequence, boolean notRemovable, boolean isNew) { + SequenceWidget toReturn = new SequenceWidget(p, this, repSequence, notRemovable, isNew); + toReturn.getElement().getStyle().setMarginLeft(indentationValue, Unit.PX); + toReturn.getElement().getStyle().setBackgroundColor("#FFF"); + toReturn.alignButtonsLeft(); + return toReturn; + } }