From c5177fbcbd0a822e5a5652842c8b3b1598462b1e Mon Sep 17 00:00:00 2001 From: taynpg Date: Tue, 18 Mar 2025 12:00:05 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=B7=BB=E5=8A=A0gui=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E6=9E=B6=E5=AD=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 9 +++++---- CMakeLists.txt | 5 +++++ gui/CMakeLists.txt | 13 +++++++++++++ gui/main.cxx | 16 ++++++++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 gui/CMakeLists.txt create mode 100644 gui/main.cxx diff --git a/.vscode/settings.json b/.vscode/settings.json index 97ea828..6135342 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -27,10 +27,11 @@ "cmake.environment": { "PATH": "${env:PATH};" }, - // "cmake.configureArgs": [ - // "-Wno-dev", - // "-DSYSTEM_XP=ON" - // ], + "cmake.configureArgs": [ + "-Wno-dev", + "-DCMAKE_PREFIX_PATH:STRING=C:/taynpg/library/FLTK", + "-DTSCGUI=ON" + ], "cmake.options.statusBarVisibility": "visible", "cmake.generator": "Ninja", "C_Cpp.default.compileCommands": "${workspaceRoot}/build/compile_commands.json", diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a92045..3240411 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,6 +56,11 @@ add_subdirectory(server) add_subdirectory(client) add_subdirectory(filecomplete) +if(DEFINED TSCGUI) +message(STATUS "transm use TSCGUI defined ${TSCGUI}") +add_subdirectory(gui) +endif() + string(TIMESTAMP VERSION_BUILD_DATE "%Y-%m-%d %H:%M") execute_process( COMMAND git rev-parse --short HEAD diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt new file mode 100644 index 0000000..5bdc7cc --- /dev/null +++ b/gui/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.16) + +project(tsc-gui LANGUAGES CXX) + +# 查找 FLTK 模块 +find_package(FLTK REQUIRED NO_MODULE) +# 包含 FLTK 头文件 +include_directories(${FLTK_INCLUDE_DIRS}) +# 输出 FLTK 头文件路径 +message(STATUS "FLTK include: ${FLTK_INCLUDE_DIRS}") + +add_executable(tsc-gui main.cxx) +target_link_libraries(tsc-gui PRIVATE fltk::fltk) \ No newline at end of file diff --git a/gui/main.cxx b/gui/main.cxx new file mode 100644 index 0000000..8233f0e --- /dev/null +++ b/gui/main.cxx @@ -0,0 +1,16 @@ +#include +#include +#include + +int main(int argc, char** argv) +{ + Fl_Window* window = new Fl_Window(340, 180); + Fl_Box* box = new Fl_Box(20, 40, 300, 100, "Hello, World!"); + box->box(FL_UP_BOX); + box->labelfont(FL_BOLD + FL_ITALIC); + box->labelsize(36); + box->labeltype(FL_SHADOW_LABEL); + window->end(); + window->show(argc, argv); + return Fl::run(); +} \ No newline at end of file