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

http://dive4elements.wald.intevation.org