Skip to content

Commit 1ca9575

Browse files
Copilotxusheng6
andcommitted
Complete TTD Events UI redesign: 3 specialized tabs with no checkboxes, read-only tables, horizontal indexes hidden
Co-authored-by: xusheng6 <[email protected]>
1 parent 8f2e694 commit 1ca9575

File tree

1 file changed

+20
-53
lines changed

1 file changed

+20
-53
lines changed

ui/ttdeventswidget.cpp

Lines changed: 20 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,9 @@ TTDEventsWidget::TTDEventsWidget(QWidget* parent, BinaryViewRef data)
643643
{
644644
m_controller = DebuggerController::GetController(data);
645645
setupUI();
646+
647+
// Automatically load events for all tabs
648+
loadAllEvents();
646649
}
647650

648651
TTDEventsWidget::~TTDEventsWidget()
@@ -653,66 +656,30 @@ void TTDEventsWidget::setupUI()
653656
{
654657
QVBoxLayout* layout = new QVBoxLayout(this);
655658
layout->setContentsMargins(0, 0, 0, 0);
656-
layout->setSpacing(0);
657-
658-
// Tab widget with + button
659-
QHBoxLayout* tabLayout = new QHBoxLayout();
660-
tabLayout->setContentsMargins(0, 0, 0, 0);
661-
tabLayout->setSpacing(0);
662659

660+
// Create tab widget
663661
m_tabWidget = new QTabWidget();
664-
m_tabWidget->setTabsClosable(true);
665-
m_tabWidget->setMovable(true);
666-
667-
// Add + button for new tabs
668-
m_newTabButton = new QToolButton();
669-
m_newTabButton->setText("+");
670-
m_newTabButton->setToolTip("Create new TTD Events query tab");
671-
m_newTabButton->setFixedSize(24, 24);
672-
673-
connect(m_newTabButton, &QToolButton::clicked, this, &TTDEventsWidget::createNewTab);
674-
connect(m_tabWidget, &QTabWidget::tabCloseRequested, this, &TTDEventsWidget::closeTab);
675-
676-
m_tabWidget->setCornerWidget(m_newTabButton, Qt::TopRightCorner);
677-
678-
tabLayout->addWidget(m_tabWidget);
679-
layout->addLayout(tabLayout);
662+
layout->addWidget(m_tabWidget);
680663

681-
// Create initial tab
682-
createNewTab();
683-
}
664+
// Create the 3 specialized tabs
665+
m_moduleEventsWidget = new TTDModuleEventsWidget(this, m_data);
666+
m_threadEventsWidget = new TTDThreadEventsWidget(this, m_data);
667+
m_exceptionEventsWidget = new TTDExceptionEventsWidget(this, m_data);
684668

685-
void TTDEventsWidget::createNewTab()
686-
{
687-
TTDEventsQueryWidget* queryWidget = new TTDEventsQueryWidget(this, m_data);
688-
QString tabName = QString("Events %1").arg(m_tabWidget->count() + 1);
689-
690-
int index = m_tabWidget->addTab(queryWidget, tabName);
691-
m_tabWidget->setCurrentIndex(index);
669+
// Add tabs to the widget
670+
m_tabWidget->addTab(m_moduleEventsWidget, "Module Events");
671+
m_tabWidget->addTab(m_threadEventsWidget, "Thread Events");
672+
m_tabWidget->addTab(m_exceptionEventsWidget, "Exception Events");
692673
}
693674

694-
void TTDEventsWidget::closeTab(int index)
675+
void TTDEventsWidget::loadAllEvents()
695676
{
696-
if (m_tabWidget->count() <= 1)
697-
return; // Don't close the last tab
698-
699-
QWidget* widget = m_tabWidget->widget(index);
700-
m_tabWidget->removeTab(index);
701-
delete widget;
702-
}
703-
704-
TTDEventsQueryWidget* TTDEventsWidget::getCurrentOrNewQueryWidget()
705-
{
706-
TTDEventsQueryWidget* current = dynamic_cast<TTDEventsQueryWidget*>(m_tabWidget->currentWidget());
707-
708-
if (!current || !current->isUnused())
709-
{
710-
// Create new tab if current is null or already has results
711-
createNewTab();
712-
current = dynamic_cast<TTDEventsQueryWidget*>(m_tabWidget->currentWidget());
713-
}
714-
715-
return current;
677+
if (m_moduleEventsWidget)
678+
m_moduleEventsWidget->loadEvents();
679+
if (m_threadEventsWidget)
680+
m_threadEventsWidget->loadEvents();
681+
if (m_exceptionEventsWidget)
682+
m_exceptionEventsWidget->loadEvents();
716683
}
717684

718685
// TTDEventsSidebarWidget implementation

0 commit comments

Comments
 (0)