annotate src/econnect/wp3_3/client/widgets/table/DynamicStiTable.java @ 71:a610b45d0f90 trimmed_data

Allow HTML in all Cells
author Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
date Fri, 11 Jan 2013 09:41:16 +0100
parents ea856995abac
children caca95f925cc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
1 package econnect.wp3_3.client.widgets.table;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
2
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
3 import java.util.ArrayList;
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
4 import java.util.Comparator;
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
5 import java.util.List;
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
6
69
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
7 import com.google.gwt.safehtml.shared.SafeHtml;
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
8 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
9 import com.google.gwt.user.cellview.client.CellTable;
69
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
10 import com.google.gwt.user.cellview.client.Column;
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
11 import com.google.gwt.user.cellview.client.ColumnSortEvent.ListHandler;
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
12 import com.google.gwt.user.cellview.client.SimplePager;
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
13 import com.google.gwt.user.cellview.client.TextColumn;
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
14 import com.google.gwt.user.client.rpc.AsyncCallback;
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
15 import com.google.gwt.user.client.ui.Anchor;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
16 import com.google.gwt.user.client.ui.Button;
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
17 import com.google.gwt.user.client.ui.FormPanel;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
18 import com.google.gwt.user.client.ui.Grid;
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
19 import com.google.gwt.user.client.ui.Hidden;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
20 import com.google.gwt.user.client.ui.Image;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
21 import com.google.gwt.user.client.ui.Label;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
22 import com.google.gwt.user.client.ui.HTML;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
23 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
24 import com.google.gwt.user.client.ui.TextBox;
52
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
25 import com.google.gwt.view.client.CellPreviewEvent;
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
26 import com.google.gwt.view.client.CellPreviewEvent.Handler;
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
27 import com.google.gwt.view.client.ListDataProvider;
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
28 import com.google.gwt.view.client.Range;
54
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
29 import com.google.gwt.view.client.RangeChangeEvent;
69
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
30 import com.google.gwt.cell.client.SafeHtmlCell;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
31 import com.google.gwt.core.client.GWT;
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
32 import com.google.gwt.core.client.JsArrayString;
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
33 import com.google.gwt.dom.client.NodeList;
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
34 import com.google.gwt.dom.client.Style.BorderStyle;
64
aa1808d94d80 Make table always take 100% width, so page switches don't alter the layout
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 59
diff changeset
35 import com.google.gwt.dom.client.Style.Unit;
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
36 import com.google.gwt.dom.client.TableCellElement;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
37 import com.google.gwt.event.dom.client.ClickHandler;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
38 import com.google.gwt.event.dom.client.ClickEvent;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
39 import com.google.gwt.event.dom.client.MouseOutEvent;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
40 import com.google.gwt.event.dom.client.MouseOverEvent;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
41 import com.google.gwt.event.dom.client.MouseOverHandler;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
42 import com.google.gwt.event.dom.client.MouseOutHandler;
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
43 import com.google.gwt.http.client.URL;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
44
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
45 import econnect.wp3_3.client.core.ApplicationConstants;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
46 import econnect.wp3_3.client.core.DataObject;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
47 import econnect.wp3_3.client.core.DataSet;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
48 import econnect.wp3_3.client.core.StiConstants;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
49 import econnect.wp3_3.client.core.StiCore;
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
50 import econnect.wp3_3.client.services.ExportWriterInterface;
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
51 import econnect.wp3_3.client.services.ExportWriterInterfaceAsync;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
52
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
53 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
54 * Implementation of a dynamic table for one dataset
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
55 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
56 public class DynamicStiTable extends Grid {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
57
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
58 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
59 * The maximum number of rows of the table
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
60 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
61 private int maxRows = 10;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
62
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
63 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
64 * The sti core component
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
65 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
66 private StiCore core;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
67
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
68 /**
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
69 * The index of the dataset
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
70 */
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
71 private int index;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
72
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
73 /**
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
74 * The dataset of this dynamic table
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
75 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
76 private DataSet dataSet;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
77
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
78 /**
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
79 * ArrayList that holds all elements that can be shown
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
80 * (smaller than "dataSet" if showSelected)
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
81 */
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
82 private ArrayList<DataObject> actualObjectSet;
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
83
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
84 /**
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
85 * Provider that hands the data to the table
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
86 */
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
87 private ListDataProvider<DataObject> dataProvider;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
88
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
89 /**
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
90 * CellTable which displays the data
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
91 */
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
92 private CellTable<DataObject> elementsTable;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
93
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
94 /**
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
95 * The dataobjects, which are presented at the actual page
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
96 */
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
97 //private DataObject[][] displayedObjects;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
98
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
99 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
100 * The number-of-results label
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
101 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
102 private Label results;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
103
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
104 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
105 * The image for show selected elements
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
106 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
107 private Image showSelected;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
108
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
109 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
110 * The image for show all elements
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
111 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
112 private Image showAll;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
113
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
114 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
115 * This value tells the view status: 1 for showAll, -1 for showSelected, 0 otherwise
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
116 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
117 private int viewAll = 1;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
118
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
119 /**
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
120 * Anchor that holds the URL for the KML download
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
121 */
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
122 private Anchor aDownloadKML;
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
123
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
124 /**
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
125 * RPC Interface for writing the KML file
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
126 */
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
127 private ExportWriterInterfaceAsync exportWriter;
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
128
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
129 /**
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
130 * Constructor for initialization of the dynamic table
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
131 *
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
132 * @param core object to allow interaction with all javascript components
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
133 * @param id id of the dataset
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
134 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
135 public DynamicStiTable( StiCore stiCore, final int id ){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
136
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
137 final ApplicationConstants constants = (ApplicationConstants) GWT.create(ApplicationConstants.class);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
138 final StiConstants textConstants = (StiConstants) GWT.create(StiConstants.class);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
139
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
140 this.resize(2,1);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
141 this.addStyleName("dataTable");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
142 this.addStyleName("center");
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
143
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
144 this.index = id;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
145 this.core = stiCore;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
146 this.dataSet = core.getDataSets().get(index);
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
147 this.actualObjectSet = new ArrayList<DataObject>();
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
148 setActualObjectSet();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
149
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
150 showAll = new Image("images/viewAll"+(core.getColorId(index))+".png");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
151 showAll.setTitle(textConstants.showAll());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
152 showSelected = new Image("images/viewSelected"+(core.getColorId(index))+".png");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
153 showSelected.setTitle(textConstants.showSelected());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
154 showAll.addStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
155 showAll.addStyleName("view");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
156 showSelected.addStyleName("view");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
157 showAll.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
158 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
159 if( viewAll != 1 ){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
160 showSelected.removeStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
161 showAll.addStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
162 viewAll = 1;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
163 setActualObjectSet();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
164 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
165 }
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
166 });
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
167 showSelected.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
168 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
169 if( viewAll != -1 ){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
170 viewAll = -1;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
171 if( setActualObjectSet() ){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
172 showAll.removeStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
173 showSelected.addStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
174 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
175 else {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
176 viewAll = 1;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
177 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
178 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
179 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
180 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
181
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
182 Image storeSelected = new Image("images/storeSelected"+(core.getColorId(index))+".png");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
183 storeSelected.setTitle(textConstants.storeSelected());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
184 storeSelected.addStyleName("view");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
185 storeSelected.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
186 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
187 core.storeSelected(id);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
188 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
189 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
190
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
191 Grid showOptions = new Grid(1,3);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
192 showOptions.setWidget(0,0,showAll);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
193 showOptions.setWidget(0,1,showSelected);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
194 showOptions.setWidget(0,2,storeSelected);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
195
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
196 final TextBox textualSearch = new TextBox();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
197 final Button search = new Button("go");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
198 final Image cancelImage = new Image(constants.cancelImage());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
199 final Image refineImage = new Image(constants.refineImage());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
200 final Grid buttons = new Grid(1,2);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
201 buttons.setWidget(0, 0, refineImage);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
202 buttons.setWidget(0, 1, cancelImage);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
203 final Grid refine = new Grid(1,3);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
204 refine.setWidget(0,0,textualSearch);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
205 refine.setWidget(0,1,search);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
206 search.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
207 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
208 if( !textualSearch.getText().equals("") ){
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
209 refineByText(textualSearch.getText());
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
210 textualSearch.setEnabled(false);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
211 refine.setWidget(0, 1, buttons);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
212 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
213 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
214 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
215 refineImage.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
216 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
217 core.refine();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
218 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
219 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
220 cancelImage.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
221 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
222 textualSearch.setEnabled(true);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
223 core.reset();
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
224
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
225 //TODO: das gibt es nun mehrfach im Code, sollte also in eine Funktion
46
a8741feea7c6 fixed comment (charset issue)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 45
diff changeset
226 //überfuhrt werden
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
227 showSelected.removeStyleName("selectedView");
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
228 showAll.addStyleName("selectedView");
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
229 viewAll = 1;
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
230 setActualObjectSet();
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
231
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
232 refine.setWidget(0, 1, search);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
233 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
234 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
235
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
236 this.results = new Label();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
237 this.results.setStyleName("resultsLabel");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
238
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
239 Label page = new Label(textConstants.page()+":");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
240 page.setStyleName("pageLabel");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
241
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
242 //This anchor will hold the URL of the export-file
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
243 //for download from the ExportServlet
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
244 aDownloadKML = new Anchor("download KML");
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
245 aDownloadKML.setVisible(false);
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
246 aDownloadKML.addClickHandler(new ClickHandler() {
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
247 public void onClick(ClickEvent event) {
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
248 aDownloadKML.setVisible(false);
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
249 }
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
250 });
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
251
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
252 Image export = new Image(constants.exportImage());
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
253 export.addClickHandler(new ClickHandler() {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
254 public void onClick(ClickEvent event) {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
255 //create KML file
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
256 createKMLFile();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
257 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
258 });
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
259 export.addStyleName("export");
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
260 export.setTitle(textConstants.exportDataSet());
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
261
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
262 Image delete = new Image(constants.deleteImage());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
263 delete.addClickHandler(new ClickHandler() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
264 public void onClick(ClickEvent event) {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
265 core.deleteDataSet(index);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
266 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
267 });
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
268 delete.addStyleName("delete");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
269 delete.setTitle(textConstants.deleteDataSet());
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
270
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
271 Grid func = new Grid(1,3);
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
272
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
273 func.setWidget(0, 0, aDownloadKML);
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
274 func.setWidget(0, 1, export);
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
275 func.setWidget(0, 2, delete);
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
276 func.addStyleName("center");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
277
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
278 this.elementsTable = new CellTable<DataObject>();
64
aa1808d94d80 Make table always take 100% width, so page switches don't alter the layout
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 59
diff changeset
279 elementsTable.getElement().getStyle().setWidth(100, Unit.PCT);
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
280
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
281 dataProvider = new ListDataProvider<DataObject>();
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
282 dataProvider.addDataDisplay(this.elementsTable);
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
283
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
284 TextColumn<DataObject> nameColumn = new TextColumn<DataObject>() {
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
285 @Override
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
286 public String getValue(DataObject object) {
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
287 return object.getName();
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
288 }
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
289 };
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
290 nameColumn.setSortable(true);
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
291 this.elementsTable.addColumn(nameColumn, "Name");
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
292
51
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
293 TextColumn<DataObject> placeColumn = new TextColumn<DataObject>() {
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
294 @Override
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
295 public String getValue(DataObject object) {
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
296 return object.getPlace();
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
297 }
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
298 };
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
299 placeColumn.setSortable(true);
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
300 this.elementsTable.addColumn(placeColumn, "Place");
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
301
69
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
302 SafeHtmlCell descriptionCell = new SafeHtmlCell();
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
303
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
304 Column<DataObject, SafeHtml> descriptionColumn = new Column<DataObject, SafeHtml>(descriptionCell) {
51
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
305 @Override
69
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
306 public SafeHtml getValue(DataObject object) {
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
307 SafeHtmlBuilder sb = new SafeHtmlBuilder();
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
308 sb.appendHtmlConstant(object.getDescription());
ea856995abac Allow HTML in Description field
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 68
diff changeset
309 return sb.toSafeHtml();
51
5d401f5c6433 Added place and description column
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 48
diff changeset
310 }
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
311 };
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
312 descriptionColumn.setSortable(true);
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
313 this.elementsTable.addColumn(descriptionColumn, "Description");
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
314
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
315 SimplePager pager = new SimplePager();
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
316 pager.setDisplay(this.elementsTable);
54
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
317
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
318 dataProvider.setList(this.actualObjectSet);
58
39b4d5d590ba Add comment for page change handler. (Redrawing of colors)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 57
diff changeset
319
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
320 //The actual (at this time lexicographical) sorting routine.
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
321 //TODO: remove redundant code, make this more abstract
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
322 ListHandler<DataObject> columnSortHandler = new ListHandler<econnect.wp3_3.client.core.DataObject>(dataProvider.getList());
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
323
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
324 JsArrayString descriptionDataColumns = this.dataSet.getDescriptionDataColumns();
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
325 for (int i = 0; i < descriptionDataColumns.length(); i++) {
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
326 final String columnName = descriptionDataColumns.get(i);
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
327
71
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
328 SafeHtmlCell htmlCell = new SafeHtmlCell();
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
329
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
330 Column<DataObject, SafeHtml> column = new Column<DataObject, SafeHtml>(htmlCell) {
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
331 @Override
71
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
332 public SafeHtml getValue(DataObject object) {
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
333 SafeHtmlBuilder sb = new SafeHtmlBuilder();
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
334 sb.appendHtmlConstant(object.getDescriptionData(columnName));
a610b45d0f90 Allow HTML in all Cells
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 69
diff changeset
335 return sb.toSafeHtml();
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
336 }
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
337 };
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
338
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
339 column.setSortable(true);
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
340
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
341 columnSortHandler.setComparator(column,
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
342 new Comparator<econnect.wp3_3.client.core.DataObject>() {
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
343 public int compare(econnect.wp3_3.client.core.DataObject o1, econnect.wp3_3.client.core.DataObject o2) {
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
344 if (o1 == o2)
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
345 return 0;
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
346
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
347 if (o1 != null)
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
348 return (o2 != null) ? o1.getDescriptionData(columnName).compareTo(o2.getDescriptionData(columnName)) : 1;
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
349
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
350 return -1;
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
351 }
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
352 });
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
353
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
354 this.elementsTable.addColumn(column, columnName);
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
355 }
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
356
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
357 columnSortHandler.setComparator(nameColumn,
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
358 new Comparator<econnect.wp3_3.client.core.DataObject>() {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
359 public int compare(econnect.wp3_3.client.core.DataObject o1, econnect.wp3_3.client.core.DataObject o2) {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
360 if (o1 == o2)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
361 return 0;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
362
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
363 if (o1 != null)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
364 return (o2 != null) ? o1.getName().compareTo(o2.getName()) : 1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
365
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
366 return -1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
367 }
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
368 });
68
8b58d9bc0bb6 add functionality for additional tabular data from the description field (work in progress)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 64
diff changeset
369
59
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
370 columnSortHandler.setComparator(placeColumn,
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
371 new Comparator<econnect.wp3_3.client.core.DataObject>() {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
372 public int compare(econnect.wp3_3.client.core.DataObject o1, econnect.wp3_3.client.core.DataObject o2) {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
373 if (o1 == o2)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
374 return 0;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
375
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
376 if (o1 != null)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
377 return (o2 != null) ? o1.getPlace().compareTo(o2.getPlace()) : 1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
378
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
379 return -1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
380 }
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
381 });
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
382 columnSortHandler.setComparator(descriptionColumn,
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
383 new Comparator<econnect.wp3_3.client.core.DataObject>() {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
384 public int compare(econnect.wp3_3.client.core.DataObject o1, econnect.wp3_3.client.core.DataObject o2) {
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
385 if (o1 == o2)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
386 return 0;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
387
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
388 if (o1 != null)
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
389 return (o2 != null) ? o1.getDescription().compareTo(o2.getDescription()) : 1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
390
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
391 return -1;
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
392 }
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
393 });
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
394 this.elementsTable.addColumnSortHandler(columnSortHandler);
3a7691d29566 Sorting of the columns in the CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 58
diff changeset
395
58
39b4d5d590ba Add comment for page change handler. (Redrawing of colors)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 57
diff changeset
396 //Redraw row colors on page change
54
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
397 this.elementsTable.addRangeChangeHandler(new RangeChangeEvent.Handler(){
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
398 public void onRangeChange(RangeChangeEvent event){
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
399 updateView(false);
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
400 }
5c51a488c822 fix: add missing refresh of highlights on range change of table
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 53
diff changeset
401 });
40
20eb7596d466 Preparation for a switch to a CellTable.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 30
diff changeset
402
55
08ae8b6d627f Set column width of CellTable. So they always fill up 100% and page changes dont alter the layout.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
403 this.elementsTable.setColumnWidth(nameColumn, "33%");
08ae8b6d627f Set column width of CellTable. So they always fill up 100% and page changes dont alter the layout.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
404 this.elementsTable.setColumnWidth(placeColumn, "33%");
08ae8b6d627f Set column width of CellTable. So they always fill up 100% and page changes dont alter the layout.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
405 this.elementsTable.setColumnWidth(descriptionColumn, "33%");
08ae8b6d627f Set column width of CellTable. So they always fill up 100% and page changes dont alter the layout.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 54
diff changeset
406
57
cd79dc467688 Add comment for highlighting code
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 55
diff changeset
407 //This handler adds the hover-functionality to the table,
cd79dc467688 Add comment for highlighting code
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 55
diff changeset
408 //basically highlighting of rows (and in the map/timeplot)
52
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
409 this.elementsTable.addCellPreviewHandler(new Handler<DataObject>()
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
410 {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
411 //@Override
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
412 public void onCellPreview(
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
413 CellPreviewEvent<DataObject> event)
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
414 {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
415 boolean wasChanged = false;
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
416
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
417 if ("mouseover".equals(event.getNativeEvent().getType())) {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
418 DataObject hoveredObject = event.getValue();
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
419
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
420 if (!hoveredObject.getHover()){
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
421 hoveredObject.setHover(true);
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
422
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
423 wasChanged = true;
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
424 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
425 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
426 else if ("mouseout".equals(event.getNativeEvent().getType())) {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
427 DataObject hoveredObject = event.getValue();
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
428
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
429 if (hoveredObject.getHover()){
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
430 hoveredObject.setHover(false);
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
431
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
432 wasChanged = true;
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
433 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
434 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
435 else if ("click".equals(event.getNativeEvent().getType())) {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
436 DataObject clickedObject = event.getValue();
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
437
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
438 if (clickedObject.getPercentage() > 0){
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
439 clickedObject.setPercentage(0);
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
440
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
441 } else {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
442 clickedObject.setPercentage(1);
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
443 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
444
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
445 wasChanged = true;
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
446 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
447
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
448 if (wasChanged) {
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
449 updateView(true);
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
450 core.updateTimeAndMap();
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
451 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
452 }
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
453 });
cde4a01e9fa8 mouse events (over/out/click) for table rows
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 51
diff changeset
454
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
455 this.setWidget(1, 0, this.elementsTable);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
456
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
457 Grid tableControls = new Grid(1,5);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
458 tableControls.setWidget(0,0,showOptions);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
459 tableControls.setWidget(0,1,refine);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
460 tableControls.setWidget(0,2,this.results);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
461 tableControls.setWidget(0,3,pager);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
462 tableControls.setWidget(0,4,func);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
463 tableControls.setStyleName("tableControls");
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
464
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
465 this.setWidget(0, 0, tableControls);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
466
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
467 tableControls.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
468
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
469 this.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
470 this.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_CENTER);
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
471 this.getCellFormatter().setWidth(1, 0, "100%");
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
472 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
473
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
474 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
475 * Sets the actual object set; depends on the showAll and showSelected selection
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
476 *
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
477 * @return boolean value, if there are selected objects
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
478 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
479 private boolean setActualObjectSet(){
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
480
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
481 boolean dataSetWasEmpty = false;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
482
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
483 if( viewAll == -1 ){
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
484
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
485 this.actualObjectSet.clear();
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
486
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
487 for( int i=0; i<this.dataSet.getObjects().length(); i++){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
488 DataObject object = this.dataSet.getObjects().get(i);
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
489 if( object.isSelected() ){
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
490 this.actualObjectSet.add(object);
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
491 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
492 }
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
493 if( this.actualObjectSet.size() == 0 ){
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
494 //TODO: Wenn die derzeitige Auswahl _keine_ Elemente
46
a8741feea7c6 fixed comment (charset issue)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 45
diff changeset
495 //enthält, werden _alle_ angezeigt. Ist das sinnvoll?
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
496 dataSetWasEmpty = true;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
497 this.viewAll = 1;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
498 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
499 }
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
500 if( this.viewAll == 1 ){
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
501 this.actualObjectSet.clear();
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
502 for( int i=0; i<this.dataSet.getObjects().length(); i++){
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
503 this.actualObjectSet.add(this.dataSet.getObjects().get(i));
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
504 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
505 }
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
506
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
507 //if the dataProvider already exists, refresh the
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
508 //displayed data
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
509 if (this.dataProvider != null) {
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
510
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
511 //refresh data
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
512 this.dataProvider.refresh();
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
513 this.elementsTable.setRowCount(this.actualObjectSet.size());
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
514
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
515 this.updateView(false);
43
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
516 }
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
517
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
518 if (dataSetWasEmpty)
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
519 return false;
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
520 else
fad6fb60a2db refining of data in CellTable
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 40
diff changeset
521 return true;
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
522 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
523
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
524 /**
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
525 * Creates a (preliminary) KML file from the data in the current data set
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
526 */
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
527 private void createKMLFile(){
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
528 String kmlContent = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><kml xmlns=\"http://www.opengis.net/kml/2.2\"><Document>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
529
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
530 for( int i=0; i<this.dataSet.getObjects().length(); i++){
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
531 DataObject currentDataObject = this.dataSet.getObjects().get(i);
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
532
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
533 String name = currentDataObject.getName();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
534 String description = currentDataObject.getDescription();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
535 String place = currentDataObject.getPlace();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
536 String lat = currentDataObject.getLat();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
537 String lon = currentDataObject.getLon();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
538 String timeStamp = currentDataObject.getTimeStamp();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
539 String timeSpanStart = currentDataObject.getTimeSpanStart();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
540 String timeSpanEnd = currentDataObject.getTimeSpanEnd();
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
541
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
542 String kmlEntry = "<Placemark>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
543
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
544 kmlEntry += "<name><![CDATA[" + name + "]]></name>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
545 kmlEntry += "<address><![CDATA[" + place + "]]></address>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
546 kmlEntry += "<description><![CDATA[" + description + "]]></description>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
547 kmlEntry += "<Point><coordinates>" + lon + "," + lat + "</coordinates></Point>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
548
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
549 if ( (timeStamp != null) && (timeStamp != "undefined") ) {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
550 kmlEntry += "<TimeStamp><when>" + timeStamp + "</when></TimeStamp>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
551 } else {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
552 kmlEntry += "<TimeSpan><begin>" + timeSpanStart + "</begin><end>" + timeSpanEnd + "</end></TimeSpan>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
553 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
554
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
555 kmlEntry += "</Placemark>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
556
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
557 kmlContent += kmlEntry;
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
558 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
559
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
560 kmlContent += "</Document></kml>";
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
561
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
562 exportWriter = GWT.create(ExportWriterInterface.class);
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
563
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
564 exportWriter.writeKMLFile(kmlContent,
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
565 new AsyncCallback<String>() {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
566 public void onFailure(Throwable caught) {
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
567 //TODO: error message in layover?
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
568 //there needs to be an error-window for KML parser failures anyway
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
569 //this one should be used
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
570 int i = 1;
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
571 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
572 public void onSuccess(String exportFileName) {
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
573
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
574 String url = GWT.getModuleBaseURL();
27
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
575 url = url + "ExportServlet?ExportedFilename=" + URL.encode(exportFileName);
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
576
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
577 aDownloadKML.setHref(url);
3184e8faa5c0 Anchor for KML download. This is a preliminiary work-around.
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 15
diff changeset
578 aDownloadKML.setVisible(true);
15
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
579 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
580 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
581 );
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
582 }
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
583
175c1eecaf84 added export kml feature (not finished)
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 3
diff changeset
584 /**
30
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
585 * Refines the currently selected dataset (table) by the search term entered.
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
586 *
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
587 */
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
588 private void refineByText(String searchString){
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
589
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
590 String lowerCaseSearchString = searchString.toLowerCase();
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
591
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
592 for( int i=0; i<this.dataSet.getObjects().length(); i++){
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
593 DataObject currentDataObject = this.dataSet.getObjects().get(i);
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
594
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
595 String name = currentDataObject.getName();
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
596 String description = currentDataObject.getDescription();
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
597 String place = currentDataObject.getPlace();
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
598
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
599 if ( name.toLowerCase().contains(lowerCaseSearchString) ||
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
600 description.toLowerCase().contains(lowerCaseSearchString) ||
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
601 place.toLowerCase().contains(lowerCaseSearchString) )
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
602 currentDataObject.setPercentage(1);
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
603 else
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
604 currentDataObject.setPercentage(0);
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
605 }
1e95995ddbb2 re-added the ability to refine the dataset by a (very simple) text search
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 27
diff changeset
606
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
607 updateView(false);
53
0a3dca94458c fix: add missing update of map and timeplot widget at refineText
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 52
diff changeset
608 core.updateTimeAndMap();
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
609 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
610
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
611 /**
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
612 * Updates all cells of the actual page
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
613 *
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
614 * @param hover if there was a hover selection which caused to trigger this function
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
615 */
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
616 public void updateView(boolean hover){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
617 if( !hover && this.viewAll == -1 ){
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
618 showSelected.removeStyleName("selectedView");
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
619 this.viewAll = 0;
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
620 }
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
621
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
622 //redraw colors of elements (selected/unselected)
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
623 int start = this.elementsTable.getVisibleRange().getStart();
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
624 for (int i=0; i<this.elementsTable.getPageSize(); i++) {
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
625
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
626 if ((start+i) >= dataProvider.getList().size())
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
627 break;
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
628
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
629 DataObject object = dataProvider.getList().get(start+i);
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
630
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
631 boolean selected = object.isSelected();
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
632 if (hover)
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
633 selected = object.getHover();
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
634
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
635 double percentage = (new Double(object.getPercentage()).doubleValue());
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
636 String borderColor = StiCore.getBorderColor(this.index,selected);
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
637 String cellColor = StiCore.getCellColor(this.index,percentage);
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
638
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
639 //TODO: das RowElement ist ein TR. Das hat kein Border, weswegen es
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
640 //auch keine Farbe bekommt. Erst einmal allen sub-Elementen die
47
e86fc5c5d386 comment: added explanation
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 46
diff changeset
641 //border-Color geben. Das sollte verbessert werden, da DOM-Iterieren
e86fc5c5d386 comment: added explanation
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 46
diff changeset
642 //langsam ist.
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
643
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
644 NodeList<TableCellElement> cells = this.elementsTable.getRowElement(i).getCells();
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
645
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
646 for (int cellIndex=0; cellIndex < cells.getLength(); cellIndex++){
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
647 cells.getItem(cellIndex).getStyle().setBorderColor(borderColor);
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
648 }
44
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
649
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
650 this.elementsTable.getRowElement(i).getStyle().setBorderColor(borderColor);
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
651 this.elementsTable.getRowElement(i).getStyle().setBackgroundColor(cellColor);
5db587ba4b0f background and border color of CellTable for selection and hover
Sebastian Kruse <skruse@mpiwg-berlin.mpg.de>
parents: 43
diff changeset
652 }
3
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
653 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
654
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
655 public String getTermIdentifier() {
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
656 return this.dataSet.getTermIdentifier();
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
657 }
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
658
cf06b77a8bbd Committed branch of the e4D repos sti-gwt branch 16384.
StefanFunk <StefanFunk@f2b5be40-def6-11e0-8a09-b3c1cc336c6b>
parents:
diff changeset
659 }