Modified:
branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/JsonUtil.java
branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/screen/UnfiledDocuments.java
branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/widget/DocumentThumbnailsWidget.java
Log:
Feature #8: Added multiple pages selection for split.
Modified: branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/JsonUtil.java
===================================================================
--- branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/JsonUtil.java 2010-03-12 17:03:35 UTC (rev 5293)
+++ branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/JsonUtil.java 2010-03-12 17:16:27 UTC (rev 5294)
@@ -169,6 +169,13 @@
}
return out.toString();
}
+ if (o instanceof Integer[] && (((Integer[]) o) != null)) {
+ JSONArray out = new JSONArray();
+ for (int iter = 0; iter < ((Integer[]) o).length; iter++) {
+ out.set(iter, new JSONNumber(((Integer[]) o)[iter]));
+ }
+ return out.toString();
+ }
}
// All else fails, return ""
Modified: branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/screen/UnfiledDocuments.java
===================================================================
--- branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/screen/UnfiledDocuments.java 2010-03-12 17:03:35 UTC (rev 5293)
+++ branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/screen/UnfiledDocuments.java 2010-03-12 17:16:27 UTC (rev 5294)
@@ -303,13 +303,12 @@
}
@Override
public void jsonifiedData(Object data) {
- int pNo=new Integer(data.toString());
- if(pNo==0)
- {
- loadData();
+ if(data instanceof Integer) {
+ loadData();
}
- else
- splitBatch(pNo);
+ else if(data instanceof Integer[]) {
+ splitBatch((Integer[])data);
+ }
}
});
@@ -584,10 +583,10 @@
}
}
- public void splitBatch(int pageNo)
+ public void splitBatch(Integer [] pageNos)
{
if (Util.getProgramMode() == ProgramMode.JSONRPC) {
- String[] params = { currentId.toString(),pageNo+"" };
+ String[] params = { currentId.toString(),JsonUtil.jsonify(pageNos) };
RequestBuilder builder = new RequestBuilder(
RequestBuilder.POST,
URL
Modified: branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/widget/DocumentThumbnailsWidget.java
===================================================================
--- branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/widget/DocumentThumbnailsWidget.java 2010-03-12 17:03:35 UTC (rev 5293)
+++ branches/bmas-staging/ui/gwt/src/org/freemedsoftware/gwt/client/widget/DocumentThumbnailsWidget.java 2010-03-12 17:16:27 UTC (rev 5294)
@@ -1,6 +1,8 @@
package org.freemedsoftware.gwt.client.widget;
+import java.util.ArrayList;
+
import org.freemedsoftware.gwt.client.CustomRequestCallback;
import org.freemedsoftware.gwt.client.JsonUtil;
@@ -12,6 +14,7 @@
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -28,6 +31,7 @@
final int ROWS_PER_SCREEN=2;
int selectedPage=0;
CustomRequestCallback callBack=null;
+ CheckBox [] cbPages;
public DocumentThumbnailsWidget(DjvuViewer dv, CustomRequestCallback c) {
callBack=c;
djviewer=dv;
@@ -51,6 +55,10 @@
}
startcount=0;
endcount=0;
+ cbPages=new CheckBox[djviewer.getPageCount()];
+ for(int i=0;i<cbPages.length;i++){
+ cbPages[i]=new CheckBox("Page "+(i+1));
+ }
if(djviewer.getPageCount()>PAGES_PER_SCREEN){
endcount=PAGES_PER_SCREEN;
}
@@ -104,6 +112,25 @@
hp.add(viewNext);
}
+ final Button SplitBtn=new Button("Split");
+ SplitBtn.addClickHandler(new ClickHandler() {
+
+ @Override
+ public void onClick(ClickEvent arg0) {
+ Integer [] pNos= new Integer[djviewer.getPageCount()];
+ for(int i=0;i<djviewer.getPageCount();i++){
+ if(cbPages[i].getValue()){
+ pNos[i]=1;
+ }
+ else{
+ pNos[i]=0;
+ }
+
+ }
+ callBack.jsonifiedData(pNos);
+ }
+ });
+
final Button cancelBtn=new Button("Cancel");
cancelBtn.addClickHandler(new ClickHandler() {
@@ -112,6 +139,7 @@
callBack.jsonifiedData(0);
}
});
+ hp.add(SplitBtn);
hp.add(cancelBtn);
vPanel.add(hp);
@@ -134,18 +162,10 @@
{
final Image im=djviewer.getPageThumbnail(i+1);
- im.addClickHandler(new ClickHandler(){
- public void onClick(ClickEvent e){
- selectedPage=index+1;
- callBack.jsonifiedData(selectedPage);
- }
- });
thumbnails[counter].add(im);
-
- Label l=new Label("Page "+(i+1));
//l.setWidth("auto");
- l.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
- thumbnails[counter].add(l);
+ //l.setHorizontalAlignment(HorizontalPanel.ALIGN_CENTER);
+ thumbnails[counter].add(cbPages[i]);
}
catch(Exception e){
JsonUtil.debug(e.getMessage());