diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-03-04 16:26:03 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-03-04 16:26:03 (GMT) |
| commit | 644e6770e43e5ed568b0cdc14d63f20869d7fccc (patch) | |
| tree | 19e0b8b60df245d0972a3d7afb106f6954b931ee /src/game/GameModel.cpp | |
| parent | 3bbaa1a111e3770d2ce9b04f4b0f9688948d3e85 (diff) | |
| download | powder-644e6770e43e5ed568b0cdc14d63f20869d7fccc.zip powder-644e6770e43e5ed568b0cdc14d63f20869d7fccc.tar.gz | |
Slider and decoration colour changer
Diffstat (limited to 'src/game/GameModel.cpp')
| -rw-r--r-- | src/game/GameModel.cpp | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 099a501..7b71633 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -15,7 +15,8 @@ GameModel::GameModel(): ren(NULL), currentBrush(0), currentUser(0, ""), - currentSave(NULL) + currentSave(NULL), + colourSelector(false) { sim = new Simulation(); ren = new Renderer(ui::Engine::Ref().g, sim); @@ -200,6 +201,8 @@ void GameModel::AddObserver(GameView * observer){ observer->NotifyToolListChanged(this); observer->NotifyUserChanged(this); observer->NotifyZoomChanged(this); + observer->NotifyColourSelectorVisibilityChanged(this); + observer->NotifyColourSelectorColourChanged(this); } void GameModel::SetActiveMenu(Menu * menu) @@ -329,6 +332,34 @@ int GameModel::GetZoomFactor() return ren->ZFACTOR; } +void GameModel::SetColourSelectorVisibility(bool visibility) +{ + if(colourSelector != visibility) + { + colourSelector = visibility; + notifyColourSelectorVisibilityChanged(); + } +} + +bool GameModel::GetColourSelectorVisibility() +{ + return colourSelector; +} + +void GameModel::SetColourSelectorColour(ui::Colour colour_) +{ + //if(this->colour!=colour) + { + colour = colour_; + notifyColourSelectorColourChanged(); + } +} + +ui::Colour GameModel::GetColourSelectorColour() +{ + return colour; +} + void GameModel::SetUser(User user) { currentUser = user; @@ -368,6 +399,22 @@ void GameModel::ClearSimulation() sim->clear_sim(); } +void GameModel::notifyColourSelectorColourChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyColourSelectorColourChanged(this); + } +} + +void GameModel::notifyColourSelectorVisibilityChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyColourSelectorVisibilityChanged(this); + } +} + void GameModel::notifyRendererChanged() { for(int i = 0; i < observers.size(); i++) |
