From f982ea63989694f47bf8508883ddaa685d71fdf4 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 4 Feb 2014 17:35:09 +0100 Subject: utils/regtools: slight rework of tab management in qeditor Change-Id: Iaf41defb79bb76010f3ff5269c28e4bad991ebc3 --- utils/regtools/qeditor/mainwindow.cpp | 4 +++- utils/regtools/qeditor/regtab.cpp | 13 +++++-------- utils/regtools/qeditor/regtab.h | 5 ++--- 3 files changed, 10 insertions(+), 12 deletions(-) (limited to 'utils') diff --git a/utils/regtools/qeditor/mainwindow.cpp b/utils/regtools/qeditor/mainwindow.cpp index 310153495c..a57ecfb9c1 100644 --- a/utils/regtools/qeditor/mainwindow.cpp +++ b/utils/regtools/qeditor/mainwindow.cpp @@ -22,7 +22,9 @@ MyTabWidget::MyTabWidget() void MyTabWidget::OnCloseTab(int index) { + QWidget *w = this->widget(index); removeTab(index); + delete w; } MainWindow::MainWindow(Backend *backend) @@ -106,5 +108,5 @@ void MainWindow::OnLoadDesc() void MainWindow::OnNewRegTab() { - new RegTab(m_backend, m_tab); + m_tab->addTab(new RegTab(m_backend), "Register Tab"); } diff --git a/utils/regtools/qeditor/regtab.cpp b/utils/regtools/qeditor/regtab.cpp index 8f64bbf48a..b97ceafdc8 100644 --- a/utils/regtools/qeditor/regtab.cpp +++ b/utils/regtools/qeditor/regtab.cpp @@ -30,13 +30,12 @@ void RegTreeItem::SetPath(int dev_idx, int dev_addr_idx, int reg_idx, int reg_ad m_reg_addr_idx = reg_addr_idx; } -RegTab::RegTab(Backend *backend, QTabWidget *parent) +RegTab::RegTab(Backend *backend) :m_backend(backend) { - m_splitter = new QSplitter(); QWidget *left = new QWidget; - m_splitter->addWidget(left); - m_splitter->setStretchFactor(0, 1); + this->addWidget(left); + this->setStretchFactor(0, 1); QVBoxLayout *left_layout = new QVBoxLayout; left->setLayout(left_layout); @@ -93,13 +92,11 @@ RegTab::RegTab(Backend *backend, QTabWidget *parent) m_right_panel->addWidget(m_right_content); QWidget *w = new QWidget; w->setLayout(m_right_panel); - m_splitter->addWidget(w); - m_splitter->setStretchFactor(1, 2); + this->addWidget(w); + this->setStretchFactor(1, 2); m_io_backend = m_backend->CreateDummyIoBackend(); - parent->addTab(m_splitter, "Register Tab"); - connect(m_soc_selector, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(OnSocChanged(const QString&))); connect(m_backend, SIGNAL(OnSocListChanged()), this, SLOT(OnSocListChanged())); diff --git a/utils/regtools/qeditor/regtab.h b/utils/regtools/qeditor/regtab.h index d570eb6f90..460894b143 100644 --- a/utils/regtools/qeditor/regtab.h +++ b/utils/regtools/qeditor/regtab.h @@ -44,11 +44,11 @@ private: int m_dev_idx, m_dev_addr_idx, m_reg_idx, m_reg_addr_idx; }; -class RegTab : public QObject +class RegTab : public QSplitter { Q_OBJECT public: - RegTab(Backend *backend, QTabWidget *parent); + RegTab(Backend *backend); protected: void FillDevSubTree(RegTreeItem *item); @@ -68,7 +68,6 @@ protected: soc_t m_cur_soc; QVBoxLayout *m_right_panel; QWidget *m_right_content; - QSplitter *m_splitter; QLineEdit *m_data_sel_edit; QLabel *m_data_soc_label; QPushButton *m_data_sel_reload; -- cgit v1.2.3