| 16 | static Q_LOGGING_CATEGORY(logRecord, "App.View.Table.Record") |
| 17 | |
| 18 | CViewTable::CViewTable(CParameterApp *pPara, QWidget *parent) |
| 19 | : CView(pPara, parent), |
| 20 | m_pTab(nullptr) |
| 21 | { |
| 22 | qDebug(log) << Q_FUNC_INFO << this; |
| 23 | bool check = false; |
| 24 | //setFocusPolicy(Qt::NoFocus); |
| 25 | |
| 26 | m_pTab = new QTabWidget(this); |
| 27 | m_pTab->setTabsClosable(true); |
| 28 | m_pTab->setUsesScrollButtons(true); |
| 29 | m_pTab->setMovable(true); |
| 30 | //m_pTab->setFocusPolicy(Qt::NoFocus); |
| 31 | |
| 32 | if(m_pParameterApp) |
| 33 | { |
| 34 | if(m_pParameterApp->GetTabElided()) |
| 35 | m_pTab->setElideMode(Qt::ElideLeft); |
| 36 | m_pTab->setTabPosition(m_pParameterApp->GetTabPosition()); |
| 37 | check = connect(m_pParameterApp, SIGNAL(sigTabPositionChanged()), |
| 38 | this, SLOT(slotTabPositionChanged())); |
| 39 | Q_ASSERT(check); |
| 40 | check = connect(m_pParameterApp, &CParameterApp::sigTabElided, |
| 41 | this, [&](){ |
| 42 | if(m_pParameterApp->GetTabElided()) |
| 43 | m_pTab->setElideMode(Qt::ElideLeft); |
| 44 | else |
| 45 | m_pTab->setElideMode(Qt::ElideNone); |
| 46 | }); |
| 47 | Q_ASSERT(check); |
| 48 | } |
| 49 | |
| 50 | check = connect(m_pTab, SIGNAL(tabCloseRequested(int)), |
| 51 | this, SLOT(slotTabCloseRequested(int))); |
| 52 | Q_ASSERT(check); |
| 53 | check = connect(m_pTab, SIGNAL(currentChanged(int)), |
| 54 | this, SLOT(slotCurrentChanged(int))); |
| 55 | Q_ASSERT(check); |
| 56 | |
| 57 | m_pTab->tabBar()->setContextMenuPolicy(Qt::CustomContextMenu); |
| 58 | check = connect(m_pTab->tabBar(), &QTabBar::customContextMenuRequested, |
| 59 | this, [&](const QPoint& pos){ |
| 60 | QPoint p = pos; |
| 61 | p = m_pTab->tabBar()->mapToGlobal(pos); |
| 62 | emit customContextMenuRequested(p); |
| 63 | }); |
| 64 | |
| 65 | Q_ASSERT(check); |
| 66 | } |
| 67 | |
| 68 | CViewTable::~CViewTable() |
| 69 | { |
nothing calls this directly
no test coverage detected