Fix Newtonian Gravity Tooltip

This commit is contained in:
Matthew Moore 2017-10-21 16:25:21 -04:00 committed by jacob1
parent 9c095ff3d7
commit 7d4010d2df
4 changed files with 25 additions and 17 deletions

View File

@ -938,14 +938,9 @@ bool GameController::GetAHeatEnable()
void GameController::ToggleNewtonianGravity() void GameController::ToggleNewtonianGravity()
{ {
if (gameModel->GetSimulation()->grav->ngrav_enable) gameModel->SetNewtonianGravity(!gameModel->GetNewtonianGrvity());
gameModel->GetSimulation()->grav->stop_grav_async();
else
gameModel->GetSimulation()->grav->start_grav_async();
gameModel->UpdateQuickOptions();
} }
void GameController::LoadRenderPreset(int presetNum) void GameController::LoadRenderPreset(int presetNum)
{ {
Renderer * renderer = gameModel->GetRenderer(); Renderer * renderer = gameModel->GetRenderer();

View File

@ -963,6 +963,26 @@ bool GameModel::GetAHeatEnable()
return sim->aheat_enable; return sim->aheat_enable;
} }
void GameModel::SetNewtonianGravity(bool newtonainGravity)
{
if (newtonainGravity)
{
sim->grav->start_grav_async();
SetInfoTip("Newtonian Gravity: On");
}
else
{
sim->grav->stop_grav_async();
SetInfoTip("Newtonian Gravity: Off");
}
UpdateQuickOptions();
}
bool GameModel::GetNewtonianGrvity()
{
return sim->grav->ngrav_enable;
}
void GameModel::ShowGravityGrid(bool showGrid) void GameModel::ShowGravityGrid(bool showGrid)
{ {
ren->gravityFieldEnabled = showGrid; ren->gravityFieldEnabled = showGrid;

View File

@ -172,6 +172,8 @@ public:
void SetDecoration(bool decorationState); void SetDecoration(bool decorationState);
bool GetAHeatEnable(); bool GetAHeatEnable();
void SetAHeatEnable(bool aHeat); void SetAHeatEnable(bool aHeat);
bool GetNewtonianGrvity();
void SetNewtonianGravity(bool newtonainGravity);
bool GetGravityGrid(); bool GetGravityGrid();
void ShowGravityGrid(bool showGrid); void ShowGravityGrid(bool showGrid);
void ClearSimulation(); void ClearSimulation();

View File

@ -65,20 +65,11 @@ public:
} }
virtual bool GetToggle() virtual bool GetToggle()
{ {
return m->GetSimulation()->grav->ngrav_enable; return m->GetNewtonianGrvity();
} }
virtual void perform() virtual void perform()
{ {
if(m->GetSimulation()->grav->ngrav_enable) m->SetNewtonianGravity(!m->GetNewtonianGrvity());
{
m->GetSimulation()->grav->stop_grav_async();
m->SetInfoTip("Newtonian Gravity: Off");
}
else
{
m->GetSimulation()->grav->start_grav_async();
m->SetInfoTip("Newtonian Gravity: On");
}
} }
}; };