| 1257 | } |
| 1258 | |
| 1259 | void Push2Control::SetDisplayModule(IDrawableModule* module, bool addToHistory) |
| 1260 | { |
| 1261 | mDisplayModule = module; |
| 1262 | if (dynamic_cast<IPush2GridController*>(mDisplayModule) != nullptr) |
| 1263 | mDisplayModuleCanControlGrid = true; |
| 1264 | else |
| 1265 | mDisplayModuleCanControlGrid = false; |
| 1266 | mModuleViewOffset = 0; |
| 1267 | mModuleViewOffsetSmoothed = 0; |
| 1268 | UpdateControlList(); |
| 1269 | |
| 1270 | mDisplayModuleSnapshots = nullptr; |
| 1271 | std::vector<IDrawableModule*> modules; |
| 1272 | TheSynth->GetAllModules(modules); |
| 1273 | for (auto* searchModule : modules) |
| 1274 | { |
| 1275 | Snapshots* snapshotsModule = dynamic_cast<Snapshots*>(searchModule); |
| 1276 | if (snapshotsModule != nullptr) |
| 1277 | { |
| 1278 | if (snapshotsModule->IsTargetingModule(module)) |
| 1279 | mDisplayModuleSnapshots = snapshotsModule; |
| 1280 | } |
| 1281 | } |
| 1282 | |
| 1283 | if (module != nullptr && addToHistory && (mModuleHistory.empty() || mModuleHistory[mModuleHistory.size() - 1] != module)) |
| 1284 | { |
| 1285 | while (mModuleHistory.size() > mModuleHistoryPosition + 1) |
| 1286 | mModuleHistory.pop_back(); |
| 1287 | mModuleHistory.push_back(module); |
| 1288 | ++mModuleHistoryPosition; |
| 1289 | } |
| 1290 | |
| 1291 | if (mScreenDisplayMode == ScreenDisplayMode::kRouting) |
| 1292 | UpdateRoutingModules(); |
| 1293 | } |
| 1294 | |
| 1295 | void Push2Control::UpdateControlList() |
| 1296 | { |
no test coverage detected