[PATCH] Karten-Tab-Bug
Wald Commits
scm-commit at wald.intevation.org
Mon Sep 17 10:20:13 CEST 2018
# HG changeset patch
# User gernotbelger
# Date 1537172408 -7200
# Node ID c81cf7e2a7708ecf012450796548e33831741afa
# Parent 992c188b7330d9dfed1b59565f695e806d8114b0
Karten-Tab-Bug
diff -r 992c188b7330 -r c81cf7e2a770 gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java Thu Sep 13 18:22:05 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/CollectionView.java Mon Sep 17 10:20:08 2018 +0200
@@ -40,6 +40,7 @@
import org.dive4elements.river.client.shared.model.ArtifactDescription;
import org.dive4elements.river.client.shared.model.Collection;
import org.dive4elements.river.client.shared.model.ExportMode;
+import org.dive4elements.river.client.shared.model.MapMode;
import org.dive4elements.river.client.shared.model.OutputMode;
import org.dive4elements.river.client.shared.model.Recommendation;
import org.dive4elements.river.client.shared.model.ReportMode;
@@ -100,6 +101,7 @@
/** The output tab. */
private final Map<String, OutputTab> outputTabs;
+ private final List<String> tabNames = new ArrayList<String>();
/** The layout. */
private final Layout layout;
@@ -472,9 +474,19 @@
return;
}
- if (out instanceof ReportMode) {
+ else if (out instanceof ReportMode) {
// we don't want to display report modes at all
return;
+ } else if (out instanceof MapMode) {
+ // Der Workflow von dem ganzen ist derart merkwürdig. Ständig werden Tabs entfernt und wieder hinzugefügt,
+ // alles wird neu erzeugt und wieder entfernt.
+ // normalerweise klappt das auch ("tabset.remove")
+ // beim Karten-Tab komischerweise nicht.
+ // Diese Sonderbehandlung "löst" das Problem der Doppelten Karten-Tabs mit nur wenigen zusätzlichen Zeilen
+ // (neuer Member "tabNames" )
+ // Wenn die Liste den Namen schon enthält, wird der Tab einfach nicht nochmal erzeugt.
+ if (this.tabNames.contains("map"))
+ return;
}
GWT.log("Add new output tab for '" + name + "'");
@@ -495,7 +507,7 @@
final int num = this.tabs.getNumTabs();
for (int i = num - 1; i >= 1; i--) {
- this.tabs.removeTab(i);
+ this.tabs.removeTab(i); // does not work for the Maps-panel
}
this.outputTabs.clear();
@@ -519,6 +531,7 @@
for (final String key : keys) {
this.tabs.addTab(this.outputTabs.get(key));
+ this.tabNames.add(key);
}
}
}
More information about the Dive4Elements-commits
mailing list