GUI: implemented add/show/close QWidget tabs
This commit is contained in:
parent
d5a437439e
commit
58731fe49e
|
|
@ -410,6 +410,21 @@ void Bridge::emitShowCpu()
|
|||
emit showCpu();
|
||||
}
|
||||
|
||||
void Bridge::emitAddQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
emit addQWidgetTab(qWidget);
|
||||
}
|
||||
|
||||
void Bridge::emitShowQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
emit showQWidgetTab(qWidget);
|
||||
}
|
||||
|
||||
void Bridge::emitCloseQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
emit closeQWidgetTab(qWidget);
|
||||
}
|
||||
|
||||
/************************************************************************************
|
||||
Static Functions
|
||||
************************************************************************************/
|
||||
|
|
@ -824,6 +839,24 @@ __declspec(dllexport) void* _gui_sendmessage(GUIMSG type, void* param1, void* pa
|
|||
}
|
||||
break;
|
||||
|
||||
case GUI_ADD_QWIDGET_TAB:
|
||||
{
|
||||
Bridge::getBridge()->emitAddQWidgetTab((QWidget*)param1);
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_SHOW_QWIDGET_TAB:
|
||||
{
|
||||
Bridge::getBridge()->emitShowQWidgetTab((QWidget*)param1);
|
||||
}
|
||||
break;
|
||||
|
||||
case GUI_CLOSE_QWIDGET_TAB:
|
||||
{
|
||||
Bridge::getBridge()->emitCloseQWidgetTab((QWidget*)param1);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include <agents.h>
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include <QMutex>
|
||||
#include "Imports.h"
|
||||
#include "NewTypes.h"
|
||||
|
|
@ -87,6 +88,9 @@ public:
|
|||
void emitSetMenuEntryIcon(int hEntry, const ICONDATA* icon);
|
||||
void emitSetMenuIcon(int hMenu, const ICONDATA* icon);
|
||||
void emitShowCpu();
|
||||
void emitAddQWidgetTab(QWidget* qWidget);
|
||||
void emitShowQWidgetTab(QWidget* qWidget);
|
||||
void emitCloseQWidgetTab(QWidget* qWidget);
|
||||
|
||||
//Public variables
|
||||
void* winId;
|
||||
|
|
@ -156,6 +160,9 @@ signals:
|
|||
void setIconMenuEntry(int hEntry, QIcon icon);
|
||||
void setIconMenu(int hMenu, QIcon icon);
|
||||
void showCpu();
|
||||
void addQWidgetTab(QWidget* qWidget);
|
||||
void showQWidgetTab(QWidget* qWidget);
|
||||
void closeQWidgetTab(QWidget* qWidget);
|
||||
|
||||
private:
|
||||
QMutex* mBridgeMutex;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||
connect(Bridge::getBridge(), SIGNAL(setIconMenu(int, QIcon)), this, SLOT(setIconMenu(int, QIcon)));
|
||||
connect(Bridge::getBridge(), SIGNAL(setIconMenuEntry(int, QIcon)), this, SLOT(setIconMenuEntry(int, QIcon)));
|
||||
connect(Bridge::getBridge(), SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
|
||||
connect(Bridge::getBridge(), SIGNAL(addQWidgetTab(QWidget*)), this, SLOT(addQWidgetTab(QWidget*)));
|
||||
connect(Bridge::getBridge(), SIGNAL(showQWidgetTab(QWidget*)), this, SLOT(showQWidgetTab(QWidget*)));
|
||||
|
||||
//setup menu api
|
||||
initMenuApi();
|
||||
|
|
@ -130,17 +132,17 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
|
|||
mTabWidget = new MHTabWidget(NULL);
|
||||
|
||||
//Setup tabs
|
||||
mTabWidget->addTab(mCpuWidget, mCpuWidget->windowIcon(), mCpuWidget->windowTitle());
|
||||
mTabWidget->addTab(mLogView, mLogView->windowIcon(), mLogView->windowTitle());
|
||||
mTabWidget->addTab(mBreakpointsView, mBreakpointsView->windowIcon(), mBreakpointsView->windowTitle());
|
||||
mTabWidget->addTab(mMemMapView, mMemMapView->windowIcon(), mMemMapView->windowTitle());
|
||||
mTabWidget->addTab(mCallStackView, mCallStackView->windowIcon(), mCallStackView->windowTitle());
|
||||
mTabWidget->addTab(mScriptView, mScriptView->windowIcon(), mScriptView->windowTitle());
|
||||
mTabWidget->addTab(mSymbolView, mSymbolView->windowIcon(), mSymbolView->windowTitle());
|
||||
mTabWidget->addTab(mSourceViewManager, mSourceViewManager->windowIcon(), mSourceViewManager->windowTitle());
|
||||
mTabWidget->addTab(mReferenceManager, mReferenceManager->windowIcon(), mReferenceManager->windowTitle());
|
||||
mTabWidget->addTab(mThreadView, mThreadView->windowIcon(), mThreadView->windowTitle());
|
||||
mTabWidget->addTab(mSnowmanView, mSnowmanView->windowIcon(), mSnowmanView->windowTitle());
|
||||
addQWidgetTab(mCpuWidget);
|
||||
addQWidgetTab(mLogView);
|
||||
addQWidgetTab(mBreakpointsView);
|
||||
addQWidgetTab(mMemMapView);
|
||||
addQWidgetTab(mCallStackView);
|
||||
addQWidgetTab(mScriptView);
|
||||
addQWidgetTab(mSymbolView);
|
||||
addQWidgetTab(mSourceViewManager);
|
||||
addQWidgetTab(mReferenceManager);
|
||||
addQWidgetTab(mThreadView);
|
||||
addQWidgetTab(mSnowmanView);
|
||||
|
||||
setCentralWidget(mTabWidget);
|
||||
|
||||
|
|
@ -488,23 +490,17 @@ void MainWindow::execRtr()
|
|||
|
||||
void MainWindow::displayMemMapWidget()
|
||||
{
|
||||
mMemMapView->show();
|
||||
mMemMapView->setFocus();
|
||||
setTab(mMemMapView);
|
||||
showQWidgetTab(mMemMapView);
|
||||
}
|
||||
|
||||
void MainWindow::displayLogWidget()
|
||||
{
|
||||
mLogView->show();
|
||||
mLogView->setFocus();
|
||||
setTab(mLogView);
|
||||
showQWidgetTab(mLogView);
|
||||
}
|
||||
|
||||
void MainWindow::displayScriptWidget()
|
||||
{
|
||||
mScriptView->show();
|
||||
mScriptView->setFocus();
|
||||
setTab(mScriptView);
|
||||
showQWidgetTab(mScriptView);
|
||||
}
|
||||
|
||||
void MainWindow::displayAboutWidget()
|
||||
|
|
@ -607,9 +603,7 @@ void MainWindow::restartDebugging()
|
|||
|
||||
void MainWindow::displayBreakpointWidget()
|
||||
{
|
||||
mBreakpointsView->show();
|
||||
mBreakpointsView->setFocus();
|
||||
setTab(mBreakpointsView);
|
||||
showQWidgetTab(mBreakpointsView);
|
||||
}
|
||||
|
||||
void MainWindow::dragEnterEvent(QDragEnterEvent* pEvent)
|
||||
|
|
@ -667,44 +661,32 @@ void MainWindow::execSkip()
|
|||
|
||||
void MainWindow::displayCpuWidget()
|
||||
{
|
||||
mCpuWidget->show();
|
||||
mCpuWidget->setFocus();
|
||||
setTab(mCpuWidget);
|
||||
showQWidgetTab(mCpuWidget);
|
||||
}
|
||||
|
||||
void MainWindow::displaySymbolWidget()
|
||||
{
|
||||
mSymbolView->show();
|
||||
mSymbolView->setFocus();
|
||||
setTab(mSymbolView);
|
||||
showQWidgetTab(mSymbolView);
|
||||
}
|
||||
|
||||
void MainWindow::displaySourceViewWidget()
|
||||
{
|
||||
mSourceViewManager->show();
|
||||
mSourceViewManager->setFocus();
|
||||
setTab(mSourceViewManager);
|
||||
showQWidgetTab(mSourceViewManager);
|
||||
}
|
||||
|
||||
void MainWindow::displayReferencesWidget()
|
||||
{
|
||||
mReferenceManager->show();
|
||||
mReferenceManager->setFocus();
|
||||
setTab(mReferenceManager);
|
||||
showQWidgetTab(mReferenceManager);
|
||||
}
|
||||
|
||||
void MainWindow::displayThreadsWidget()
|
||||
{
|
||||
mThreadView->show();
|
||||
mThreadView->setFocus();
|
||||
setTab(mThreadView);
|
||||
showQWidgetTab(mThreadView);
|
||||
}
|
||||
|
||||
void MainWindow::displaySnowmanWidget()
|
||||
{
|
||||
mSnowmanView->show();
|
||||
mSnowmanView->setFocus();
|
||||
setTab(mSnowmanView);
|
||||
showQWidgetTab(mSnowmanView);
|
||||
}
|
||||
|
||||
void MainWindow::openSettings()
|
||||
|
|
@ -1025,9 +1007,7 @@ void MainWindow::checkUpdates()
|
|||
|
||||
void MainWindow::displayCallstack()
|
||||
{
|
||||
mCallStackView->show();
|
||||
mCallStackView->setFocus();
|
||||
setTab(mCallStackView);
|
||||
showQWidgetTab(mCallStackView);
|
||||
}
|
||||
|
||||
void MainWindow::donate()
|
||||
|
|
@ -1122,3 +1102,25 @@ void MainWindow::canClose()
|
|||
bCanClose = true;
|
||||
close();
|
||||
}
|
||||
|
||||
void MainWindow::addQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
mTabWidget->addTab(qWidget, qWidget->windowIcon(), qWidget->windowTitle());
|
||||
}
|
||||
|
||||
void MainWindow::showQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
qWidget->show();
|
||||
qWidget->setFocus();
|
||||
setTab(qWidget);
|
||||
}
|
||||
|
||||
void MainWindow::closeQWidgetTab(QWidget* qWidget)
|
||||
{
|
||||
for(int i = 0; i < mTabWidget->count(); i++)
|
||||
if(mTabWidget->widget(i) == qWidget)
|
||||
{
|
||||
mTabWidget->DeleteTab(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,6 +104,9 @@ public slots:
|
|||
void changeCommandLine();
|
||||
void decompileAt(int_t start, int_t end);
|
||||
void canClose();
|
||||
void addQWidgetTab(QWidget* qWidget);
|
||||
void showQWidgetTab(QWidget* qWidget);
|
||||
void closeQWidgetTab(QWidget* qWidget);
|
||||
|
||||
private:
|
||||
Ui::MainWindow* ui;
|
||||
|
|
|
|||
Loading…
Reference in New Issue