| 2255 | } |
| 2256 | |
| 2257 | void AppFrame::handleModemProperties() { |
| 2258 | DemodulatorInstancePtr demod = wxGetApp().getDemodMgr().getCurrentModem(); |
| 2259 | |
| 2260 | if (modemPropertiesUpdated.load() && demod && demod->isModemInitialized()) { |
| 2261 | |
| 2262 | //reset notification flag |
| 2263 | modemPropertiesUpdated.store(false); |
| 2264 | |
| 2265 | modemProps->initProperties(demod->getModemArgs(), demod); |
| 2266 | modemProps->updateTheme(); |
| 2267 | demodTray->Layout(); |
| 2268 | modemProps->fitColumns(); |
| 2269 | #if ENABLE_DIGITAL_LAB |
| 2270 | if (demod->getModemType() == "digital") { |
| 2271 | auto *outp = (ModemDigitalOutputConsole *) demod->getOutput(); |
| 2272 | if (!outp->getDialog()) { |
| 2273 | outp->setTitle(demod->getDemodulatorType() + ": " + frequencyToStr(demod->getFrequency())); |
| 2274 | outp->setDialog(new DigitalConsole(this, outp)); |
| 2275 | } |
| 2276 | demod->showOutput(); |
| 2277 | } |
| 2278 | #endif |
| 2279 | } else if (!demod && modemPropertiesUpdated.load()) { |
| 2280 | ModemArgInfoList dummyInfo; |
| 2281 | modemProps->initProperties(dummyInfo, nullptr); |
| 2282 | modemProps->updateTheme(); |
| 2283 | demodTray->Layout(); |
| 2284 | } |
| 2285 | |
| 2286 | if (modemProps->IsShown() && modemProps->isCollapsed() && modemProps->GetMinWidth() > 22) { |
| 2287 | modemProps->SetMinSize(wxSize(APPFRAME_MODEMPROPS_MINSIZE, -1)); |
| 2288 | modemProps->SetMaxSize(wxSize(APPFRAME_MODEMPROPS_MINSIZE, -1)); |
| 2289 | demodTray->Layout(); |
| 2290 | modemProps->fitColumns(); |
| 2291 | } else if (modemProps->IsShown() && !modemProps->isCollapsed() && modemProps->GetMinWidth() < 200) { |
| 2292 | modemProps->SetMinSize(wxSize(APPFRAME_MODEMPROPS_MAXSIZE, -1)); |
| 2293 | modemProps->SetMaxSize(wxSize(APPFRAME_MODEMPROPS_MAXSIZE, -1)); |
| 2294 | demodTray->Layout(); |
| 2295 | modemProps->fitColumns(); |
| 2296 | } |
| 2297 | } |
| 2298 | |
| 2299 | void AppFrame::handleScopeSpectrumProcessors() { |
| 2300 | SpectrumVisualProcessor *proc = wxGetApp().getSpectrumProcessor(); |
nothing calls this directly
no test coverage detected