From 37b4f921e13b4430eab5e9a3cee2fcc8e6f491f8 Mon Sep 17 00:00:00 2001 From: mfranz Date: Mon, 11 Jun 2007 19:02:01 +0000 Subject: [PATCH] - make next_view()/pref_view() trigger listeners, otherwise the "view_cycle" fgcommand doesn't activate Dynamic View, Fly-By View, etc. - consistent indentation (broke that with my last commit :-) --- src/Main/viewmgr.cxx | 13 +++++++------ src/Main/viewmgr.hxx | 3 +++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Main/viewmgr.cxx b/src/Main/viewmgr.cxx index c4ab2c0c2..c67c71914 100644 --- a/src/Main/viewmgr.cxx +++ b/src/Main/viewmgr.cxx @@ -40,6 +40,7 @@ FGViewMgr::FGViewMgr( void ) : axis_long(0), axis_lat(0), + view_number(fgGetNode("/sim/current-view/view-number", true)), config_list(fgGetNode("/sim", true)->getChildren("view")), current(0) { @@ -561,20 +562,20 @@ FGViewMgr::setView (int newview) // negative numbers -> set view with node index -newview if (newview < 0) { for (int i = 0; i < (int)config_list.size(); i++) { - int index = -config_list[i]->getIndex(); - if (index == newview) - newview = i; + int index = -config_list[i]->getIndex(); + if (index == newview) + newview = i; } if (newview < 0) - return; + return; } // if newview number too low wrap to last view... if (newview < 0) - newview = (int)views.size() -1; + newview = (int)views.size() - 1; // if newview number to high wrap to zero... - if (newview > ((int)views.size() -1)) + if (newview >= (int)views.size()) newview = 0; // set new view diff --git a/src/Main/viewmgr.hxx b/src/Main/viewmgr.hxx index 8a42629b0..321f6a2e1 100644 --- a/src/Main/viewmgr.hxx +++ b/src/Main/viewmgr.hxx @@ -86,10 +86,12 @@ public: } inline FGViewer *next_view() { setView((current+1 < (int)views.size()) ? (current + 1) : 0); + view_number->fireValueChanged(); return views[current]; } inline FGViewer *prev_view() { setView((0 < current) ? (current - 1) : (views.size() - 1)); + view_number->fireValueChanged(); return views[current]; } @@ -146,6 +148,7 @@ private: int getView () const; void setView (int newview); + SGPropertyNode_ptr view_number; vector config_list; typedef vector viewer_list; viewer_list views; -- 2.39.5