void ServiceChooser::onButtonToggled(bool checked) { if (!checked) return; QRadioButton *button = qobject_cast<QRadioButton*>(sender()); Q_ASSERT(button && !button->objectName().isEmpty()); QByteArray newService = button->objectName().toAscii(); Q_ASSERT(m_buttons.contains(newService)); emit serviceChanged(newService, m_currentService); m_currentService = newService; }
void ConserveWidget::setRadioButtonRowStatus() { QObject *obj = sender(); //返回发出信号的对象,用QObject类型接收 QRadioButton* pbtn = qobject_cast<QRadioButton*>(obj); QString obj_name = pbtn->objectName(); if(obj_name == "suspend_low_radio") { sessionproxy->set_current_critical_low_qt("suspend"); } else if(obj_name == "shutdown_radio") { sessionproxy->set_current_critical_low_qt("shutdown"); } else if(obj_name == "suspend_lid_battery_radio") { sessionproxy->set_current_lid_battery_qt("suspend"); } else if(obj_name == "nothing_battery_radio") { sessionproxy->set_current_lid_battery_qt("nothing"); } else if(obj_name == "suspend_lid_ac_radio") { sessionproxy->set_current_lid_ac_qt("suspend"); } else if(obj_name == "nothing_ac_radio") { sessionproxy->set_current_lid_ac_qt("nothing"); } }
QByteArray TableItem::GenHTMLForm() { QString ret; QString objTypeName = obj->metaObject()->className(); if(objTypeName == "QPlainTextEdit") { QPlainTextEdit *item = (QPlainTextEdit *) obj; #if 0 ret = QString("<form method=\"post\">" " <input type=\"hidden\" name=\"action\" value=\"%2\">" "<div class=\"form_info\">%1</div>" "<div class=\"form_editor\"><textarea name=\"%2\" cols=\"20\" rows=\"4\">%3</textarea></div>" "<div class=\"form_submitter\"><input type=\"submit\" value=\">>\"></div>" "<div class=\"form_tooltip\">%4</div>" "</form>") .arg(desc).arg(short_d).arg(item->toPlainText()).arg(item->toolTip()); #endif ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p><textarea name=\"%2\" cols=\"16\" rows=\"3\">%3</textarea></p></div>" "<div class=\"submit\"><p> %4</p></div>" "<div class=\"tooltip\"><p> %5</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(item->toPlainText()) .arg((!item->isEnabled() || item->isReadOnly()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QLineEdit") { QLineEdit *item = (QLineEdit *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p><input type=\"text\" name=\"%2\" value=\"%3\" /></p></div>" "<div class=\"submit\"><p> %4</p></div>" "<div class=\"tooltip\"><p> %5</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(item->text()) .arg((!item->isEnabled() || item->isReadOnly()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QCheckBox") { QCheckBox *item = (QCheckBox *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p><input type=\"checkbox\" name=\"%2\" value=\"true\" %3/></p></div>" "<div class=\"submit\"><p> %4</p></div>" "<div class=\"tooltip\"><p> %5</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(item->isChecked() ? "checked" : "") .arg((!item->isEnabled()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QSpinBox") { QSpinBox *item = (QSpinBox *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p><input type=\"number\" name=\"%2\" value=\"%3\" min=\"%4\" max=\"%5\" step=\"%6\" /></p></div>" "<div class=\"submit\"><p> %7</p></div>" "<div class=\"tooltip\"><p> %8</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(item->value()) .arg(item->minimum()) .arg(item->maximum()) .arg(item->singleStep()) .arg((!item->isEnabled() || item->isReadOnly()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QDoubleSpinBox") { QDoubleSpinBox *item = (QDoubleSpinBox *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p><input type=\"number\" name=\"%2\" value=\"%3\" min=\"%4\" max=\"%5\" step=\"%6\" /></p></div>" "<div class=\"submit\"><p> %7</p></div>" "<div class=\"tooltip\"><p> %8</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(item->value()) .arg(item->minimum()) .arg(item->maximum()) .arg(item->singleStep()) .arg((!item->isEnabled() || item->isReadOnly()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QComboBox") { QComboBox *item = (QComboBox *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p>\n<select name=\"%2\" style=\"max-width:170px;\">\n").arg(desc).arg(short_d); int current = item->currentIndex(); for (int i = 0; i < item->count(); i++) { ret.append(QString("<option value=\"%1\" %2>%3</option>\n").arg(i).arg(i==current ? "selected" : "").arg(item->itemText(i))); } ret.append(QString("</select>\n</p></div>" "<div class=\"submit\"><p> %1</p></div>" "<div class=\"tooltip\"><p> %2</p></div>" "</div></form>\n") .arg((!item->isEnabled()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip())); } else if(objTypeName == "QRadioButton") { QRadioButton *item = (QRadioButton *) obj; QString rb_vals; if(item->objectName() == "radioButton_rds_music") { rb_vals = QString("<input type=\"radio\" name=\"%1\" value=\"true\" %2/> Music <input type=\"radio\" name=\"%1\" value=\"false\" %3/> Speech") .arg(short_d).arg(item->isChecked() ? "checked" : "").arg(item->isChecked() ? "" : "checked"); } ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p>%3</p></div>" "<div class=\"submit\"><p> %4</p></div>" "<div class=\"tooltip\"><p> %5</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg(rb_vals) .arg((!item->isEnabled()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else if(objTypeName == "QPushButton") { QPushButton *item = (QPushButton *) obj; ret = QString("<form method=\"post\"><input type=\"hidden\" name=\"action\" value=\"%2\" />" "<div class=\"row\">" "<div class=\"prop\"><p>%1:</p></div>" "<div class=\"val\"><p>%3</p></div>" "<div class=\"submit\"><p> %4</p></div>" "<div class=\"tooltip\"><p> %5</p></div>" "</div></form>\n") .arg(desc) .arg(short_d) .arg("action") .arg((!item->isEnabled()) ? "" : "<input type=\"submit\" value=\">>\" />") .arg(item->toolTip()); } else { qDebug() << "unimplemented obj_type: " << objTypeName; } return ret.toUtf8(); };
void MesytecMadc32UI::applySettings() { applyingSettings = true; QList<QGroupBox*> gbs = findChildren<QGroupBox*>(); if(!gbs.empty()) { QList<QGroupBox*>::const_iterator it = gbs.begin(); while(it != gbs.end()) { QGroupBox* w = (*it); for(int ch=0; ch < MADC32V2_NUM_CHANNELS; ch++) { if(w->objectName() == tr("enable_channel%1").arg(ch)) w->setChecked(module->conf_.enable_channel[ch]); } it++; } } QList<QCheckBox*> cbs = findChildren<QCheckBox*>(); if(!cbs.empty()) { QList<QCheckBox*>::const_iterator it = cbs.begin(); while(it != cbs.end()) { QCheckBox* w = (*it); if(w->objectName() == "enable_multi_event_send_different_eob_marker") w->setChecked(module->conf_.enable_multi_event_send_different_eob_marker); if(w->objectName() == "enable_multi_event_compare_with_max_transfer_data") w->setChecked(module->conf_.enable_multi_event_compare_with_max_transfer_data); if(w->objectName() == "enable_adc_override") w->setChecked(module->conf_.enable_adc_override); if(w->objectName() == "enable_switch_off_sliding_scale") w->setChecked(module->conf_.enable_switch_off_sliding_scale); if(w->objectName() == "enable_skip_out_of_range") w->setChecked(module->conf_.enable_skip_out_of_range); if(w->objectName() == "enable_ignore_thresholds") w->setChecked(module->conf_.enable_ignore_thresholds); if(w->objectName() == "enable_termination_input_gate0") w->setChecked(module->conf_.enable_termination_input_gate0); if(w->objectName() == "enable_termination_input_fast_clear") w->setChecked(module->conf_.enable_termination_input_fast_clear); if(w->objectName() == "enable_external_time_stamp_reset") w->setChecked(module->conf_.enable_external_time_stamp_reset); it++; } } QList<QComboBox*> cbbs = findChildren<QComboBox*>(); if(!cbbs.empty()) { QList<QComboBox*>::const_iterator it = cbbs.begin(); while(it != cbbs.end()) { QComboBox* w = (*it); //printf("Found combobox with the name %s\n",w->objectName().toStdString().c_str()); if(w->objectName() == "addr_source") w->setCurrentIndex(module->conf_.addr_source); if(w->objectName() == "multi_event_mode") w->setCurrentIndex(module->conf_.multi_event_mode); if(w->objectName() == "vme_mode") w->setCurrentIndex(module->conf_.vme_mode); if(w->objectName() == "data_length_format") w->setCurrentIndex(module->conf_.data_length_format); if(w->objectName() == "time_stamp_source") w->setCurrentIndex(module->conf_.time_stamp_source); if(w->objectName() == "adc_resolution") w->setCurrentIndex(module->conf_.adc_resolution); if(w->objectName() == "output_format") w->setCurrentIndex(module->conf_.output_format); if(w->objectName() == "gate_generator_mode") w->setCurrentIndex(module->conf_.gate_generator_mode); if(w->objectName() == "ecl_gate1_mode") w->setCurrentIndex(module->conf_.ecl_gate1_mode); if(w->objectName() == "ecl_fclear_mode") w->setCurrentIndex(module->conf_.ecl_fclear_mode); if(w->objectName() == "ecl_busy_mode") w->setCurrentIndex(module->conf_.ecl_busy_mode); if(w->objectName() == "nim_gate1_mode") w->setCurrentIndex(module->conf_.nim_gate1_mode); if(w->objectName() == "nim_fclear_mode") w->setCurrentIndex(module->conf_.nim_fclear_mode); if(w->objectName() == "input_range") { switch (module->conf_.input_range){ case MesytecMadc32ModuleConfig::ir4V: w->setCurrentIndex(0); break; case MesytecMadc32ModuleConfig::ir8V: w->setCurrentIndex(1); break; case MesytecMadc32ModuleConfig::ir10V: w->setCurrentIndex(2); break; default: w->setCurrentIndex(2); break; } } if(w->objectName() == "marking_type") w->setCurrentIndex(module->conf_.marking_type); if(w->objectName() == "bank_operation") w->setCurrentIndex(module->conf_.bank_operation); if(w->objectName() == "test_pulser_mode") w->setCurrentIndex(module->conf_.test_pulser_mode); it++; } } QList<QSpinBox*> csb = findChildren<QSpinBox*>(); if(!csb.empty()) { QList<QSpinBox*>::const_iterator it = csb.begin(); while(it != csb.end()) { QSpinBox* w = (*it); //printf("Found spinbox with the name %s\n",w->objectName().toStdString().c_str()); if(w->objectName() == "irq_level") w->setValue(module->conf_.irq_level); if(w->objectName() == "irq_vector") w->setValue(module->conf_.irq_vector); if(w->objectName() == "irq_threshold") w->setValue(module->conf_.irq_threshold); if(w->objectName() == "base_addr_register") w->setValue(module->conf_.base_addr_register); if(w->objectName() == "time_stamp_divisor") w->setValue(module->conf_.time_stamp_divisor); if(w->objectName() == "max_transfer_data") w->setValue(module->conf_.max_transfer_data); if(w->objectName() == "rc_module_id_read") w->setValue(module->conf_.rc_module_id_read); if(w->objectName() == "rc_module_id_write") w->setValue(module->conf_.rc_module_id_write); for(int ch=0; ch<2; ch++) { if(w->objectName() == tr("hold_delay_%1").arg(ch)) w->setValue(module->conf_.hold_delay[ch]); if(w->objectName() == tr("hold_width_%1").arg(ch)) w->setValue(module->conf_.hold_width[ch]); } for(int ch=0; ch<MADC32V2_NUM_CHANNELS; ch++) { if(w->objectName() == tr("thresholds%1").arg(ch)) w->setValue(module->conf_.thresholds[ch]); } it++; } } QList<QRadioButton*> crb = findChildren<QRadioButton*>(); if(!crb.empty()) { QList<QRadioButton*>::const_iterator it = crb.begin(); while(it != crb.end()) { QRadioButton* w = (*it); if(w->objectName() == "mcst_cblt_none") w->setChecked(module->conf_.mcst_cblt_none); if(w->objectName() == "enable_cblt_mode") w->setChecked(module->conf_.enable_cblt_mode); if(w->objectName() == "enable_mcst_mode") w->setChecked(module->conf_.enable_mcst_mode); if(w->objectName() == "enable_cblt_first") w->setChecked(module->conf_.enable_cblt_first); if(w->objectName() == "enable_cblt_last") w->setChecked(module->conf_.enable_cblt_last); if(w->objectName() == "enable_cblt_middle") w->setChecked(module->conf_.enable_cblt_middle); it++; } } \ QLabel* b_addr = (QLabel*) uif.getWidgets()->find("base_addr").value(); b_addr->setText(tr("0x%1").arg(module->conf_.base_addr,2,16,QChar('0'))); applyingSettings = false; }