#include <Cockpit/panel.hxx>
#include <Cockpit/panel_io.hxx>
#include "Viewer/viewer.hxx"
+#include "Viewer/viewmgr.hxx"
using std::vector;
panel(p)
{}
- virtual bool buttonPressed(int b, const Info& info)
+ virtual bool buttonPressed( int b,
+ const osgGA::GUIEventAdapter&,
+ const Info& info )
{
button = b;
// convert to panel coordinates
picked.x(), picked.y());
}
- virtual void update(double dt)
+ virtual void update(double dt, int keyModState)
{
panel->getPanel()->updateMouseDelay(dt);
}
- virtual void buttonReleased(void)
+ virtual void buttonReleased( int,
+ const osgGA::GUIEventAdapter&,
+ const Info* )
{
panel->getPanel()->doLocalMouseAction(button, MOUSE_BUTTON_UP,
picked.x(), picked.y());
_panel = fgReadPanel(_panelPath);
if (!_panel) {
SG_LOG(SG_COCKPIT, SG_WARN, "failed to read panel from:" << _panelPath);
- _panelPath = string(); // don't keep trying to read
+ _panelPath = std::string(); // don't keep trying to read
return;
}
return false;
}
- if (_panel->getAutohide()) {
+ if (!_hideNonDefaultViews) {
+ _hideNonDefaultViews = fgGetNode("/sim/panel/hide-nonzero-view", true);
+ }
+
+ if (_hideNonDefaultViews->getBoolValue()) {
+ if (globals->get_viewmgr()->get_current() != 0) {
+ return false;
+ }
+ }
+
+ if (!_autoHide2d) {
+ _autoHide2d = fgGetNode("/sim/panel/hide-nonzero-heading-offset", true);
+ }
+
+ if (_panel->getAutohide() && _autoHide2d->getBoolValue()) {
if (!globals->get_current_view()) {
return false;
}