Revision 41795
Added by Ioannis Diplas about 8 years ago
OptionsWidget.java | ||
---|---|---|
7 | 7 |
import com.github.gwtbootstrap.client.ui.CheckBox; |
8 | 8 |
import com.github.gwtbootstrap.client.ui.Form; |
9 | 9 |
import com.github.gwtbootstrap.client.ui.Image; |
10 |
import com.github.gwtbootstrap.client.ui.ListBox; |
|
11 | 10 |
import com.github.gwtbootstrap.client.ui.Tab; |
12 | 11 |
import com.github.gwtbootstrap.client.ui.TabPanel; |
13 | 12 |
import com.github.gwtbootstrap.client.ui.TextBox; |
... | ... | |
31 | 30 |
import eu.dnetlib.client.Generate; |
32 | 31 |
import eu.dnetlib.client.leftColumn.DataserieWidget.ChangedType; |
33 | 32 |
import eu.dnetlib.client.leftColumn.DataserieWidget.DeleteListener; |
33 |
import eu.dnetlib.client.leftColumn.DataserieWidget.DuplicateListener; |
|
34 | 34 |
import eu.dnetlib.client.widgets.DropdownListWidget; |
35 | 35 |
import eu.dnetlib.client.widgets.FormFieldSet; |
36 | 36 |
import eu.dnetlib.shared.SchemaAnswer; |
... | ... | |
51 | 51 |
private ArrayList<Image> deleteImageList = new ArrayList<Image>(); |
52 | 52 |
private ArrayList<DropdownListWidget> listBoxes = new ArrayList<DropdownListWidget>(); |
53 | 53 |
private boolean isFromLoad; |
54 |
private final ArrayList<DataserieWidget> overallList = new ArrayList<DataserieWidget>();
|
|
54 |
private ArrayList<DataserieWidget> overallList = new ArrayList<DataserieWidget>(); |
|
55 | 55 |
private AppearancePanel apperancePanel; |
56 | 56 |
|
57 | 57 |
private ArrayList<FiltersPanel> filtersPanels = new ArrayList<FiltersPanel>(); |
58 | 58 |
private final Button applyChangesGeneral = new Button(); |
59 | 59 |
private final Button applyChangesTitles = new Button(); |
60 |
private TitlesPanel titlesPanel; |
|
60 | 61 |
|
62 |
private final Image addDataserie = new Image("https://live.amcharts.com/static/img/icons/circle_plus.png"); |
|
63 |
|
|
61 | 64 |
public interface AddingDataseriesListener{ |
62 | 65 |
public void onEvent(int numberOfColumn); |
63 | 66 |
} |
... | ... | |
69 | 72 |
this.isFromLoad = isFromLoad; |
70 | 73 |
apperancePanel = new AppearancePanel(isFromLoad); |
71 | 74 |
ValuesOfFields.getInstance().setOptionSelected(optionSelected); |
72 |
|
|
73 | 75 |
|
74 | 76 |
designTitlesTab(); |
75 | 77 |
designGeneralTab(); |
76 | 78 |
designAppearanceTab(); |
77 | 79 |
designMapOptions(); |
80 |
|
|
78 | 81 |
if(optionSelected==60){ |
79 | 82 |
mapsTab.asWidget().setVisible(true); |
80 | 83 |
}else{ |
81 | 84 |
mapsTab.asWidget().setVisible(false); |
82 | 85 |
} |
83 | 86 |
|
84 |
designMainTabPanel(); |
|
87 |
designMainTabPanel(false);
|
|
85 | 88 |
|
86 |
// if(!isFromLoad) |
|
87 |
// loadPresets(); |
|
89 |
|
|
88 | 90 |
} |
89 | 91 |
|
90 | 92 |
public void designMapOptions(){ |
... | ... | |
92 | 94 |
mapsTab.add(mapOptionsPanel.asWidget()); |
93 | 95 |
} |
94 | 96 |
|
95 |
public void designMainTabPanel(){ |
|
97 |
public void designMainTabPanel(boolean isDuplicate){
|
|
96 | 98 |
|
99 |
mainTabPanel.clear(); |
|
100 |
|
|
101 |
|
|
102 |
if(isDuplicate){ |
|
103 |
deleteImageList = new ArrayList<Image>(); |
|
104 |
overallList = new ArrayList<DataserieWidget>(); |
|
105 |
dataSeriesTab = new Tab(); |
|
106 |
dataSeriesTab.addDecorate(addDataserie); |
|
107 |
} |
|
108 |
|
|
97 | 109 |
mainTabPanel.setTabPosition("left"); |
98 | 110 |
|
99 |
|
|
100 | 111 |
appearanceTab.setHeading("Appearance"); |
101 | 112 |
dataSeriesTab.setHeading("Add dataseries"); |
102 | 113 |
mapsTab.setHeading("Map options"); |
103 | 114 |
dataSeriesTab.asWidget().addStyleName("folderTab"); |
104 |
|
|
105 |
final Image addDataserie = new Image("https://live.amcharts.com/static/img/icons/circle_plus.png"); |
|
106 |
addDataserie.addStyleName("add-serie-icon"); |
|
107 |
|
|
108 |
dataSeriesTab.addDecorate(addDataserie); |
|
115 |
|
|
116 |
|
|
117 |
|
|
118 |
if(!isDuplicate){ |
|
119 |
addDataserie.addStyleName("add-serie-icon"); |
|
120 |
dataSeriesTab.addDecorate(addDataserie); |
|
121 |
} |
|
122 |
|
|
109 | 123 |
if(!isFromLoad) |
110 | 124 |
addDataserie.addStyleName("flashing-button"); |
111 | 125 |
|
... | ... | |
114 | 128 |
@Override |
115 | 129 |
public void onClick(ClickEvent event) { |
116 | 130 |
// TODO Auto-generated method stub |
131 |
|
|
117 | 132 |
event.preventDefault(); |
118 | 133 |
addDataserie.removeStyleName("flashing-button"); |
119 | 134 |
DataserieWidget temp = new DataserieWidget(mainTabPanel,schemaFromServer,totalColumns,specialColumnCounter,deleteImageList,listBoxes,false,dataSeriesTab,true,apperancePanel,optionSelected,filtersPanels); |
... | ... | |
143 | 158 |
ChangedType changeTypeListener = new ChangedType() { |
144 | 159 |
|
145 | 160 |
@Override |
146 |
public void onEvent(boolean isMap) {
|
|
161 |
public void onEvent(int chartType) {
|
|
147 | 162 |
// TODO Auto-generated method stub |
148 |
if(isMap){ |
|
163 |
mapsTab.asWidget().setVisible(false); |
|
164 |
if(chartType==1){ |
|
149 | 165 |
mapsTab.asWidget().setVisible(true); |
166 |
}else if(chartType==2){ |
|
167 |
titlesPanel.titlesForBar(); |
|
168 |
}else if(chartType==3){ |
|
169 |
titlesPanel.titlesForColumn(); |
|
150 | 170 |
}else{ |
151 |
mapsTab.asWidget().setVisible(false);
|
|
171 |
titlesPanel.titlesForColumn();
|
|
152 | 172 |
} |
153 | 173 |
} |
154 | 174 |
}; |
... | ... | |
156 | 176 |
|
157 | 177 |
apperancePanel.addAppearanceForDataserie(totalColumns); |
158 | 178 |
|
179 |
DuplicateListener duplicateListener = new DuplicateListener() { |
|
180 |
|
|
181 |
@Override public void onEvent(int duplicatedDataseries) { |
|
182 |
// TODO Auto-generated method stub |
|
183 |
isFromLoad=true; |
|
184 |
|
|
185 |
ValuesOfFields.getInstance().getColumnsDataList().add(ValuesOfFields.getInstance().getColumnsDataList().get(duplicatedDataseries)); |
|
186 |
|
|
187 |
designMainTabPanel(true); |
|
188 |
} |
|
189 |
}; |
|
190 |
|
|
191 |
overallList.get(specialColumnCounter).setDuplicateListener(duplicateListener); |
|
192 |
|
|
159 | 193 |
DeleteListener deleteListener = new DeleteListener() { |
160 | 194 |
|
161 | 195 |
@Override |
... | ... | |
179 | 213 |
for(int i=numberOfDeletedColumn;i<overallList.size();i++){ |
180 | 214 |
overallList.get(i).setNumberOfCurrentColumn(overallList.get(i).getNumberOfCurrentColumn()-1); |
181 | 215 |
} |
216 |
|
|
182 | 217 |
specialColumnCounter--; |
183 | 218 |
} |
184 | 219 |
}; |
... | ... | |
212 | 247 |
|
213 | 248 |
|
214 | 249 |
if(isFromLoad){ |
250 |
|
|
215 | 251 |
totalColumns=0; |
216 | 252 |
specialColumnCounter=0; |
217 | 253 |
mainTabPanel.clear(); |
... | ... | |
227 | 263 |
ChangedType changeTypeListener = new ChangedType() { |
228 | 264 |
|
229 | 265 |
@Override |
230 |
public void onEvent(boolean isMap) {
|
|
266 |
public void onEvent(int chartType) {
|
|
231 | 267 |
// TODO Auto-generated method stub |
232 |
if(isMap){ |
|
268 |
mapsTab.asWidget().setVisible(false); |
|
269 |
if(chartType==1){ |
|
233 | 270 |
mapsTab.asWidget().setVisible(true); |
271 |
}else if(chartType==2){ |
|
272 |
titlesPanel.titlesForBar(); |
|
273 |
}else if(chartType==3){ |
|
274 |
titlesPanel.titlesForColumn(); |
|
234 | 275 |
}else{ |
235 |
mapsTab.asWidget().setVisible(false);
|
|
276 |
titlesPanel.titlesForColumn();
|
|
236 | 277 |
} |
237 | 278 |
} |
238 | 279 |
}; |
280 |
|
|
239 | 281 |
overallList.get(specialColumnCounter).setChangedTypeListener(changeTypeListener); |
240 | 282 |
|
241 | 283 |
DeleteListener deleteListener = new DeleteListener() { |
... | ... | |
265 | 307 |
specialColumnCounter--; |
266 | 308 |
} |
267 | 309 |
}; |
310 |
|
|
268 | 311 |
overallList.get(specialColumnCounter).setDeleteListener(deleteListener); |
312 |
|
|
313 |
|
|
314 |
|
|
315 |
|
|
316 |
DuplicateListener duplicateListener = new DuplicateListener() { |
|
317 |
|
|
318 |
@Override public void onEvent(int duplicatedDataseries) { |
|
319 |
// TODO Auto-generated method stub |
|
320 |
|
|
321 |
isFromLoad=true; |
|
322 |
|
|
323 |
ValuesOfFields.getInstance().getColumnsDataList().add(ValuesOfFields.getInstance().getColumnsDataList().get(duplicatedDataseries)); |
|
324 |
|
|
325 |
designMainTabPanel(true); |
|
326 |
} |
|
327 |
}; |
|
328 |
|
|
329 |
overallList.get(specialColumnCounter).setDuplicateListener(duplicateListener); |
|
330 |
|
|
331 |
|
|
332 |
|
|
333 |
|
|
269 | 334 |
totalColumns++; |
270 | 335 |
specialColumnCounter++; |
271 | 336 |
mainTabPanel.add(temp.getSingleColumn()); |
... | ... | |
278 | 343 |
mainTabPanel.add(mapsTab); |
279 | 344 |
|
280 | 345 |
Generate.getInstance().generateURLs(ValuesOfFields.getInstance(),1); |
346 |
isFromLoad=false; |
|
281 | 347 |
} |
282 | 348 |
mainTabPanel.addStyleName("main-navigation-bar"); |
283 | 349 |
|
... | ... | |
314 | 380 |
}-*/; |
315 | 381 |
|
316 | 382 |
public void designTitlesTab(){ |
317 |
TitlesPanel titlesPanel = new TitlesPanel(isFromLoad,titlesTab);
|
|
383 |
titlesPanel = new TitlesPanel(isFromLoad,titlesTab,optionSelected);
|
|
318 | 384 |
titlesTab.setHeading("Titles"); |
319 | 385 |
titlesTab.add(titlesPanel.asWidget()); |
320 | 386 |
} |
... | ... | |
370 | 436 |
|
371 | 437 |
Form generalOptionsForm = new Form(); |
372 | 438 |
|
373 |
final TextBox numberOfResults = new TextBox(); |
|
374 |
numberOfResults.getElement().setAttribute("type", "number"); |
|
375 |
numberOfResults.setText("30"); |
|
376 |
numberOfResults.addChangeHandler(new ChangeHandler() { |
|
377 |
|
|
378 |
@Override |
|
379 |
public void onChange(ChangeEvent event) { |
|
380 |
if(Integer.parseInt(numberOfResults.getText())>0) |
|
381 |
ValuesOfFields.getInstance().setNumberOfResults(Integer.parseInt(numberOfResults.getText())); |
|
382 |
else |
|
383 |
ValuesOfFields.getInstance().setNumberOfResults(30); |
|
384 |
|
|
385 |
// Generate.getInstance().generateURLs(ValuesOfFields.getInstance(), 1); |
|
386 |
applyChangesGeneral.addStyleName("flashing-button-apply"); |
|
387 |
} |
|
388 |
}); |
|
389 |
|
|
390 |
|
|
391 |
generalOptionsForm.add(new FormFieldSet("Number of datasets", numberOfResults)); |
|
392 | 439 |
|
393 | 440 |
|
394 | 441 |
final CheckBox cumulativeCheckbox = new CheckBox(); |
... | ... | |
407 | 454 |
} |
408 | 455 |
}); |
409 | 456 |
|
457 |
|
|
410 | 458 |
final TextBox rotateTextBox = new TextBox(); |
411 | 459 |
rotateTextBox.setPlaceholder("Degrees.."); |
412 | 460 |
generalOptionsForm.add(new FormFieldSet("Rotation of labels", rotateTextBox)); |
... | ... | |
481 | 529 |
ChangedType changeTypeListener = new ChangedType() { |
482 | 530 |
|
483 | 531 |
@Override |
484 |
public void onEvent(boolean isMap) {
|
|
532 |
public void onEvent(int chartType) {
|
|
485 | 533 |
// TODO Auto-generated method stub |
486 |
if(isMap){ |
|
534 |
mapsTab.asWidget().setVisible(false); |
|
535 |
if(chartType==1){ |
|
487 | 536 |
mapsTab.asWidget().setVisible(true); |
537 |
}else if(chartType==2){ |
|
538 |
titlesPanel.titlesForBar(); |
|
539 |
}else if(chartType==3){ |
|
540 |
titlesPanel.titlesForColumn(); |
|
488 | 541 |
}else{ |
489 |
mapsTab.asWidget().setVisible(false);
|
|
542 |
titlesPanel.titlesForColumn();
|
|
490 | 543 |
} |
491 | 544 |
} |
492 | 545 |
}; |
546 |
|
|
493 | 547 |
overallList.get(specialColumnCounter).setChangedTypeListener(changeTypeListener); |
494 | 548 |
|
495 | 549 |
DeleteListener deleteListener = new DeleteListener() { |
Also available in: Unified diff