Added ImGuiFileDialog to the project for opening ROMs
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
||||
[submodule "src/Library/imgui"]
|
||||
path = src/Library/imgui
|
||||
url = https://github.com/ocornut/imgui.git
|
||||
[submodule "src/Library/ImGuiFileDialog"]
|
||||
path = src/Library/ImGuiFileDialog
|
||||
url = https://github.com/aiekick/ImGuiFileDialog.git
|
||||
|
||||
@@ -36,11 +36,25 @@ void Editor::DrawYazeMenu() const {
|
||||
}
|
||||
ImGui::EndMenuBar();
|
||||
}
|
||||
|
||||
// display
|
||||
if (ImGuiFileDialog::Instance()->Display("ChooseFileDlgKey")) {
|
||||
// action if OK
|
||||
if (ImGuiFileDialog::Instance()->IsOk()) {
|
||||
std::string filePathName = ImGuiFileDialog::Instance()->GetFilePathName();
|
||||
std::string filePath = ImGuiFileDialog::Instance()->GetCurrentPath();
|
||||
}
|
||||
|
||||
// close
|
||||
ImGuiFileDialog::Instance()->Close();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void Editor::DrawFileMenu() const {
|
||||
if (ImGui::MenuItem("Open", "Ctrl+O")) {
|
||||
// TODO: Add the ability to open ALTTP ROM
|
||||
ImGuiFileDialog::Instance()->OpenDialog("ChooseFileDlgKey", "Open ROM", ".sfc,.smc", ".");
|
||||
}
|
||||
if (ImGui::BeginMenu("Open Recent")) {
|
||||
ImGui::MenuItem("alttp.sfc");
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "imgui/backends/imgui_impl_sdl.h"
|
||||
#include "imgui/backends/imgui_impl_sdlrenderer.h"
|
||||
#include "imgui/misc/cpp/imgui_stdlib.h"
|
||||
#include "ImGuiFileDialog/ImGuiFileDialog.h"
|
||||
|
||||
namespace yaze {
|
||||
namespace Application {
|
||||
|
||||
@@ -15,6 +15,14 @@ target_include_directories("ImGui" PUBLIC ${IMGUI_PATH})
|
||||
target_include_directories(ImGui PUBLIC ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(ImGui PUBLIC IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
# ImGuiFileDialog
|
||||
set(IMGUI_FILE_DLG_PATH "Library/ImGuiFileDialog")
|
||||
file(GLOB IMGUI_FILE_DLG_SOURCES ${IMGUI_FILE_DLG_PATH}/*.cpp)
|
||||
add_library("ImGuiFileDialog" STATIC ${IMGUI_FILE_DLG_SOURCES})
|
||||
target_include_directories(ImGuiFileDialog PUBLIC ${IMGUI_PATH})
|
||||
target_include_directories(ImGuiFileDialog PUBLIC ${SDL2_INCLUDE_DIR})
|
||||
target_compile_definitions(ImGuiFileDialog PUBLIC IMGUI_IMPL_OPENGL_LOADER_CUSTOM=<SDL2/SDL_opengl.h> GL_GLEXT_PROTOTYPES=1)
|
||||
|
||||
# Executable Linkage --------------------------------------------------------------------------------------
|
||||
add_executable(
|
||||
yaze
|
||||
@@ -32,6 +40,7 @@ add_executable(
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdl.cpp
|
||||
${IMGUI_PATH}/backends/imgui_impl_sdlrenderer.cpp
|
||||
${IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
|
||||
${IMGUI_FILE_DLG_PATH}/ImGuiFileDialog.cpp
|
||||
)
|
||||
|
||||
target_include_directories(
|
||||
|
||||
1
src/Library/ImGuiFileDialog
Submodule
1
src/Library/ImGuiFileDialog
Submodule
Submodule src/Library/ImGuiFileDialog added at dabf09615e
Reference in New Issue
Block a user