Skip to content

Commit

Permalink
Allow hiding menusections
Browse files Browse the repository at this point in the history
  • Loading branch information
jacob1 committed Jul 8, 2016
1 parent 111468c commit 8809749
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 13 deletions.
13 changes: 11 additions & 2 deletions src/gui/game/GameModel.cpp
Expand Up @@ -248,9 +248,18 @@ void GameModel::BuildMenus()
elementTools.clear();

//Create menus
for(int i = 0; i < SC_TOTAL; i++)
for (int i = 1; i < SC_TOOL; i++)
{
menuList.push_back(new Menu((const char)sim->msections[i].icon[0], sim->msections[i].name));
sim->msections[i].doshow = 0;
}
for (int i = 0; i < PT_NUM; i++)
{
if (sim->elements[i].Enabled && sim->elements[i].MenuVisible)
sim->msections[sim->elements[i].MenuSection].doshow = 1;
}
for (int i = 0; i < SC_TOTAL; i++)
{
menuList.push_back(new Menu((const char)sim->msections[i].icon[0], sim->msections[i].name, sim->msections[i].doshow));
}

//Build menus from Simulation elements
Expand Down
21 changes: 12 additions & 9 deletions src/gui/game/GameView.cpp
Expand Up @@ -607,15 +607,18 @@ void GameView::NotifyMenuListChanged(GameModel * sender)
vector<Menu*> menuList = sender->GetMenuList();
for (int i = (int)menuList.size()-1; i >= 0; i--)
{
std::string tempString = "";
tempString += menuList[i]->GetIcon();
ui::Button * tempButton = new ui::Button(ui::Point(WINDOWW-16, currentY), ui::Point(15, 15), tempString, menuList[i]->GetDescription());
tempButton->Appearance.Margin = ui::Border(0, 2, 3, 2);
tempButton->SetTogglable(true);
tempButton->SetActionCallback(new MenuAction(this, i));
currentY-=16;
AddComponent(tempButton);
menuButtons.push_back(tempButton);
if (menuList[i]->GetVisible())
{
std::string tempString = "";
tempString += menuList[i]->GetIcon();
ui::Button * tempButton = new ui::Button(ui::Point(WINDOWW-16, currentY), ui::Point(15, 15), tempString, menuList[i]->GetDescription());
tempButton->Appearance.Margin = ui::Border(0, 2, 3, 2);
tempButton->SetTogglable(true);
tempButton->SetActionCallback(new MenuAction(this, i));
currentY-=16;
AddComponent(tempButton);
menuButtons.push_back(tempButton);
}
}
}

Expand Down
11 changes: 9 additions & 2 deletions src/gui/game/Menu.h
Expand Up @@ -8,11 +8,13 @@ class Menu
char icon;
string description;
vector<Tool*> tools;
bool visible;
public:
Menu(char icon_, string description_):
Menu(char icon_, string description_, int visible_):
icon(icon_),
description(description_),
tools(vector<Tool*>())
tools(vector<Tool*>()),
visible(visible_ ? true : false)
{

}
Expand Down Expand Up @@ -41,6 +43,11 @@ class Menu
return description;
}

bool GetVisible()
{
return visible;
}

void AddTool(Tool * tool_)
{
tools.push_back(tool_);
Expand Down

0 comments on commit 8809749

Please sign in to comment.