# HG changeset patch
# User Chris Cannam
# Date 1197394616 0
# Node ID 718aaac046e70292e2494bff21b9f0e1e72a382e
# Parent  a2abdc72c390a0749ead70c1914431169ddb1650
* Update overview when current pane changes

diff -r a2abdc72c390 -r 718aaac046e7 main/MainWindow.cpp
--- a/main/MainWindow.cpp	Tue Dec 11 17:36:22 2007 +0000
+++ b/main/MainWindow.cpp	Tue Dec 11 17:36:56 2007 +0000
@@ -3119,6 +3119,25 @@
 }
 
 void
+MainWindow::currentPaneChanged(Pane *pane)
+{
+    if (!pane || !m_panLayer) return;
+    for (int i = pane->getLayerCount(); i > 0; ) {
+        --i;
+        Layer *layer = pane->getLayer(i);
+        if (LayerFactory::getInstance()->getLayerType(layer) ==
+            LayerFactory::Waveform) {
+            RangeSummarisableTimeValueModel *tvm = 
+                dynamic_cast<RangeSummarisableTimeValueModel *>(layer->getModel());
+            if (tvm) {
+                m_panLayer->setModel(tvm);
+                return;
+            }
+        }
+    }
+}
+
+void
 MainWindow::updateVisibleRangeDisplay(Pane *p) const
 {
     if (!getMainModel() || !p) {
diff -r a2abdc72c390 -r 718aaac046e7 main/MainWindow.h
--- a/main/MainWindow.h	Tue Dec 11 17:36:22 2007 +0000
+++ b/main/MainWindow.h	Tue Dec 11 17:36:56 2007 +0000
@@ -139,6 +139,8 @@
     virtual void playSoloToggled();
     virtual void alignToggled();
 
+    virtual void currentPaneChanged(Pane *);
+
     virtual void speedUpPlayback();
     virtual void slowDownPlayback();
     virtual void restoreNormalPlayback();