mirror of
https://github.com/DreamSourceLab/DSView.git
synced 2025-01-23 13:42:55 +08:00
Can restore the measure UI when device mode be changed
This commit is contained in:
parent
6a6f1c11a8
commit
3fe2260fcb
@ -73,6 +73,7 @@ MeasureDock::MeasureDock(QWidget *parent, View &view, SigSession *session) :
|
|||||||
_p_label = new QLabel(_widget);
|
_p_label = new QLabel(_widget);
|
||||||
_f_label = new QLabel(_widget);
|
_f_label = new QLabel(_widget);
|
||||||
_d_label = new QLabel(_widget);
|
_d_label = new QLabel(_widget);
|
||||||
|
|
||||||
QGridLayout *mouse_layout = new QGridLayout();
|
QGridLayout *mouse_layout = new QGridLayout();
|
||||||
mouse_layout->setVerticalSpacing(5);
|
mouse_layout->setVerticalSpacing(5);
|
||||||
mouse_layout->setHorizontalSpacing(5);
|
mouse_layout->setHorizontalSpacing(5);
|
||||||
@ -196,17 +197,19 @@ void MeasureDock::reStyle()
|
|||||||
_dist_add_btn->setIcon(QIcon(iconPath+"/add.svg"));
|
_dist_add_btn->setIcon(QIcon(iconPath+"/add.svg"));
|
||||||
_edge_add_btn->setIcon(QIcon(iconPath+"/add.svg"));
|
_edge_add_btn->setIcon(QIcon(iconPath+"/add.svg"));
|
||||||
|
|
||||||
for (auto it = _dist_row_list.begin(); it != _dist_row_list.end(); it++)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto it = mode_rows->_dist_row_list.begin(); it != mode_rows->_dist_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto it = _edge_row_list.begin(); it != _edge_row_list.end(); it++)
|
for (auto it = mode_rows->_edge_row_list.begin(); it != mode_rows->_edge_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto it = _opt_row_list.begin(); it != _opt_row_list.end(); it++)
|
for (auto it = mode_rows->_opt_row_list.begin(); it != mode_rows->_opt_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
(*it).del_bt->setIcon(QIcon(iconPath+"/del.svg"));
|
||||||
}
|
}
|
||||||
@ -214,11 +217,6 @@ void MeasureDock::reStyle()
|
|||||||
update_dist();
|
update_dist();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MeasureDock::refresh()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void MeasureDock::reload()
|
void MeasureDock::reload()
|
||||||
{
|
{
|
||||||
if (_session->get_device()->get_work_mode() == LOGIC)
|
if (_session->get_device()->get_work_mode() == LOGIC)
|
||||||
@ -228,13 +226,9 @@ void MeasureDock::reload()
|
|||||||
|
|
||||||
_bSetting = true;
|
_bSetting = true;
|
||||||
|
|
||||||
for (auto &o : _edge_row_list){
|
build_dist_pannel();
|
||||||
update_probe_selector(o.box);
|
build_edge_pannel();
|
||||||
|
build_cursor_pannel();
|
||||||
if (o.channelIndex < o.box->count()){
|
|
||||||
o.box->setCurrentIndex(o.channelIndex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_bSetting = false;
|
_bSetting = false;
|
||||||
|
|
||||||
@ -273,7 +267,9 @@ void MeasureDock::build_dist_pannel()
|
|||||||
cal_lb.setFont(font);
|
cal_lb.setFont(font);
|
||||||
int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8;
|
int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8;
|
||||||
|
|
||||||
for (auto &o : _dist_row_list)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto &o : mode_rows->_dist_row_list)
|
||||||
{
|
{
|
||||||
QWidget *row_widget = new QWidget(_widget);
|
QWidget *row_widget = new QWidget(_widget);
|
||||||
row_widget->setContentsMargins(0,0,0,0);
|
row_widget->setContentsMargins(0,0,0,0);
|
||||||
@ -342,7 +338,9 @@ void MeasureDock::build_dist_pannel()
|
|||||||
|
|
||||||
void MeasureDock::add_dist_measure()
|
void MeasureDock::add_dist_measure()
|
||||||
{
|
{
|
||||||
if (_dist_row_list.size() < Max_Measure_Limits)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
if (mode_rows->_dist_row_list.size() < Max_Measure_Limits)
|
||||||
{
|
{
|
||||||
cursor_row_info inf;
|
cursor_row_info inf;
|
||||||
inf.cursor1 = -1;
|
inf.cursor1 = -1;
|
||||||
@ -354,7 +352,7 @@ void MeasureDock::add_dist_measure()
|
|||||||
inf.r_label = NULL;
|
inf.r_label = NULL;
|
||||||
inf.channelIndex = 0;
|
inf.channelIndex = 0;
|
||||||
|
|
||||||
_dist_row_list.push_back(inf);
|
mode_rows->_dist_row_list.push_back(inf);
|
||||||
|
|
||||||
build_dist_pannel();
|
build_dist_pannel();
|
||||||
|
|
||||||
@ -367,10 +365,12 @@ void MeasureDock::del_dist_measure()
|
|||||||
auto src = dynamic_cast<QToolButton *>(sender());
|
auto src = dynamic_cast<QToolButton *>(sender());
|
||||||
assert(src);
|
assert(src);
|
||||||
|
|
||||||
for (auto it =_dist_row_list.begin(); it != _dist_row_list.end(); it++)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto it = mode_rows->_dist_row_list.begin(); it != mode_rows->_dist_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
if ((*it).del_bt == src){
|
if ((*it).del_bt == src){
|
||||||
_dist_row_list.erase(it);
|
mode_rows->_dist_row_list.erase(it);
|
||||||
build_dist_pannel();
|
build_dist_pannel();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -400,7 +400,9 @@ void MeasureDock::build_edge_pannel()
|
|||||||
cal_lb.setFont(font);
|
cal_lb.setFont(font);
|
||||||
int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8;
|
int bt_w = cal_lb.fontMetrics().horizontalAdvance("22") + 8;
|
||||||
|
|
||||||
for (auto &o : _edge_row_list)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto &o : mode_rows->_edge_row_list)
|
||||||
{
|
{
|
||||||
QWidget *row_widget = new QWidget(_widget);
|
QWidget *row_widget = new QWidget(_widget);
|
||||||
row_widget->setContentsMargins(0,0,0,0);
|
row_widget->setContentsMargins(0,0,0,0);
|
||||||
@ -485,8 +487,10 @@ void MeasureDock::build_edge_pannel()
|
|||||||
void MeasureDock::on_edge_channel_selected()
|
void MeasureDock::on_edge_channel_selected()
|
||||||
{
|
{
|
||||||
QComboBox *box = dynamic_cast<QComboBox*>(sender());
|
QComboBox *box = dynamic_cast<QComboBox*>(sender());
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
if (box != NULL && !_bSetting){
|
if (box != NULL && !_bSetting){
|
||||||
for (auto &o : _edge_row_list)
|
for (auto &o : mode_rows->_edge_row_list)
|
||||||
{
|
{
|
||||||
if (o.box == box){
|
if (o.box == box){
|
||||||
o.channelIndex = box->currentIndex();
|
o.channelIndex = box->currentIndex();
|
||||||
@ -500,7 +504,9 @@ void MeasureDock::on_edge_channel_selected()
|
|||||||
|
|
||||||
void MeasureDock::add_edge_measure()
|
void MeasureDock::add_edge_measure()
|
||||||
{
|
{
|
||||||
if (_edge_row_list.size() < Max_Measure_Limits)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
if (mode_rows->_edge_row_list.size() < Max_Measure_Limits)
|
||||||
{
|
{
|
||||||
cursor_row_info inf;
|
cursor_row_info inf;
|
||||||
inf.cursor1 = -1;
|
inf.cursor1 = -1;
|
||||||
@ -512,7 +518,7 @@ void MeasureDock::add_edge_measure()
|
|||||||
inf.r_label = NULL;
|
inf.r_label = NULL;
|
||||||
inf.channelIndex = 0;
|
inf.channelIndex = 0;
|
||||||
|
|
||||||
_edge_row_list.push_back(inf);
|
mode_rows->_edge_row_list.push_back(inf);
|
||||||
build_edge_pannel();
|
build_edge_pannel();
|
||||||
|
|
||||||
adjusLabelSize();
|
adjusLabelSize();
|
||||||
@ -523,11 +529,12 @@ void MeasureDock::del_edge_measure()
|
|||||||
{
|
{
|
||||||
QToolButton* src = dynamic_cast<QToolButton *>(sender());
|
QToolButton* src = dynamic_cast<QToolButton *>(sender());
|
||||||
assert(src);
|
assert(src);
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
for (auto it =_edge_row_list.begin(); it != _edge_row_list.end(); it++)
|
for (auto it =mode_rows->_edge_row_list.begin(); it != mode_rows->_edge_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
if ((*it).del_bt == src){
|
if ((*it).del_bt == src){
|
||||||
_edge_row_list.erase(it);
|
mode_rows->_edge_row_list.erase(it);
|
||||||
build_edge_pannel();
|
build_edge_pannel();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -582,10 +589,11 @@ void MeasureDock::set_sel_cursor()
|
|||||||
QPushButton *sel_cursor_bt = qobject_cast<QPushButton *>(sender());
|
QPushButton *sel_cursor_bt = qobject_cast<QPushButton *>(sender());
|
||||||
int type = 0;
|
int type = 0;
|
||||||
cursor_row_info *inf = NULL;
|
cursor_row_info *inf = NULL;
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
if (type == 0)
|
if (type == 0)
|
||||||
{
|
{
|
||||||
for (auto &o : _dist_row_list){
|
for (auto &o : mode_rows->_dist_row_list){
|
||||||
if (o.start_bt == _sel_btn || o.end_bt == _sel_btn){
|
if (o.start_bt == _sel_btn || o.end_bt == _sel_btn){
|
||||||
inf = &o;
|
inf = &o;
|
||||||
type = 1;
|
type = 1;
|
||||||
@ -596,7 +604,7 @@ void MeasureDock::set_sel_cursor()
|
|||||||
|
|
||||||
if (type == 0)
|
if (type == 0)
|
||||||
{
|
{
|
||||||
for (auto &o : _edge_row_list){
|
for (auto &o : mode_rows->_edge_row_list){
|
||||||
if (o.start_bt == _sel_btn || o.end_bt == _sel_btn){
|
if (o.start_bt == _sel_btn || o.end_bt == _sel_btn){
|
||||||
inf = &o;
|
inf = &o;
|
||||||
type = 2;
|
type = 2;
|
||||||
@ -631,8 +639,13 @@ void MeasureDock::update_dist()
|
|||||||
|
|
||||||
QColor bkColor = AppConfig::Instance().GetStyleColor();
|
QColor bkColor = AppConfig::Instance().GetStyleColor();
|
||||||
|
|
||||||
for (auto &inf : _dist_row_list)
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto &inf : mode_rows->_dist_row_list)
|
||||||
{
|
{
|
||||||
|
if (inf.start_bt == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
if (inf.cursor1 != -1) {
|
if (inf.cursor1 != -1) {
|
||||||
if (inf.cursor1 > (int)cursor_list.size()) {
|
if (inf.cursor1 > (int)cursor_list.size()) {
|
||||||
inf.start_bt->setText("");
|
inf.start_bt->setText("");
|
||||||
@ -667,9 +680,13 @@ void MeasureDock::update_dist()
|
|||||||
void MeasureDock::update_edge()
|
void MeasureDock::update_edge()
|
||||||
{
|
{
|
||||||
auto &cursor_list = _view.get_cursorList();
|
auto &cursor_list = _view.get_cursorList();
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
for (auto &inf : _edge_row_list)
|
for (auto &inf : mode_rows->_edge_row_list)
|
||||||
{
|
{
|
||||||
|
if (inf.start_bt == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
if (inf.cursor1 != -1) {
|
if (inf.cursor1 != -1) {
|
||||||
if (inf.cursor1 > (int)cursor_list.size()) {
|
if (inf.cursor1 > (int)cursor_list.size()) {
|
||||||
inf.start_bt->setText("");
|
inf.start_bt->setText("");
|
||||||
@ -716,11 +733,32 @@ void MeasureDock::update_edge()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MeasureDock::update_cursor_info()
|
||||||
|
{
|
||||||
|
auto &cursor_list = _view.get_cursorList();
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
int num_cursors = cursor_list.size();
|
||||||
|
int num_rows = mode_rows->_opt_row_list.size();
|
||||||
|
|
||||||
|
if (num_rows == 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(num_cursors == num_rows);
|
||||||
|
|
||||||
|
for(int i = 0; i < num_cursors; i++)
|
||||||
|
{
|
||||||
|
if (mode_rows->_opt_row_list[i].info_label != NULL){
|
||||||
|
QString cur_pos = _view.get_cm_time(i) + "/"
|
||||||
|
+ QString::number(_view.get_cursor_samples(i));
|
||||||
|
mode_rows->_opt_row_list[i].info_label->setText(cur_pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MeasureDock::set_cursor_btn_color(QPushButton *btn)
|
void MeasureDock::set_cursor_btn_color(QPushButton *btn)
|
||||||
{
|
{
|
||||||
//#302F2F
|
|
||||||
// QColor bkColor = AppConfig::Instance().IsDarkStyle() ? QColor("#383838") : QColor("#FFFFFF");
|
|
||||||
|
|
||||||
QColor bkColor = AppConfig::Instance().GetStyleColor();
|
QColor bkColor = AppConfig::Instance().GetStyleColor();
|
||||||
bool isCursor = false;
|
bool isCursor = false;
|
||||||
const unsigned int start = btn->text().toInt(&isCursor);
|
const unsigned int start = btn->text().toInt(&isCursor);
|
||||||
@ -767,20 +805,7 @@ void MeasureDock::adjusLabelSize()
|
|||||||
void MeasureDock::cursor_moving()
|
void MeasureDock::cursor_moving()
|
||||||
{
|
{
|
||||||
if (_view.cursors_shown()) {
|
if (_view.cursors_shown()) {
|
||||||
auto &cursor_list = _view.get_cursorList();
|
update_cursor_info();
|
||||||
|
|
||||||
if (cursor_list.size() != _opt_row_list.size()){
|
|
||||||
assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = 0;
|
|
||||||
|
|
||||||
for(auto i = cursor_list.begin(); i != cursor_list.end(); i++) {
|
|
||||||
QString _cur_text = _view.get_cm_time(index) + "/"
|
|
||||||
+ QString::number(_view.get_cursor_samples(index));
|
|
||||||
_opt_row_list[index].info_label->setText(_cur_text);
|
|
||||||
index++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update_dist();
|
update_dist();
|
||||||
@ -788,9 +813,9 @@ void MeasureDock::cursor_moving()
|
|||||||
|
|
||||||
void MeasureDock::reCalc()
|
void MeasureDock::reCalc()
|
||||||
{
|
{
|
||||||
cursor_update();
|
|
||||||
update_dist();
|
update_dist();
|
||||||
update_edge();
|
update_edge();
|
||||||
|
update_cursor_info();
|
||||||
|
|
||||||
adjusLabelSize();
|
adjusLabelSize();
|
||||||
}
|
}
|
||||||
@ -801,8 +826,9 @@ void MeasureDock::goto_cursor()
|
|||||||
assert(src);
|
assert(src);
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
for (auto it = _opt_row_list.begin(); it != _opt_row_list.end(); it++)
|
for (auto it = mode_rows->_opt_row_list.begin(); it != mode_rows->_opt_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
if ( (*it).goto_bt == src){
|
if ( (*it).goto_bt == src){
|
||||||
_view.set_cursor_middle(index);
|
_view.set_cursor_middle(index);
|
||||||
@ -814,18 +840,24 @@ void MeasureDock::goto_cursor()
|
|||||||
|
|
||||||
void MeasureDock::cursor_update()
|
void MeasureDock::cursor_update()
|
||||||
{
|
{
|
||||||
using namespace pv::data;
|
|
||||||
|
|
||||||
for(auto it = _opt_row_list.begin(); it != _opt_row_list.end(); it++)
|
|
||||||
{
|
|
||||||
(*it).del_bt->deleteLater();
|
|
||||||
(*it).goto_bt->deleteLater();
|
|
||||||
(*it).info_label->deleteLater();
|
|
||||||
}
|
|
||||||
_opt_row_list.clear();
|
|
||||||
|
|
||||||
update_dist();
|
update_dist();
|
||||||
update_edge();
|
update_edge();
|
||||||
|
build_cursor_pannel();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MeasureDock::build_cursor_pannel()
|
||||||
|
{
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
|
for (auto &row : mode_rows->_opt_row_list)
|
||||||
|
{
|
||||||
|
if (row.del_bt != NULL){
|
||||||
|
row.del_bt->deleteLater();
|
||||||
|
row.goto_bt->deleteLater();
|
||||||
|
row.info_label->deleteLater();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mode_rows->_opt_row_list.clear();
|
||||||
|
|
||||||
QFont font = this->font();
|
QFont font = this->font();
|
||||||
font.setPointSizeF(AppConfig::Instance().appOptions.fontSize);
|
font.setPointSizeF(AppConfig::Instance().appOptions.fontSize);
|
||||||
@ -839,6 +871,10 @@ void MeasureDock::cursor_update()
|
|||||||
QString iconPath = GetIconPath();
|
QString iconPath = GetIconPath();
|
||||||
auto &cursor_list = _view.get_cursorList();
|
auto &cursor_list = _view.get_cursorList();
|
||||||
|
|
||||||
|
if (cursor_list.size() == 0){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for(auto it = cursor_list.begin(); it != cursor_list.end(); it++) {
|
for(auto it = cursor_list.begin(); it != cursor_list.end(); it++) {
|
||||||
XToolButton *del_btn = new XToolButton(_widget);
|
XToolButton *del_btn = new XToolButton(_widget);
|
||||||
del_btn->setIcon(QIcon(iconPath+"/del.svg"));
|
del_btn->setIcon(QIcon(iconPath+"/del.svg"));
|
||||||
@ -861,7 +897,7 @@ void MeasureDock::cursor_update()
|
|||||||
connect(cursor_pushButton, SIGNAL(clicked()), this, SLOT(goto_cursor()));
|
connect(cursor_pushButton, SIGNAL(clicked()), this, SLOT(goto_cursor()));
|
||||||
|
|
||||||
cursor_opt_info inf = {del_btn, cursor_pushButton, curpos_label, (*it)};
|
cursor_opt_info inf = {del_btn, cursor_pushButton, curpos_label, (*it)};
|
||||||
_opt_row_list.push_back(inf);
|
mode_rows->_opt_row_list.push_back(inf);
|
||||||
|
|
||||||
index++;
|
index++;
|
||||||
cursor_dex++;
|
cursor_dex++;
|
||||||
@ -877,8 +913,9 @@ void MeasureDock::del_cursor()
|
|||||||
|
|
||||||
Cursor* cursor = NULL;
|
Cursor* cursor = NULL;
|
||||||
auto &cursor_list = _view.get_cursorList();
|
auto &cursor_list = _view.get_cursorList();
|
||||||
|
auto mode_rows = get_mode_rows();
|
||||||
|
|
||||||
for (auto it = _opt_row_list.begin(); it != _opt_row_list.end(); it++)
|
for (auto it = mode_rows->_opt_row_list.begin(); it != mode_rows->_opt_row_list.end(); it++)
|
||||||
{
|
{
|
||||||
if ((*it).del_bt == src){
|
if ((*it).del_bt == src){
|
||||||
cursor = (*it).cursor;
|
cursor = (*it).cursor;
|
||||||
@ -954,5 +991,63 @@ void MeasureDock::adjust_form_size(QWidget *wid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
row_list_item* MeasureDock::get_mode_rows()
|
||||||
|
{
|
||||||
|
int mode = _session->get_device()->get_work_mode();
|
||||||
|
int dex = 0;
|
||||||
|
|
||||||
|
if (mode == LOGIC){
|
||||||
|
dex = 0;
|
||||||
|
}
|
||||||
|
else if (mode == DSO){
|
||||||
|
dex = 1;
|
||||||
|
}
|
||||||
|
else if (mode == ANALOG){
|
||||||
|
dex = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i=0; i<MODE_ROWS_LENGTH; i++)
|
||||||
|
{
|
||||||
|
if (i == dex){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto rows = &_mode_rows[i];
|
||||||
|
|
||||||
|
for(auto &o : rows->_dist_row_list){
|
||||||
|
o.del_bt = NULL;
|
||||||
|
o.start_bt = NULL;
|
||||||
|
o.end_bt = NULL;
|
||||||
|
o.r_label = NULL;
|
||||||
|
o.box = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(auto &o : rows->_edge_row_list){
|
||||||
|
o.del_bt = NULL;
|
||||||
|
o.start_bt = NULL;
|
||||||
|
o.end_bt = NULL;
|
||||||
|
o.r_label = NULL;
|
||||||
|
o.box = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto &row : rows->_opt_row_list)
|
||||||
|
{
|
||||||
|
if (row.del_bt != NULL){
|
||||||
|
row.del_bt->deleteLater();
|
||||||
|
row.goto_bt->deleteLater();
|
||||||
|
row.info_label->deleteLater();
|
||||||
|
row.del_bt = NULL;
|
||||||
|
row.goto_bt = NULL;
|
||||||
|
row.info_label = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rows->_opt_row_list.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
_mode_rows[dex]._mode_type = mode;
|
||||||
|
|
||||||
|
return &_mode_rows[dex];
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace dock
|
} // namespace dock
|
||||||
} // namespace pv
|
} // namespace pv
|
||||||
|
@ -75,6 +75,16 @@ struct cursor_opt_info
|
|||||||
view::Cursor *cursor;
|
view::Cursor *cursor;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct row_list_item
|
||||||
|
{
|
||||||
|
std::vector<cursor_row_info> _dist_row_list;
|
||||||
|
std::vector<cursor_row_info> _edge_row_list;
|
||||||
|
std::vector<cursor_opt_info> _opt_row_list;
|
||||||
|
int _mode_type;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define MODE_ROWS_LENGTH 3
|
||||||
|
|
||||||
class MeasureDock : public QScrollArea, public IUiWindow
|
class MeasureDock : public QScrollArea, public IUiWindow
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -99,12 +109,14 @@ private:
|
|||||||
|
|
||||||
void build_dist_pannel();
|
void build_dist_pannel();
|
||||||
void build_edge_pannel();
|
void build_edge_pannel();
|
||||||
|
void build_cursor_pannel();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QComboBox* create_probe_selector(QWidget *parent);
|
QComboBox* create_probe_selector(QWidget *parent);
|
||||||
void update_probe_selector(QComboBox *selector);
|
void update_probe_selector(QComboBox *selector);
|
||||||
void adjusLabelSize();
|
void adjusLabelSize();
|
||||||
void adjust_form_size(QWidget *wid);
|
void adjust_form_size(QWidget *wid);
|
||||||
|
row_list_item* get_mode_rows();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void goto_cursor();
|
void goto_cursor();
|
||||||
@ -114,6 +126,7 @@ private slots:
|
|||||||
void del_edge_measure();
|
void del_edge_measure();
|
||||||
void update_dist();
|
void update_dist();
|
||||||
void update_edge();
|
void update_edge();
|
||||||
|
void update_cursor_info();
|
||||||
void set_cursor_btn_color(QPushButton *btn);
|
void set_cursor_btn_color(QPushButton *btn);
|
||||||
void set_cursor_btn_color(QPushButton *btn, QColor cursorColor, QColor bkColor, bool isCursor);
|
void set_cursor_btn_color(QPushButton *btn, QColor cursorColor, QColor bkColor, bool isCursor);
|
||||||
|
|
||||||
@ -127,7 +140,6 @@ public slots:
|
|||||||
void cursor_moving();
|
void cursor_moving();
|
||||||
void reCalc();
|
void reCalc();
|
||||||
void measure_updated();
|
void measure_updated();
|
||||||
void refresh();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
SigSession *_session;
|
SigSession *_session;
|
||||||
@ -151,11 +163,10 @@ private:
|
|||||||
QWidget *_dist_pannel;
|
QWidget *_dist_pannel;
|
||||||
QWidget *_edge_pannel;
|
QWidget *_edge_pannel;
|
||||||
|
|
||||||
QGridLayout *_cursor_layout;
|
QGridLayout *_cursor_layout;
|
||||||
QGroupBox *_cursor_groupBox;
|
QGroupBox *_cursor_groupBox;
|
||||||
std::vector<cursor_row_info> _dist_row_list;
|
|
||||||
std::vector<cursor_row_info> _edge_row_list;
|
row_list_item _mode_rows[MODE_ROWS_LENGTH];
|
||||||
std::vector<cursor_opt_info> _opt_row_list;
|
|
||||||
|
|
||||||
QLabel *_channel_label;
|
QLabel *_channel_label;
|
||||||
QLabel *_edge_label;
|
QLabel *_edge_label;
|
||||||
|
@ -1460,7 +1460,7 @@ namespace pv
|
|||||||
|
|
||||||
void MainWindow::on_cur_snap_samplerate_changed()
|
void MainWindow::on_cur_snap_samplerate_changed()
|
||||||
{
|
{
|
||||||
_measure_widget->cursor_update();
|
_measure_widget->reCalc();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------on event end-------*/
|
/*------------------on event end-------*/
|
||||||
@ -1794,161 +1794,170 @@ namespace pv
|
|||||||
{
|
{
|
||||||
switch (msg)
|
switch (msg)
|
||||||
{
|
{
|
||||||
case DSV_MSG_DEVICE_LIST_UPDATED:
|
case DSV_MSG_DEVICE_LIST_UPDATED:
|
||||||
_sampling_bar->update_device_list();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_START_COLLECT_WORK_PREV:
|
|
||||||
if (_device_agent->get_work_mode() == LOGIC)
|
|
||||||
_trigger_widget->try_commit_trigger();
|
|
||||||
else if (_device_agent->get_work_mode() == DSO)
|
|
||||||
_dso_trigger_widget->check_setting();
|
|
||||||
|
|
||||||
_view->capture_init();
|
|
||||||
_view->on_state_changed(false);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_START_COLLECT_WORK:
|
|
||||||
update_toolbar_view_status();
|
|
||||||
_view->on_state_changed(false);
|
|
||||||
_protocol_widget->update_view_status();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_COLLECT_END:
|
|
||||||
prgRate(0);
|
|
||||||
_view->repeat_unshow();
|
|
||||||
_view->on_state_changed(true);
|
|
||||||
_protocol_widget->update_view_status();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_END_COLLECT_WORK:
|
|
||||||
update_toolbar_view_status();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_CURRENT_DEVICE_CHANGE_PREV:
|
|
||||||
if (_msg != NULL){
|
|
||||||
_msg->close();
|
|
||||||
_msg = NULL;
|
|
||||||
}
|
|
||||||
_view->hide_calibration();
|
|
||||||
|
|
||||||
_protocol_widget->del_all_protocol();
|
|
||||||
_view->reload();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_CURRENT_DEVICE_CHANGED:
|
|
||||||
{
|
|
||||||
reset_all_view();
|
|
||||||
load_device_config();
|
|
||||||
update_title_bar_text();
|
|
||||||
_sampling_bar->update_device_list();
|
|
||||||
|
|
||||||
_logo_bar->dsl_connected(_session->get_device()->is_hardware());
|
|
||||||
update_toolbar_view_status();
|
|
||||||
_session->device_event_object()->device_updated();
|
|
||||||
|
|
||||||
if (_device_agent->is_hardware())
|
|
||||||
{
|
{
|
||||||
_session->on_load_config_end();
|
_sampling_bar->update_device_list();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
case DSV_MSG_START_COLLECT_WORK_PREV:
|
||||||
if (_device_agent->get_work_mode() == LOGIC && _device_agent->is_file() == false)
|
|
||||||
_view->auto_set_max_scale();
|
|
||||||
|
|
||||||
if (_device_agent->is_file())
|
|
||||||
{
|
{
|
||||||
check_config_file_version();
|
if (_device_agent->get_work_mode() == LOGIC)
|
||||||
|
_trigger_widget->try_commit_trigger();
|
||||||
|
else if (_device_agent->get_work_mode() == DSO)
|
||||||
|
_dso_trigger_widget->check_setting();
|
||||||
|
|
||||||
bool bDoneDecoder = false;
|
_view->capture_init();
|
||||||
bool bLoadSuccess = false;
|
_view->on_state_changed(false);
|
||||||
QJsonDocument doc = get_config_json_from_data_file(_device_agent->path(), bLoadSuccess);
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_START_COLLECT_WORK:
|
||||||
|
{
|
||||||
|
update_toolbar_view_status();
|
||||||
|
_view->on_state_changed(false);
|
||||||
|
_protocol_widget->update_view_status();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_COLLECT_END:
|
||||||
|
{
|
||||||
|
prgRate(0);
|
||||||
|
_view->repeat_unshow();
|
||||||
|
_view->on_state_changed(true);
|
||||||
|
_protocol_widget->update_view_status();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_END_COLLECT_WORK:
|
||||||
|
{
|
||||||
|
update_toolbar_view_status();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_CURRENT_DEVICE_CHANGE_PREV:
|
||||||
|
{
|
||||||
|
if (_msg != NULL){
|
||||||
|
_msg->close();
|
||||||
|
_msg = NULL;
|
||||||
|
}
|
||||||
|
_view->hide_calibration();
|
||||||
|
|
||||||
if (bLoadSuccess){
|
_protocol_widget->del_all_protocol();
|
||||||
load_config_from_json(doc, bDoneDecoder);
|
_view->reload();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_CURRENT_DEVICE_CHANGED:
|
||||||
|
{
|
||||||
|
reset_all_view();
|
||||||
|
load_device_config();
|
||||||
|
update_title_bar_text();
|
||||||
|
_sampling_bar->update_device_list();
|
||||||
|
|
||||||
|
_logo_bar->dsl_connected(_session->get_device()->is_hardware());
|
||||||
|
update_toolbar_view_status();
|
||||||
|
_session->device_event_object()->device_updated();
|
||||||
|
|
||||||
|
if (_device_agent->is_hardware())
|
||||||
|
{
|
||||||
|
_session->on_load_config_end();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bDoneDecoder && _device_agent->get_work_mode() == LOGIC)
|
if (_device_agent->get_work_mode() == LOGIC && _device_agent->is_file() == false)
|
||||||
|
_view->auto_set_max_scale();
|
||||||
|
|
||||||
|
if (_device_agent->is_file())
|
||||||
{
|
{
|
||||||
QJsonArray deArray = get_decoder_json_from_data_file(_device_agent->path(), bLoadSuccess);
|
check_config_file_version();
|
||||||
|
|
||||||
|
bool bDoneDecoder = false;
|
||||||
|
bool bLoadSuccess = false;
|
||||||
|
QJsonDocument doc = get_config_json_from_data_file(_device_agent->path(), bLoadSuccess);
|
||||||
|
|
||||||
if (bLoadSuccess){
|
if (bLoadSuccess){
|
||||||
StoreSession ss(_session);
|
load_config_from_json(doc, bDoneDecoder);
|
||||||
ss.load_decoders(_protocol_widget, deArray);
|
}
|
||||||
|
|
||||||
|
if (!bDoneDecoder && _device_agent->get_work_mode() == LOGIC)
|
||||||
|
{
|
||||||
|
QJsonArray deArray = get_decoder_json_from_data_file(_device_agent->path(), bLoadSuccess);
|
||||||
|
|
||||||
|
if (bLoadSuccess){
|
||||||
|
StoreSession ss(_session);
|
||||||
|
ss.load_decoders(_protocol_widget, deArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_view->update_all_trace_postion();
|
||||||
|
QTimer::singleShot(100, this, [this](){
|
||||||
|
_session->start_capture(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if (_device_agent->is_demo())
|
||||||
|
{
|
||||||
|
if(_device_agent->get_work_mode() == LOGIC)
|
||||||
|
{
|
||||||
|
_pattern_mode = _device_agent->get_demo_operation_mode();
|
||||||
|
_protocol_widget->del_all_protocol();
|
||||||
|
_view->auto_set_max_scale();
|
||||||
|
|
||||||
|
if(_pattern_mode != "random"){
|
||||||
|
load_demo_decoder_config(_pattern_mode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_view->update_all_trace_postion();
|
calc_min_height();
|
||||||
QTimer::singleShot(100, this, [this](){
|
|
||||||
_session->start_capture(true);
|
if (_device_agent->is_hardware() && _device_agent->is_new_device()){
|
||||||
});
|
check_usb_device_speed();
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (_device_agent->is_demo())
|
case DSV_MSG_DEVICE_OPTIONS_UPDATED:
|
||||||
{
|
{
|
||||||
if(_device_agent->get_work_mode() == LOGIC)
|
_trigger_widget->device_updated();
|
||||||
|
_measure_widget->reload();
|
||||||
|
_view->check_calibration();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_DEVICE_DURATION_UPDATED:
|
||||||
|
{
|
||||||
|
_trigger_widget->device_updated();
|
||||||
|
_view->timebase_changed();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_DEVICE_MODE_CHANGED:
|
||||||
|
{
|
||||||
|
_view->mode_changed();
|
||||||
|
reset_all_view();
|
||||||
|
load_device_config();
|
||||||
|
update_title_bar_text();
|
||||||
|
_view->hide_calibration();
|
||||||
|
|
||||||
|
update_toolbar_view_status();
|
||||||
|
_sampling_bar->update_sample_rate_list();
|
||||||
|
|
||||||
|
if (_device_agent->is_hardware())
|
||||||
|
_session->on_load_config_end();
|
||||||
|
|
||||||
|
if (_device_agent->get_work_mode() == LOGIC)
|
||||||
|
_view->auto_set_max_scale();
|
||||||
|
|
||||||
|
if(_device_agent->is_demo())
|
||||||
{
|
{
|
||||||
_pattern_mode = _device_agent->get_demo_operation_mode();
|
_pattern_mode = _device_agent->get_demo_operation_mode();
|
||||||
_protocol_widget->del_all_protocol();
|
_protocol_widget->del_all_protocol();
|
||||||
_view->auto_set_max_scale();
|
|
||||||
|
|
||||||
if(_pattern_mode != "random"){
|
if(_device_agent->get_work_mode() == LOGIC)
|
||||||
load_demo_decoder_config(_pattern_mode);
|
{
|
||||||
|
if(_pattern_mode != "random"){
|
||||||
|
_device_agent->update();
|
||||||
|
load_demo_decoder_config(_pattern_mode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
calc_min_height();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
case DSV_MSG_NEW_USB_DEVICE:
|
||||||
calc_min_height();
|
|
||||||
|
|
||||||
if (_device_agent->is_hardware() && _device_agent->is_new_device()){
|
|
||||||
check_usb_device_speed();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_DEVICE_OPTIONS_UPDATED:
|
|
||||||
_trigger_widget->device_updated();
|
|
||||||
_measure_widget->reload();
|
|
||||||
_view->check_calibration();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_DEVICE_DURATION_UPDATED:
|
|
||||||
_trigger_widget->device_updated();
|
|
||||||
_view->timebase_changed();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_DEVICE_MODE_CHANGED:
|
|
||||||
_view->mode_changed();
|
|
||||||
reset_all_view();
|
|
||||||
load_device_config();
|
|
||||||
update_title_bar_text();
|
|
||||||
_view->hide_calibration();
|
|
||||||
|
|
||||||
update_toolbar_view_status();
|
|
||||||
_sampling_bar->update_sample_rate_list();
|
|
||||||
|
|
||||||
if (_device_agent->is_hardware())
|
|
||||||
_session->on_load_config_end();
|
|
||||||
|
|
||||||
if (_device_agent->get_work_mode() == LOGIC)
|
|
||||||
_view->auto_set_max_scale();
|
|
||||||
|
|
||||||
if(_device_agent->is_demo())
|
|
||||||
{
|
|
||||||
_pattern_mode = _device_agent->get_demo_operation_mode();
|
|
||||||
_protocol_widget->del_all_protocol();
|
|
||||||
|
|
||||||
if(_device_agent->get_work_mode() == LOGIC)
|
|
||||||
{
|
|
||||||
if(_pattern_mode != "random"){
|
|
||||||
_device_agent->update();
|
|
||||||
load_demo_decoder_config(_pattern_mode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
calc_min_height();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_NEW_USB_DEVICE:
|
|
||||||
{
|
{
|
||||||
if (_msg != NULL){
|
if (_msg != NULL){
|
||||||
_msg->close();
|
_msg->close();
|
||||||
@ -2006,114 +2015,125 @@ namespace pv
|
|||||||
|
|
||||||
_session->set_default_device();
|
_session->set_default_device();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
case DSV_MSG_CURRENT_DEVICE_DETACHED:
|
||||||
|
|
||||||
case DSV_MSG_CURRENT_DEVICE_DETACHED:
|
|
||||||
if (_msg != NULL){
|
|
||||||
_msg->close();
|
|
||||||
_msg = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save current config, and switch to the last device.
|
|
||||||
_session->device_event_object()->device_updated();
|
|
||||||
save_config();
|
|
||||||
_view->hide_calibration();
|
|
||||||
|
|
||||||
if (_session->is_saving()){
|
|
||||||
dsv_info("Device detached:Waitting for store the data. and will switch to new device.");
|
|
||||||
_is_auto_switch_device = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (confirm_to_store_data()){
|
|
||||||
_is_auto_switch_device = true;
|
|
||||||
on_save();
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
_session->set_default_device();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_SAVE_COMPLETE:
|
|
||||||
_session->clear_store_confirm_flag();
|
|
||||||
|
|
||||||
if (_is_auto_switch_device)
|
|
||||||
{
|
{
|
||||||
_is_auto_switch_device = false;
|
if (_msg != NULL){
|
||||||
_session->set_default_device();
|
_msg->close();
|
||||||
}
|
_msg = NULL;
|
||||||
else
|
|
||||||
{
|
|
||||||
ds_device_handle devh = _sampling_bar->get_next_device_handle();
|
|
||||||
if (devh != NULL_HANDLE)
|
|
||||||
{
|
|
||||||
dsv_info("Auto switch to the selected device.");
|
|
||||||
_session->set_device(devh);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Save current config, and switch to the last device.
|
||||||
|
_session->device_event_object()->device_updated();
|
||||||
|
save_config();
|
||||||
|
_view->hide_calibration();
|
||||||
|
|
||||||
|
if (_session->is_saving()){
|
||||||
|
dsv_info("Device detached:Waitting for store the data. and will switch to new device.");
|
||||||
|
_is_auto_switch_device = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (confirm_to_store_data()){
|
||||||
|
_is_auto_switch_device = true;
|
||||||
|
on_save();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
_session->set_default_device();
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
case DSV_MSG_SAVE_COMPLETE:
|
||||||
|
{
|
||||||
|
_session->clear_store_confirm_flag();
|
||||||
|
|
||||||
case DSV_MSG_CLEAR_DECODE_DATA:
|
if (_is_auto_switch_device)
|
||||||
if (_device_agent->get_work_mode() == LOGIC)
|
|
||||||
_protocol_widget->reset_view();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_STORE_CONF_PREV:
|
|
||||||
if (_device_agent->is_hardware() && _session->have_hardware_data() == false){
|
|
||||||
_sampling_bar->commit_settings();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_BEGIN_DEVICE_OPTIONS:
|
|
||||||
case DSV_MSG_COLLECT_MODE_CHANGED:
|
|
||||||
if(_device_agent->is_demo()){
|
|
||||||
_pattern_mode = _device_agent->get_demo_operation_mode();
|
|
||||||
}
|
|
||||||
if (msg == DSV_MSG_COLLECT_MODE_CHANGED){
|
|
||||||
_trigger_widget->device_updated();
|
|
||||||
_view->update();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case DSV_MSG_END_DEVICE_OPTIONS:
|
|
||||||
case DSV_MSG_DEMO_OPERATION_MODE_CHNAGED:
|
|
||||||
if(_device_agent->is_demo() &&_device_agent->get_work_mode() == LOGIC){
|
|
||||||
QString pattern_mode = _device_agent->get_demo_operation_mode();
|
|
||||||
|
|
||||||
if(pattern_mode != _pattern_mode)
|
|
||||||
{
|
{
|
||||||
_pattern_mode = pattern_mode;
|
_is_auto_switch_device = false;
|
||||||
|
_session->set_default_device();
|
||||||
_device_agent->update();
|
}
|
||||||
_session->clear_view_data();
|
else
|
||||||
_session->init_signals();
|
{
|
||||||
update_toolbar_view_status();
|
ds_device_handle devh = _sampling_bar->get_next_device_handle();
|
||||||
_sampling_bar->update_sample_rate_list();
|
if (devh != NULL_HANDLE)
|
||||||
_protocol_widget->del_all_protocol();
|
{
|
||||||
|
dsv_info("Auto switch to the selected device.");
|
||||||
if(_pattern_mode != "random"){
|
_session->set_device(devh);
|
||||||
_session->set_collect_mode(COLLECT_SINGLE);
|
|
||||||
load_demo_decoder_config(_pattern_mode);
|
|
||||||
|
|
||||||
if (msg == DSV_MSG_END_DEVICE_OPTIONS)
|
|
||||||
_session->start_capture(false); // Auto load data.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
calc_min_height();
|
case DSV_MSG_CLEAR_DECODE_DATA:
|
||||||
break;
|
{
|
||||||
|
if (_device_agent->get_work_mode() == LOGIC)
|
||||||
|
_protocol_widget->reset_view();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_STORE_CONF_PREV:
|
||||||
|
{
|
||||||
|
if (_device_agent->is_hardware() && _session->have_hardware_data() == false){
|
||||||
|
_sampling_bar->commit_settings();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_BEGIN_DEVICE_OPTIONS:
|
||||||
|
case DSV_MSG_COLLECT_MODE_CHANGED:
|
||||||
|
{
|
||||||
|
if(_device_agent->is_demo()){
|
||||||
|
_pattern_mode = _device_agent->get_demo_operation_mode();
|
||||||
|
}
|
||||||
|
if (msg == DSV_MSG_COLLECT_MODE_CHANGED){
|
||||||
|
_trigger_widget->device_updated();
|
||||||
|
_view->update();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_END_DEVICE_OPTIONS:
|
||||||
|
case DSV_MSG_DEMO_OPERATION_MODE_CHNAGED:
|
||||||
|
{
|
||||||
|
if(_device_agent->is_demo() &&_device_agent->get_work_mode() == LOGIC){
|
||||||
|
QString pattern_mode = _device_agent->get_demo_operation_mode();
|
||||||
|
|
||||||
case DSV_MSG_APP_OPTIONS_CHANGED:
|
if(pattern_mode != _pattern_mode)
|
||||||
update_title_bar_text();
|
{
|
||||||
break;
|
_pattern_mode = pattern_mode;
|
||||||
|
|
||||||
case DSV_MSG_FONT_OPTIONS_CHANGED:
|
_device_agent->update();
|
||||||
UiManager::Instance()->Update(UI_UPDATE_ACTION_FONT);
|
_session->clear_view_data();
|
||||||
break;
|
_session->init_signals();
|
||||||
case DSV_MSG_DATA_POOL_CHANGED:
|
update_toolbar_view_status();
|
||||||
_view->check_measure();
|
_sampling_bar->update_sample_rate_list();
|
||||||
break;
|
_protocol_widget->del_all_protocol();
|
||||||
|
|
||||||
|
if(_pattern_mode != "random"){
|
||||||
|
_session->set_collect_mode(COLLECT_SINGLE);
|
||||||
|
load_demo_decoder_config(_pattern_mode);
|
||||||
|
|
||||||
|
if (msg == DSV_MSG_END_DEVICE_OPTIONS)
|
||||||
|
_session->start_capture(false); // Auto load data.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
calc_min_height();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_APP_OPTIONS_CHANGED:
|
||||||
|
{
|
||||||
|
update_title_bar_text();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_FONT_OPTIONS_CHANGED:
|
||||||
|
{
|
||||||
|
UiManager::Instance()->Update(UI_UPDATE_ACTION_FONT);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case DSV_MSG_DATA_POOL_CHANGED:
|
||||||
|
{
|
||||||
|
_view->check_measure();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user