diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-10 17:59:05 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-10 17:59:05 (GMT) |
| commit | 3499cb3035e64ed91adfbabdfa9b979e9f8e0885 (patch) | |
| tree | 1036f4f2fab5301981457a07a8a39df5021fe727 /src/game/GameModel.cpp | |
| parent | cd051924d9ca6d5c39e02111bc311fda9126435e (diff) | |
| download | powder-3499cb3035e64ed91adfbabdfa9b979e9f8e0885.zip powder-3499cb3035e64ed91adfbabdfa9b979e9f8e0885.tar.gz | |
Wall brush, fixes #63
Diffstat (limited to 'src/game/GameModel.cpp')
| -rw-r--r-- | src/game/GameModel.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 3da3074..e88a1aa 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -239,6 +239,7 @@ void GameModel::BuildMenus() activeTools[0] = menuList[SC_POWDERS]->GetToolList()[0]; activeTools[1] = menuList[SC_SPECIAL]->GetToolList()[0]; activeTools[2] = NULL; + lastTool = activeTools[0]; //Set default menu activeMenu = menuList[SC_POWDERS]; @@ -247,6 +248,7 @@ void GameModel::BuildMenus() notifyMenuListChanged(); notifyToolListChanged(); notifyActiveToolsChanged(); + notifyLastToolChanged(); } void GameModel::SetVote(int direction) @@ -293,6 +295,7 @@ void GameModel::AddObserver(GameView * observer){ observer->NotifyColourSelectorVisibilityChanged(this); observer->NotifyColourSelectorColourChanged(this); observer->NotifyQuickOptionsChanged(this); + observer->NotifyLastToolChanged(this); UpdateQuickOptions(); } @@ -429,6 +432,20 @@ User GameModel::GetUser() return currentUser; } +Tool * GameModel::GetLastTool() +{ + return lastTool; +} + +void GameModel::SetLastTool(Tool * newTool) +{ + if(lastTool != newTool) + { + lastTool = newTool; + notifyLastToolChanged(); + } +} + void GameModel::SetZoomEnabled(bool enabled) { ren->zoomEnabled = enabled; @@ -823,3 +840,11 @@ void GameModel::notifyQuickOptionsChanged() observers[i]->NotifyQuickOptionsChanged(this); } } + +void GameModel::notifyLastToolChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyLastToolChanged(this); + } +} |
