ready for testing
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@71290 82a268e6-3cf1-43bd-a215-b396298e98cf
|
@ -42,6 +42,7 @@ import org.gcube.portlets.user.reportgenerator.client.targets.Coords;
|
|||
import org.gcube.portlets.user.reportgenerator.client.targets.D4sRichTextarea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.GenericTable;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.GroupingDelimiterArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.HeadingTextArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.ReportTextArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.TSArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.TextTableImage;
|
||||
|
@ -965,8 +966,20 @@ public class Presenter {
|
|||
case HEADING_3:
|
||||
case HEADING_4:
|
||||
case HEADING_5:
|
||||
case BODY_NOT_FORMATTED:
|
||||
case TITLE:
|
||||
if (component.isLocked()) {
|
||||
HTML text = (HTML) component.getContent();
|
||||
wp.addComponentToLayout(text, component.isDoubleColLayout());
|
||||
}
|
||||
else {
|
||||
HeadingTextArea textArea = (HeadingTextArea) component.getContent();
|
||||
textArea.getMyInstance().setTop(uiY);
|
||||
textArea.getMyInstance().setLeft(uiX);
|
||||
wp.addComponentToLayout(textArea, component.isDoubleColLayout());
|
||||
}
|
||||
|
||||
break;
|
||||
case BODY_NOT_FORMATTED:
|
||||
if (component.isLocked()) {
|
||||
HTML text = (HTML) component.getContent();
|
||||
wp.addComponentToLayout(text, component.isDoubleColLayout());
|
||||
|
|
|
@ -137,8 +137,8 @@ public class ReportGenerator implements EntryPoint {
|
|||
divHidden.setStyleName("d4sFrame");
|
||||
divHidden.setWidth("750px");
|
||||
divHidden.setStyleName("d4sRichTextArea");
|
||||
divHidden.addStyleName("setVisibilityOff");
|
||||
divHidden.addStyleName("hasRichTextToolbar");
|
||||
divHidden.addStyleName("setVisibilityOff");
|
||||
|
||||
eastPanel.add(workSpacePanel);
|
||||
eastPanel.add(divHidden);
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.gcube.portlets.user.reportgenerator.client.targets.DropTSListener;
|
|||
import org.gcube.portlets.user.reportgenerator.client.targets.GenericTable;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.GroupingDelimiterArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.GroupingInnerArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.HeadingTextArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.ReportTextArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.TSArea;
|
||||
import org.gcube.portlets.user.reportgenerator.client.targets.TextTableImage;
|
||||
|
@ -167,7 +168,7 @@ public class TemplateComponent {
|
|||
|
||||
switch (sc.getType()) {
|
||||
case DYNA_IMAGE:
|
||||
ClientImage dp = new ClientImage(sc, presenter, sc.getWidth(), sc.getHeight());
|
||||
ClientImage dp = new ClientImage(sc, presenter, sc.getWidth(), sc.getHeight(), showClose, owner);
|
||||
this.content = dp;
|
||||
break;
|
||||
case HEADING_1:
|
||||
|
@ -175,8 +176,23 @@ public class TemplateComponent {
|
|||
case HEADING_3:
|
||||
case HEADING_4:
|
||||
case HEADING_5:
|
||||
case BODY_NOT_FORMATTED:
|
||||
case TITLE:
|
||||
if (sc.isLocked()) {
|
||||
HTML area = new HTML();
|
||||
area.setStyleName("report-ui-component");
|
||||
area.addStyleName(getStyle(sc.getType()));
|
||||
area.getElement().getStyle().setMarginTop(5, Unit.PX);
|
||||
area.setPixelSize(width, 18);
|
||||
area.setText((String) sc.getPossibleContent());
|
||||
this.content = area;
|
||||
}
|
||||
else {
|
||||
HeadingTextArea bToAdd = new HeadingTextArea(sc.getType(), presenter, sc.getX(), sc.getY(), width, 25, getUserComments() != null, showClose);
|
||||
bToAdd.setText((String) sc.getPossibleContent());
|
||||
this.content = bToAdd;
|
||||
}
|
||||
break;
|
||||
case BODY_NOT_FORMATTED:
|
||||
if (sc.isLocked()) {
|
||||
HTML area = new HTML();
|
||||
area.setStyleName("report-ui-component");
|
||||
|
@ -370,11 +386,18 @@ public class TemplateComponent {
|
|||
case HEADING_3:
|
||||
case HEADING_4:
|
||||
case HEADING_5:
|
||||
case BODY_NOT_FORMATTED:
|
||||
case TITLE:
|
||||
if (this.isLocked()) {
|
||||
content = ((HTML) this.content).getText();
|
||||
|
||||
}
|
||||
else
|
||||
content = ((HeadingTextArea) this.content).getText();
|
||||
break;
|
||||
case BODY_NOT_FORMATTED:
|
||||
if (this.isLocked()) {
|
||||
content = ((HTML) this.content).getText();
|
||||
|
||||
}
|
||||
else
|
||||
content = ((BasicTextArea) this.content).getText();
|
||||
|
|
|
@ -24,6 +24,8 @@ import com.google.gwt.user.client.ui.Widget;
|
|||
*/
|
||||
public class BasicTextArea extends ReportTextArea {
|
||||
private RichTextArea textArea = new RichTextArea();
|
||||
//private TextArea textArea = new TextArea();
|
||||
|
||||
private VerticalPanel myPanel;
|
||||
|
||||
int currHeight = 0;
|
||||
|
@ -46,31 +48,10 @@ public class BasicTextArea extends ReportTextArea {
|
|||
}
|
||||
});
|
||||
textArea.setStyleName("report-ui-component");
|
||||
|
||||
|
||||
switch (type) {
|
||||
case TITLE:
|
||||
textArea.addStyleName("title");
|
||||
myPanel.setTitle("Title");
|
||||
break;
|
||||
case HEADING_1:
|
||||
textArea.addStyleName("heading1");
|
||||
myPanel.setTitle("Heading: Level 1");
|
||||
break;
|
||||
case HEADING_2:
|
||||
textArea.addStyleName("heading2");
|
||||
myPanel.setTitle("Heading Level 2");
|
||||
break;
|
||||
case HEADING_3:
|
||||
textArea.addStyleName("heading3");
|
||||
myPanel.setTitle("Heading: Level 3");
|
||||
break;
|
||||
case HEADING_4:
|
||||
textArea.addStyleName("heading4");
|
||||
myPanel.setTitle("Heading: Level 4");
|
||||
break;
|
||||
case HEADING_5:
|
||||
textArea.addStyleName("heading5");
|
||||
myPanel.setTitle("Heading: Level 5");
|
||||
break;
|
||||
|
||||
case BODY_NOT_FORMATTED:
|
||||
textArea.addStyleName("simpleText");
|
||||
myPanel.setTitle("Simple text");
|
||||
|
@ -95,11 +76,11 @@ public class BasicTextArea extends ReportTextArea {
|
|||
HTML div = ReportGenerator.get().getDivHidden();
|
||||
div.setHTML(textArea.getHTML());
|
||||
int newHeight = div.getOffsetHeight();
|
||||
if (newHeight > currHeight) {
|
||||
|
||||
resizePanel(width, newHeight);
|
||||
presenter.resizeTemplateComponentInModel(myInstance, width, newHeight);
|
||||
currHeight = newHeight;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -108,11 +89,11 @@ public class BasicTextArea extends ReportTextArea {
|
|||
HTML div = ReportGenerator.get().getDivHidden();
|
||||
div.setHTML(textArea.getHTML());
|
||||
int newHeight = div.getOffsetHeight();
|
||||
if (newHeight > currHeight) {
|
||||
|
||||
resizePanel(width, newHeight);
|
||||
presenter.resizeTemplateComponentInModel(myInstance, width, newHeight);
|
||||
currHeight = newHeight;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -120,8 +101,14 @@ public class BasicTextArea extends ReportTextArea {
|
|||
public String getText() {
|
||||
return textArea.getText();
|
||||
}
|
||||
|
||||
public void setText(String text) {
|
||||
textArea.setText(text);
|
||||
|
||||
}
|
||||
|
||||
public RichTextArea getRichTextArea() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,6 +19,7 @@ import org.gcube.portlets.user.workspace.lighttree.client.load.WorkspaceLightTre
|
|||
|
||||
import com.google.gwt.core.client.GWT;
|
||||
import com.google.gwt.core.client.RunAsyncCallback;
|
||||
import com.google.gwt.dom.client.Style.Unit;
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.dom.client.MouseOutEvent;
|
||||
|
@ -63,17 +64,17 @@ public class ClientImage extends Composite {
|
|||
private String currentUser;
|
||||
private String currentScope;
|
||||
|
||||
private final int DEFAULT_HEIGHT = 100;
|
||||
private final int DEFAULT_WIDTH = 700;
|
||||
public static final int DEFAULT_HEIGHT = 100;
|
||||
public static final int DEFAULT_WIDTH = 700;
|
||||
|
||||
private TextBox titleTB = new TextBox();
|
||||
private TextBox descTB = new TextBox();
|
||||
private TextBox sourceTB = new TextBox();
|
||||
|
||||
private Button resetB = new Button("Reset Image");
|
||||
private Button resetB = new Button("Clear");
|
||||
private Button addImageB = new Button("Select Image");
|
||||
private Button uploadImageB = new Button("Upload Image");
|
||||
|
||||
private Button removeB = new Button("Remove Image");
|
||||
private BasicComponent basicComponent;
|
||||
/**
|
||||
*
|
||||
|
@ -81,12 +82,12 @@ public class ClientImage extends Composite {
|
|||
* @param width
|
||||
* @param tag
|
||||
*/
|
||||
public ClientImage(BasicComponent co, Presenter presenter, int width, int height) {
|
||||
public ClientImage(BasicComponent co, Presenter presenter, int width, int height, boolean isRemovable, TextTableImage owner) {
|
||||
imageHeight = height;
|
||||
imageWidth = width;
|
||||
this.presenter = presenter;
|
||||
this.basicComponent = co;
|
||||
HorizontalPanel controlPanel = getControlPanel();
|
||||
HorizontalPanel controlPanel = getControlPanel(isRemovable, owner);
|
||||
VerticalPanel attributesPanel = getAttributesPanel(co);
|
||||
mainPanel.add(controlPanel);
|
||||
mainPanel.add(imagePanel);
|
||||
|
@ -119,6 +120,11 @@ public class ClientImage extends Composite {
|
|||
b.addStyleName("tableButton");
|
||||
}
|
||||
}
|
||||
if (isRemovable) {
|
||||
removeB.removeStyleName("tableButton");
|
||||
removeB.addStyleName("deleteEntryButton");
|
||||
removeB.getElement().getStyle().setMarginRight(10, Unit.PX);
|
||||
}
|
||||
|
||||
focusPanel.add(mainPanel);
|
||||
initWidget(focusPanel);
|
||||
|
@ -131,9 +137,18 @@ public class ClientImage extends Composite {
|
|||
});
|
||||
}
|
||||
|
||||
private HorizontalPanel getControlPanel() {
|
||||
private HorizontalPanel getControlPanel(boolean isRemovable, final TextTableImage owner) {
|
||||
final HorizontalPanel toReturn = new HorizontalPanel();
|
||||
|
||||
removeB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
if (owner != null) {
|
||||
remove(owner);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
resetB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
@ -160,7 +175,8 @@ public class ClientImage extends Composite {
|
|||
});
|
||||
|
||||
toReturn.setSpacing(3);
|
||||
|
||||
if (isRemovable)
|
||||
toReturn.add(removeB);
|
||||
toReturn.add(resetB);
|
||||
toReturn.add(uploadImageB);
|
||||
toReturn.add(addImageB);
|
||||
|
@ -399,5 +415,12 @@ public class ClientImage extends Composite {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* helper method that removes a image from the textTableImage widget
|
||||
* @param owner
|
||||
*/
|
||||
private void remove(TextTableImage owner) {
|
||||
owner.removeFromParent(this);
|
||||
removeFromParent();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
package org.gcube.portlets.user.reportgenerator.client.targets;
|
||||
|
||||
import org.gcube.portlets.d4sreporting.common.shared.ComponentType;
|
||||
import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter;
|
||||
|
||||
import com.google.gwt.event.dom.client.MouseOutEvent;
|
||||
import com.google.gwt.event.dom.client.MouseOutHandler;
|
||||
import com.google.gwt.user.client.ui.HasVerticalAlignment;
|
||||
import com.google.gwt.user.client.ui.TextArea;
|
||||
import com.google.gwt.user.client.ui.VerticalPanel;
|
||||
import com.google.gwt.user.client.ui.Widget;
|
||||
/**
|
||||
* <code> HeadingTextArea </code>
|
||||
*
|
||||
* @author Massimiliano Assante, ISTI-CNR - massimiliano.assante@isti.cnr.it
|
||||
* @version July 2011 (3.0)
|
||||
*/
|
||||
public class HeadingTextArea extends ReportTextArea {
|
||||
private TextArea textArea = new TextArea();
|
||||
private VerticalPanel myPanel;
|
||||
private Presenter presenter;
|
||||
|
||||
int currHeight = 0;
|
||||
|
||||
|
||||
public HeadingTextArea(ComponentType type, final Presenter presenter, int left, int top, int width, final int height, boolean hasComments, boolean showClose) {
|
||||
super(type, presenter, left, top, width, height, hasComments, showClose);
|
||||
this.presenter = presenter;
|
||||
myPanel = getResizablePanel();
|
||||
|
||||
textArea.setPixelSize(width, height);
|
||||
|
||||
textArea.addMouseOutHandler(new MouseOutHandler() {
|
||||
|
||||
public void onMouseOut(MouseOutEvent event) {
|
||||
presenter.storeChangeInSession((Widget) event.getSource());
|
||||
}
|
||||
});
|
||||
textArea.setStyleName("report-ui-component");
|
||||
switch (type) {
|
||||
case TITLE:
|
||||
textArea.addStyleName("title");
|
||||
myPanel.setTitle("Title");
|
||||
resizePanel(width, 30);
|
||||
break;
|
||||
case HEADING_1:
|
||||
textArea.addStyleName("heading1");
|
||||
myPanel.setTitle("Heading: Level 1");
|
||||
break;
|
||||
case HEADING_2:
|
||||
textArea.addStyleName("heading2");
|
||||
myPanel.setTitle("Heading Level 2");
|
||||
break;
|
||||
case HEADING_3:
|
||||
textArea.addStyleName("heading3");
|
||||
myPanel.setTitle("Heading: Level 3");
|
||||
break;
|
||||
case HEADING_4:
|
||||
textArea.addStyleName("heading4");
|
||||
myPanel.setTitle("Heading: Level 4");
|
||||
break;
|
||||
case HEADING_5:
|
||||
textArea.addStyleName("heading5");
|
||||
myPanel.setTitle("Heading: Level 5");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
myPanel.add(textArea);
|
||||
myPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_BOTTOM);
|
||||
myPanel.setPixelSize(width, height);
|
||||
|
||||
textArea.addMouseOutHandler(new MouseOutHandler() {
|
||||
|
||||
public void onMouseOut(MouseOutEvent event) {
|
||||
presenter.storeChangeInSession((Widget) event.getSource());
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
public String getText() {
|
||||
return textArea.getText();
|
||||
}
|
||||
public void setText(String text) {
|
||||
textArea.setText(text);
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -23,8 +23,8 @@ public class SequenceWidget extends Composite {
|
|||
|
||||
private VerticalPanel myPanel;
|
||||
|
||||
private Button addAnotherB = new Button("Add another entry");
|
||||
private Button removeThisB = new Button("Remove this entry");
|
||||
private Button addAnotherB = new Button("Add another Entry");
|
||||
private Button removeThisB = new Button("Remove Entry");
|
||||
private Presenter p;
|
||||
private HorizontalPanel buttonPanel = new HorizontalPanel();
|
||||
HorizontalPanel buttonsWrapperPanel = new HorizontalPanel();
|
||||
|
@ -37,8 +37,7 @@ public class SequenceWidget extends Composite {
|
|||
this.owner = owner;
|
||||
this.repSequence = repSequence;
|
||||
addAnotherB.getElement().getStyle().setMargin(10, Unit.PX);
|
||||
addAnotherB.getElement().getStyle().setHeight(30, Unit.PX);
|
||||
addAnotherB.getElement().getStyle().setWidth(180, Unit.PX);
|
||||
addAnotherB.getElement().getStyle().setWidth(130, Unit.PX);
|
||||
addAnotherB.addStyleName("addEntryButton");
|
||||
myPanel = new VerticalPanel();
|
||||
myPanel.setHorizontalAlignment(HasAlignment.ALIGN_LEFT);
|
||||
|
@ -76,9 +75,9 @@ public class SequenceWidget extends Composite {
|
|||
});
|
||||
}
|
||||
else {
|
||||
|
||||
removeThisB.getElement().getStyle().setWidth(130, Unit.PX);
|
||||
removeThisB.getElement().getStyle().setMargin(10, Unit.PX);
|
||||
removeThisB.getElement().getStyle().setHeight(30, Unit.PX);
|
||||
removeThisB.getElement().getStyle().setWidth(180, Unit.PX);
|
||||
removeThisB.addStyleName("deleteEntryButton");
|
||||
buttonsWrapperPanel.add(removeThisB);
|
||||
|
||||
|
@ -88,6 +87,14 @@ public class SequenceWidget extends Composite {
|
|||
removeMe();
|
||||
}
|
||||
});
|
||||
|
||||
buttonsWrapperPanel.add(addAnotherB);
|
||||
addAnotherB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
addAnother();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
package org.gcube.portlets.user.reportgenerator.client.targets;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.d4sreporting.common.shared.BasicComponent;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.ComponentType;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.Metadata;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.RepeatableSequence;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.Table;
|
||||
import org.gcube.portlets.d4sreporting.common.shared.TableCell;
|
||||
|
@ -104,6 +106,16 @@ public class TextTableImage extends Composite {
|
|||
add(toAdd);
|
||||
}
|
||||
|
||||
private void addNewImage() {
|
||||
List<Metadata> emptyMetadata = new ArrayList<Metadata>();
|
||||
BasicComponent serImage = new BasicComponent(0, 0, ClientImage.DEFAULT_WIDTH, ClientImage.DEFAULT_HEIGHT,
|
||||
presenter.getModel().getCurrentPage(), ComponentType.DYNA_IMAGE, "", "", false, false, emptyMetadata);
|
||||
ClientImage dp = new ClientImage(serImage, presenter, ClientImage.DEFAULT_WIDTH, ClientImage.DEFAULT_HEIGHT, true, this);
|
||||
TemplateComponent toAdd = new TemplateComponent(presenter.getModel(), 0, 0, DEFAULT_WIDTH, GenericTable.DEFAULT_HEIGHT,
|
||||
presenter.getModel().getCurrentPage(), ComponentType.DYNA_IMAGE, "", dp);
|
||||
add(toAdd);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
|
@ -142,7 +154,7 @@ public class TextTableImage extends Composite {
|
|||
addImageB.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
|
||||
addNewImage();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -65,6 +65,10 @@
|
|||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.imageTableTextDelimiter {
|
||||
border-bottom: 1px inset #336699;
|
||||
width: 700px;
|
||||
}
|
||||
|
||||
.imageWrapperPanel {
|
||||
background-color: transparent;
|
||||
|
@ -374,7 +378,7 @@ tableBorder td {
|
|||
|
||||
.heading2 {
|
||||
background-image: url(images/heading_2.png);
|
||||
font-size: 13pt;
|
||||
font-size: 12pt;
|
||||
}
|
||||
|
||||
.heading2-label {
|
||||
|
@ -386,17 +390,17 @@ tableBorder td {
|
|||
.heading3 {
|
||||
background-image: url(images/heading_3.png);
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.heading3-label{
|
||||
font-size: 10pt;
|
||||
padding-left: 2px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.heading4 {
|
||||
background-image: url(images/heading_4.png);
|
||||
font-size: 9pt;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.heading4-label{
|
||||
|
@ -406,7 +410,7 @@ tableBorder td {
|
|||
|
||||
.heading5 {
|
||||
background-image: url(images/heading_5.png);
|
||||
font-size: 8pt;
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.heading5-label{
|
||||
|
|
Before Width: | Height: | Size: 1002 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1023 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1021 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1018 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |