comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java @ 9561:5397555d74c9

MapOutputTab fix
author gernotbelger
date Thu, 25 Oct 2018 17:00:58 +0200
parents c81cf7e2a770
children
comparison
equal deleted inserted replaced
9560:a39ae474f8d5 9561:5397555d74c9
34 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync; 34 import org.dive4elements.river.client.client.services.CreateCollectionServiceAsync;
35 import org.dive4elements.river.client.client.services.DescribeCollectionService; 35 import org.dive4elements.river.client.client.services.DescribeCollectionService;
36 import org.dive4elements.river.client.client.services.DescribeCollectionServiceAsync; 36 import org.dive4elements.river.client.client.services.DescribeCollectionServiceAsync;
37 import org.dive4elements.river.client.client.services.LoadArtifactService; 37 import org.dive4elements.river.client.client.services.LoadArtifactService;
38 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync; 38 import org.dive4elements.river.client.client.services.LoadArtifactServiceAsync;
39 import org.dive4elements.river.client.client.ui.map.MapOutputTab;
39 import org.dive4elements.river.client.shared.model.Artifact; 40 import org.dive4elements.river.client.shared.model.Artifact;
40 import org.dive4elements.river.client.shared.model.ArtifactDescription; 41 import org.dive4elements.river.client.shared.model.ArtifactDescription;
41 import org.dive4elements.river.client.shared.model.Collection; 42 import org.dive4elements.river.client.shared.model.Collection;
42 import org.dive4elements.river.client.shared.model.ExportMode; 43 import org.dive4elements.river.client.shared.model.ExportMode;
43 import org.dive4elements.river.client.shared.model.MapMode; 44 import org.dive4elements.river.client.shared.model.MapMode;
476 477
477 else if (out instanceof ReportMode) { 478 else if (out instanceof ReportMode) {
478 // we don't want to display report modes at all 479 // we don't want to display report modes at all
479 return; 480 return;
480 } else if (out instanceof MapMode) { 481 } 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 // this workaround is not needed anymore - it is now in clearOuputTabs
482 // alles wird neu erzeugt und wieder entfernt. 483 // if (this.tabNames.contains("map"))
483 // normalerweise klappt das auch ("tabset.remove") 484 // return;
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;
490 } 485 }
491 486
492 GWT.log("Add new output tab for '" + name + "'"); 487 GWT.log("Add new output tab for '" + name + "'");
493 488
494 final String title = CollectionView.messages.getString(name); 489 final String title = CollectionView.messages.getString(name);
505 GWT.log("Clear OutputTabs."); 500 GWT.log("Clear OutputTabs.");
506 501
507 final int num = this.tabs.getNumTabs(); 502 final int num = this.tabs.getNumTabs();
508 503
509 for (int i = num - 1; i >= 1; i--) { 504 for (int i = num - 1; i >= 1; i--) {
510 this.tabs.removeTab(i); // does not work for the Maps-panel 505 if (this.tabs.getTab(i) instanceof MapOutputTab) {
511 } 506 final MapOutputTab mot = (MapOutputTab) this.tabs.getTab(i);
512 507 mot.cancelMapService(); // MapOutputTab needs special treatment
508 }
509 this.tabs.removeTab(i);
510 }
513 this.outputTabs.clear(); 511 this.outputTabs.clear();
514 } 512 }
515 513
516 /** 514 /**
517 * Update the view (refresh the list of old and current data). 515 * Update the view (refresh the list of old and current data).

http://dive4elements.wald.intevation.org