summaryrefslogtreecommitdiff
path: root/utils/regtools/qeditor/regtab.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/regtools/qeditor/regtab.cpp')
-rw-r--r--utils/regtools/qeditor/regtab.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/utils/regtools/qeditor/regtab.cpp b/utils/regtools/qeditor/regtab.cpp
index b80ab57..a82070e 100644
--- a/utils/regtools/qeditor/regtab.cpp
+++ b/utils/regtools/qeditor/regtab.cpp
@@ -179,8 +179,9 @@ RegTab::RegTab(Backend *backend, QWidget *parent)
connect(m_data_sel_reload, SIGNAL(clicked(bool)), this, SLOT(OnBackendReload(bool)));
connect(m_type_selector, SIGNAL(currentChanged(int)), this, SLOT(OnTypeChanged(int)));
- SetMessage(MessageWidget::Information,
+ m_msg_select_id = SetMessage(MessageWidget::Information,
"You can browse the registers. Select a data source to analyse the values.");
+ m_msg_error_id = 0;
OnSocListChanged();
SetDataSocName("");
@@ -222,6 +223,12 @@ void RegTab::OnDataSocActivated(const QString& str)
int index = m_soc_selector->findText(str);
if(index != -1)
m_soc_selector->setCurrentIndex(index);
+ else if(str.size() > 0)
+ {
+ m_msg_error_id = SetMessage(MessageWidget::Error,
+ "Description file for this SoC is not available.");
+ SetPanel(new EmptyRegTabPanel);
+ }
}
void RegTab::UpdateTabName()
@@ -252,6 +259,9 @@ void RegTab::UpdateTabName()
void RegTab::OnBackendSelect(IoBackend *backend)
{
+ /* Hide "Please select two SoC" and errors message */
+ HideMessage(m_msg_select_id);
+ HideMessage(m_msg_error_id);
m_io_backend = backend;
SetReadOnlyIndicator();
SetDataSocName(m_io_backend->GetSocName());
@@ -316,9 +326,14 @@ void RegTab::DisplaySoc(const SocRef& ref)
SetPanel(new SocDisplayPanel(this, ref));
}
-void RegTab::SetMessage(MessageWidget::MessageType type, const QString& msg)
+int RegTab::SetMessage(MessageWidget::MessageType type, const QString& msg)
+{
+ return m_msg->SetMessage(type, msg);
+}
+
+void RegTab::HideMessage(int id)
{
- m_msg->SetMessage(type, msg);
+ m_msg->HideMessage(id);
}
void RegTab::SetPanel(RegTabPanel *panel)