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()
{
if (gameModel->GetSimulation()->grav->ngrav_enable)
gameModel->GetSimulation()->grav->stop_grav_async();
else
gameModel->GetSimulation()->grav->start_grav_async();
gameModel->UpdateQuickOptions();
gameModel->SetNewtonianGravity(!gameModel->GetNewtonianGrvity());
}
void GameController::LoadRenderPreset(int presetNum)
{
Renderer * renderer = gameModel->GetRenderer();

View File

@ -963,6 +963,26 @@ bool GameModel::GetAHeatEnable()
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)
{
ren->gravityFieldEnabled = showGrid;

View File

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

View File

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