/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Tools/Inspector/Inspector.cpp
144 строки
6 KB
Sanakan8472
Render Graph Inspector (#1968)
24 июн 2026, 10:00
Не верифицирован
24 июн 2026, 10:00
e9cca37
Код
Авторство
О чём код?
#include <Inspector/InspectorPCH.h> #include <Foundation/Application/Application.h> #include <Foundation/Communication/Telemetry.h> #include <Foundation/Utilities/CommandLineUtils.h> #include <Inspector/CVarsWidget.moc.h> #include <Inspector/DataTransferWidget.moc.h> #include <Inspector/FileWidget.moc.h> #include <Inspector/GlobalEventsWidget.moc.h> #include <Inspector/InputWidget.moc.h> #include <Inspector/LogDockWidget.moc.h> #include <Inspector/MainWidget.moc.h> #include <Inspector/MainWindow.moc.h> #include <Inspector/MemoryWidget.moc.h> #include <Inspector/PluginsWidget.moc.h> #include <Inspector/ReflectionWidget.moc.h> #include <Inspector/RenderGraphWidget.moc.h> #include <Inspector/ResourceWidget.moc.h> #include <Inspector/SubsystemsWidget.moc.h> #include <Inspector/TimeWidget.moc.h> #include <QApplication> #include <QSettings> #include <qstylefactory.h> class ezInspectorApp : public ezApplication { public: using SUPER = ezApplication; ezInspectorApp() : ezApplication("ezInspector") { } void SetStyleSheet() { QApplication::setStyle(QStyleFactory::create("fusion")); QPalette palette; palette.setColor(QPalette::WindowText, QColor(200, 200, 200, 255)); palette.setColor(QPalette::Button, QColor(100, 100, 100, 255)); palette.setColor(QPalette::Light, QColor(97, 97, 97, 255)); palette.setColor(QPalette::Midlight, QColor(59, 59, 59, 255)); palette.setColor(QPalette::Dark, QColor(37, 37, 37, 255)); palette.setColor(QPalette::Mid, QColor(45, 45, 45, 255)); palette.setColor(QPalette::Text, QColor(200, 200, 200, 255)); palette.setColor(QPalette::BrightText, QColor(37, 37, 37, 255)); palette.setColor(QPalette::ButtonText, QColor(200, 200, 200, 255)); palette.setColor(QPalette::Base, QColor(42, 42, 42, 255)); palette.setColor(QPalette::Window, QColor(68, 68, 68, 255)); palette.setColor(QPalette::Shadow, QColor(0, 0, 0, 255)); palette.setColor(QPalette::Highlight, QColor(103, 141, 178, 255)); palette.setColor(QPalette::HighlightedText, QColor(255, 255, 255, 255)); palette.setColor(QPalette::Link, QColor(0, 0, 238, 255)); palette.setColor(QPalette::LinkVisited, QColor(82, 24, 139, 255)); palette.setColor(QPalette::AlternateBase, QColor(46, 46, 46, 255)); QBrush NoRoleBrush(QColor(0, 0, 0, 255), Qt::NoBrush); palette.setBrush(QPalette::NoRole, NoRoleBrush); palette.setColor(QPalette::ToolTipBase, QColor(255, 255, 220, 255)); palette.setColor(QPalette::ToolTipText, QColor(0, 0, 0, 255)); palette.setColor(QPalette::Disabled, QPalette::WindowText, QColor(128, 128, 128, 255)); palette.setColor(QPalette::Disabled, QPalette::Button, QColor(80, 80, 80, 255)); palette.setColor(QPalette::Disabled, QPalette::Text, QColor(105, 105, 105, 255)); palette.setColor(QPalette::Disabled, QPalette::BrightText, QColor(255, 255, 255, 255)); palette.setColor(QPalette::Disabled, QPalette::ButtonText, QColor(128, 128, 128, 255)); palette.setColor(QPalette::Disabled, QPalette::Highlight, QColor(86, 117, 148, 255)); QApplication::setPalette(palette); } virtual ezResult BeforeCoreSystemsStartup() override { ezStartup::AddApplicationTag("tool"); ezStartup::AddApplicationTag("inspector"); return ezApplication::BeforeCoreSystemsStartup(); } virtual void Run() override { int iArgs = GetArgumentCount(); char** cArgs = (char**)GetArgumentsArray(); QApplication app(iArgs, cArgs); QCoreApplication::setOrganizationDomain("www.ezengine.net"); QCoreApplication::setOrganizationName("ezEngine Project"); QCoreApplication::setApplicationName("ezInspector"); QCoreApplication::setApplicationVersion("1.0.0"); SetStyleSheet(); ezQtMainWindow MainWindow; ezTelemetry::AcceptMessagesForSystem('CVAR', true, ezQtCVarsWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('CMD', true, ezQtCVarsWidget::ProcessTelemetryConsole, nullptr); ezTelemetry::AcceptMessagesForSystem(' LOG', true, ezQtLogDockWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem(' MEM', true, ezQtMemoryWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('TIME', true, ezQtTimeWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem(' APP', true, ezQtMainWindow::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('FILE', true, ezQtFileWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('INPT', true, ezQtInputWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('STRT', true, ezQtSubsystemsWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('STAT', true, ezQtMainWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('PLUG', true, ezQtPluginsWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('EVNT', true, ezQtGlobalEventsWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('RFLC', true, ezQtReflectionWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('TRAN', true, ezQtDataWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('RESM', true, ezQtResourceWidget::ProcessTelemetry, nullptr); ezTelemetry::AcceptMessagesForSystem('RGPH', true, ezQtRenderGraphWidget::ProcessTelemetry, nullptr); QSettings Settings; const QString sServer = Settings.value("LastConnection", QLatin1String("localhost:1040")).toString(); // -url and -port can override the stored connection address const ezStringView sUrlArg = ezCommandLineUtils::GetGlobalInstance()->GetStringOption("-url"); const ezInt32 iPortArg = ezCommandLineUtils::GetGlobalInstance()->GetIntOption("-port", -1); ezStringBuilder sConnectTo(sServer.toUtf8().data()); if (!sUrlArg.IsEmpty() || iPortArg > 0) { const ezStringView sHost = sUrlArg.IsEmpty() ? ezStringView("localhost") : sUrlArg; if (iPortArg > 0) sConnectTo.SetFormat("{}:{}", sHost, iPortArg); else sConnectTo = sHost; // Persist the command-line override so the Connect dialog reflects it const QString sConnectToQt = QString::fromUtf8(sConnectTo.GetData()); Settings.setValue("LastConnection", sConnectToQt); MainWindow.SetConnectionTarget(sConnectToQt); } ezTelemetry::ConnectToServer(sConnectTo).IgnoreResult(); MainWindow.show(); SetReturnCode(app.exec()); ezTelemetry::CloseConnection(); QuitApplication(); } }; EZ_APPLICATION_ENTRY_POINT(ezInspectorApp);