devtools: regview layout compacted

This commit is contained in:
Vinicius Rangel 2024-10-15 03:20:45 -03:00
parent 02f42b8e0a
commit d56abb0026
No known key found for this signature in database
GPG Key ID: A5B154D904B761D9
2 changed files with 13 additions and 5 deletions

View File

@ -1314,7 +1314,12 @@ void CmdListViewer::Draw() {
pop.open = true; pop.open = true;
} else { } else {
batch_view.SetData(data, name, batch_id); batch_view.SetData(data, name, batch_id);
batch_view.open = true; if (!batch_view.open) {
batch_view.open = true;
const auto pos = GImGui->LastItemData.Rect.Max + ImVec2(5.0f, 0.0f);
SetNextWindowPos(pos, ImGuiCond_Always);
batch_view.Draw();
}
} }
} }
}; };

View File

@ -11,6 +11,7 @@
#include "common.h" #include "common.h"
#include "common/io_file.h" #include "common/io_file.h"
#include "core/devtools/options.h" #include "core/devtools/options.h"
#include "imgui/imgui_std.h"
#include "imgui_internal.h" #include "imgui_internal.h"
#include "reg_view.h" #include "reg_view.h"
@ -73,7 +74,7 @@ void RegView::ProcessShader(int shader_id) {
MemoryEditor hex_view; MemoryEditor hex_view;
hex_view.Open = true; hex_view.Open = true;
hex_view.ReadOnly = true; hex_view.ReadOnly = true;
hex_view.Cols = 16; hex_view.Cols = 8;
hex_view.OptShowAscii = false; hex_view.OptShowAscii = false;
hex_view.OptShowOptions = false; hex_view.OptShowOptions = false;
@ -175,7 +176,7 @@ RegView::RegView() {
char name[128]; char name[128];
snprintf(name, sizeof(name), "###reg_dump_%d", id); snprintf(name, sizeof(name), "###reg_dump_%d", id);
SetNextWindowPos({400.0f, 200.0f}); SetNextWindowPos({400.0f, 200.0f});
SetNextWindowSize({450.0f, 500.0f}); SetNextWindowSize({290.0f, 425.0f});
ImGuiID root_dock_id; ImGuiID root_dock_id;
Begin(name); Begin(name);
{ {
@ -189,7 +190,7 @@ RegView::RegView() {
ImGuiID up1, down1; ImGuiID up1, down1;
DockBuilderRemoveNodeChildNodes(root_dock_id); DockBuilderRemoveNodeChildNodes(root_dock_id);
DockBuilderSplitNode(root_dock_id, ImGuiDir_Up, 0.13f, &up1, &down1); DockBuilderSplitNode(root_dock_id, ImGuiDir_Up, 0.19f, &up1, &down1);
snprintf(name, sizeof(name), "User data###reg_dump_%d/user_data", id); snprintf(name, sizeof(name), "User data###reg_dump_%d/user_data", id);
DockBuilderDockWindow(name, up1); DockBuilderDockWindow(name, up1);
@ -221,6 +222,8 @@ void RegView::Draw() {
if (Begin(name, &open, ImGuiWindowFlags_MenuBar)) { if (Begin(name, &open, ImGuiWindowFlags_MenuBar)) {
const char* names[] = {"vs", "ps", "gs", "es", "hs", "ls"}; const char* names[] = {"vs", "ps", "gs", "es", "hs", "ls"};
KeepWindowInside();
if (BeginMenuBar()) { if (BeginMenuBar()) {
if (BeginMenu("Windows")) { if (BeginMenu("Windows")) {
Checkbox("Registers", &show_registers); Checkbox("Registers", &show_registers);
@ -268,7 +271,7 @@ void RegView::Draw() {
if (show_user_data) { if (show_user_data) {
snprintf(name, sizeof(name), "User data###reg_dump_%d/user_data", id); snprintf(name, sizeof(name), "User data###reg_dump_%d/user_data", id);
if (Begin(name, &show_user_data)) { if (Begin(name, &show_user_data, ImGuiWindowFlags_NoScrollbar)) {
auto shader = get_shader(); auto shader = get_shader();
if (!shader) { if (!shader) {
Text("Stage not selected"); Text("Stage not selected");