Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java @ 9484:c81cf7e2a770
Karten-Tab-Bug
author | gernotbelger |
---|---|
date | Mon, 17 Sep 2018 10:20:08 +0200 |
parents | abf14917be32 |
children | 5397555d74c9 |
comparison
equal
deleted
inserted
replaced
9483:992c188b7330 | 9484:c81cf7e2a770 |
---|---|
38 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync; | 38 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync; |
39 import org.dive4elements.river.client.shared.model.Artifact; | 39 import org.dive4elements.river.client.shared.model.Artifact; |
40 import org.dive4elements.river.client.shared.model.ArtifactDescription; | 40 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
41 import org.dive4elements.river.client.shared.model.Collection; | 41 import org.dive4elements.river.client.shared.model.Collection; |
42 import org.dive4elements.river.client.shared.model.ExportMode; | 42 import org.dive4elements.river.client.shared.model.ExportMode; |
43 import org.dive4elements.river.client.shared.model.MapMode; | |
43 import org.dive4elements.river.client.shared.model.OutputMode; | 44 import org.dive4elements.river.client.shared.model.OutputMode; |
44 import org.dive4elements.river.client.shared.model.Recommendation; | 45 import org.dive4elements.river.client.shared.model.Recommendation; |
45 import org.dive4elements.river.client.shared.model.ReportMode; | 46 import org.dive4elements.river.client.shared.model.ReportMode; |
46 import org.dive4elements.river.client.shared.model.User; | 47 import org.dive4elements.river.client.shared.model.User; |
47 | 48 |
98 | 99 |
99 private final TabSet tabs; | 100 private final TabSet tabs; |
100 | 101 |
101 /** The output tab. */ | 102 /** The output tab. */ |
102 private final Map<String, OutputTab> outputTabs; | 103 private final Map<String, OutputTab> outputTabs; |
104 private final List<String> tabNames = new ArrayList<String>(); | |
103 | 105 |
104 /** The layout. */ | 106 /** The layout. */ |
105 private final Layout layout; | 107 private final Layout layout; |
106 | 108 |
107 /** Layout to show spinning wheel of joy. */ | 109 /** Layout to show spinning wheel of joy. */ |
470 } | 472 } |
471 | 473 |
472 return; | 474 return; |
473 } | 475 } |
474 | 476 |
475 if (out instanceof ReportMode) { | 477 else if (out instanceof ReportMode) { |
476 // we don't want to display report modes at all | 478 // we don't want to display report modes at all |
477 return; | 479 return; |
480 } else if (out instanceof MapMode) { | |
481 // Der Workflow von dem ganzen ist derart merkwürdig. Ständig werden Tabs entfernt und wieder hinzugefügt, | |
482 // alles wird neu erzeugt und wieder entfernt. | |
483 // normalerweise klappt das auch ("tabset.remove") | |
484 // beim Karten-Tab komischerweise nicht. | |
485 // Diese Sonderbehandlung "löst" das Problem der Doppelten Karten-Tabs mit nur wenigen zusätzlichen Zeilen | |
486 // (neuer Member "tabNames" ) | |
487 // Wenn die Liste den Namen schon enthält, wird der Tab einfach nicht nochmal erzeugt. | |
488 if (this.tabNames.contains("map")) | |
489 return; | |
478 } | 490 } |
479 | 491 |
480 GWT.log("Add new output tab for '" + name + "'"); | 492 GWT.log("Add new output tab for '" + name + "'"); |
481 | 493 |
482 final String title = CollectionView.messages.getString(name); | 494 final String title = CollectionView.messages.getString(name); |
493 GWT.log("Clear OutputTabs."); | 505 GWT.log("Clear OutputTabs."); |
494 | 506 |
495 final int num = this.tabs.getNumTabs(); | 507 final int num = this.tabs.getNumTabs(); |
496 | 508 |
497 for (int i = num - 1; i >= 1; i--) { | 509 for (int i = num - 1; i >= 1; i--) { |
498 this.tabs.removeTab(i); | 510 this.tabs.removeTab(i); // does not work for the Maps-panel |
499 } | 511 } |
500 | 512 |
501 this.outputTabs.clear(); | 513 this.outputTabs.clear(); |
502 } | 514 } |
503 | 515 |
517 if (this.outputTabs != null) { | 529 if (this.outputTabs != null) { |
518 final Set<String> keys = this.outputTabs.keySet(); | 530 final Set<String> keys = this.outputTabs.keySet(); |
519 | 531 |
520 for (final String key : keys) { | 532 for (final String key : keys) { |
521 this.tabs.addTab(this.outputTabs.get(key)); | 533 this.tabs.addTab(this.outputTabs.get(key)); |
534 this.tabNames.add(key); | |
522 } | 535 } |
523 } | 536 } |
524 } | 537 } |
525 | 538 |
526 @Override | 539 @Override |