void onToggleDisabled(Event& ev) { bool state = !m_disableButton.isSelected(); m_button.setEnabled(state); m_toggleButton.setEnabled(state); m_checkBox.setEnabled(state); m_radioButton1.setEnabled(state); m_radioButton2.setEnabled(state); m_radioButton3.setEnabled(state); m_radioButton4.setEnabled(state); }
MainFrame() : Frame(L"WebCam") , m_driverLabel(L"Driver:", this) , m_driver(this) , m_webcam(this) , m_start(L"Start", this) , m_capture(L"Capture", this) , m_copy(L"Copy", this) , m_rateLabel(L"Preview Rate (milliseconds):", this) , m_rate(1, 1000, 100, this) , m_rateEdit(L"", this, TextEdit::Styles::Default + TextEdit::Styles::ReadOnly) { setLayout(Bix::parse(L"Y[X[%,f%],X[fX[],%,fX[]],X[fX[],%,%,%,fX[]],%,X[f%,%]]", &m_driverLabel, &m_driver, &m_webcam, &m_start, &m_capture, &m_copy, &m_rateLabel, &m_rate, &m_rateEdit)); m_start.setEnabled(m_driver.isEnabled()); m_capture.setEnabled(m_driver.isEnabled()); m_copy.setEnabled(m_driver.isEnabled()); m_rate.setEnabled(m_driver.isEnabled()); m_rateEdit.setPreferredSize(Size(64, m_rateEdit.getPreferredSize().h)); m_start.Click.connect(Bind(&MainFrame::onStart, this)); m_capture.Click.connect(Bind(&MainFrame::onCapture, this)); m_copy.Click.connect(Bind(&WebCam::copy, &m_webcam)); m_rate.Change.connect(Bind(&MainFrame::onChangeRate, this)); // update m_rateEdit text onChangeRate(); setSize(getPreferredSize()); }