diff --git a/Alice b/Alice
index 09d40869..08d33927 160000
--- a/Alice
+++ b/Alice
@@ -1 +1 @@
-Subproject commit 09d40869153fb2741875f93c9e4652838d332004
+Subproject commit 08d339274bcc2675311381deb175cdca7bdc3591
diff --git a/Designer/Data/UiApplicationConfig.xml b/Designer/Data/UiApplicationConfig.xml
index d6ba97c6..24a3be9c 100644
--- a/Designer/Data/UiApplicationConfig.xml
+++ b/Designer/Data/UiApplicationConfig.xml
@@ -6,6 +6,8 @@
+
+
diff --git a/Designer/Data/WorkBenchConfig.xml b/Designer/Data/WorkBenchConfig.xml
new file mode 100644
index 00000000..ea85b3e8
--- /dev/null
+++ b/Designer/Data/WorkBenchConfig.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Designer/Data/WorkBenchPreference.json b/Designer/Data/WorkBenchPreference.json
new file mode 100644
index 00000000..343f3b3a
--- /dev/null
+++ b/Designer/Data/WorkBenchPreference.json
@@ -0,0 +1,56 @@
+{
+ "schemaVersion": 1,
+ "lastActiveWorkbenchId": "workbench.home",
+ "preferredWorkbenchByDocType":
+ {
+ "doc.part": "workbench.part",
+ "doc.assembly": "workbench.assembly",
+ "doc.drawing": "workbench.drawing",
+ "doc.none": "workbench.home"
+ },
+ "workbenchSwitcher":
+ {
+ "orderedIds": ["workbench.home","workbench.part","workbench.assembly","workbench.drawing"],
+ "hiddenIds": [],
+ "pinnedIds": ["workbench.part","workbench.assembly"],
+ "showIcons": true,
+ "showText": true
+ },
+ "preferredWorkbenchByDocumentGuid":
+ {
+ "{0F8F64D5-3C6E-4C88-9A9A-2E6B0C0E11B1}": "workbench.part"
+ },
+ "openViewPolicy":
+ {
+ "openInitialViewsOnActivate": true,
+ "reuseExistingViews": true,
+ "openOnlyIfNoneOfKindExists": true
+ },
+
+ "layoutsByWorkbench":
+ {
+ "workbench.part":
+ {
+ "activeLayoutId": "default",
+ "layouts":
+ {
+ "default":
+ {
+ "dockState": "BASE64...",
+ "mdiState": "BASE64..."
+ },
+ "dualMonitor":
+ {
+ "dockState": "BASE64...",
+ "mdiState": "BASE64..."
+ }
+ }
+ }
+ },
+
+ "recentWorkbenches":
+ [
+ "workbench.part",
+ "workbench.assembly"
+ ]
+}
diff --git a/Designer/UI/SolidDesignerCommand/BaseCommands/SolidBaseCommand.cpp b/Designer/UI/SolidDesignerCommand/BaseCommands/SolidBaseCommand.cpp
index 7f906cf5..867a0983 100644
--- a/Designer/UI/SolidDesignerCommand/BaseCommands/SolidBaseCommand.cpp
+++ b/Designer/UI/SolidDesignerCommand/BaseCommands/SolidBaseCommand.cpp
@@ -9,14 +9,14 @@ using namespace sdr;
AppCommandBase::AppCommandBase() noexcept
: m_id()
- , m_strModuleId(GuidUtils::ToString(soliddesignercommand::MODULE_ID))
+ , m_strModuleId(GuidUtils::ToWString(soliddesignercommand::MODULE_ID))
{
}
AppCommandBase::AppCommandBase(std::string id) noexcept
: m_id(std::move(id))
- , m_strModuleId(GuidUtils::ToString(soliddesignercommand::MODULE_ID))
+ , m_strModuleId(GuidUtils::ToWString(soliddesignercommand::MODULE_ID))
{
}
diff --git a/Designer/UI/SolidDesignerCommand/SolidDesignerCommandRegister.cpp b/Designer/UI/SolidDesignerCommand/SolidDesignerCommandRegister.cpp
index 9d81b987..65003044 100644
--- a/Designer/UI/SolidDesignerCommand/SolidDesignerCommandRegister.cpp
+++ b/Designer/UI/SolidDesignerCommand/SolidDesignerCommandRegister.cpp
@@ -41,7 +41,7 @@ bool SolidDesignerCommandRegister::UnRegisterCommands()
ICommandRegistry* pCmdRegistry = pCmdRouter->GetCommandRegistry();
DIAG_RETURN_FALSE_IF_FALSE(pCmdRegistry, "pCmdRouter is null", "hananiah", "2025.11.2");
- std::wstring strModuleId = GuidUtils::ToString(soliddesignercommand::MODULE_ID);
+ std::wstring strModuleId = GuidUtils::ToWString(soliddesignercommand::MODULE_ID);
pCmdRegistry->UnRegisterCommandByModule(strModuleId);
return true;
}
diff --git a/Designer/UIResource/TitleBar/brand/sd_mark_16.svg b/Designer/UIResource/TitleBar/brand/sd_mark_16.svg
new file mode 100644
index 00000000..3c34108c
--- /dev/null
+++ b/Designer/UIResource/TitleBar/brand/sd_mark_16.svg
@@ -0,0 +1,30 @@
+
+
diff --git a/Designer/UIResource/TitleBar/ui/speech_16.svg b/Designer/UIResource/TitleBar/ui/speech_16.svg
new file mode 100644
index 00000000..f8184e53
--- /dev/null
+++ b/Designer/UIResource/TitleBar/ui/speech_16.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/Designer/UIResource/TitleBar/ui/window_minimize_16.svg b/Designer/UIResource/TitleBar/ui/window_minimize_16.svg
new file mode 100644
index 00000000..3aa3efed
--- /dev/null
+++ b/Designer/UIResource/TitleBar/ui/window_minimize_16.svg
@@ -0,0 +1,8 @@
+
+
diff --git a/Externals/3rdParty/include/rapidjson/CMakeLists.txt b/Externals/3rdParty/include/rapidjson/CMakeLists.txt
index 794e1712..de8ead56 100644
--- a/Externals/3rdParty/include/rapidjson/CMakeLists.txt
+++ b/Externals/3rdParty/include/rapidjson/CMakeLists.txt
@@ -1,4 +1,6 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
+message("=====================================Start RapidJSON=======================================")
+
+CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules)
@@ -194,7 +196,7 @@ install(FILES readme.md
# Add an interface target to export it
add_library(RapidJSON INTERFACE)
-
+set_target_properties(RapidJSON PROPERTIES FOLDER "Externals")
target_include_directories(RapidJSON INTERFACE $)
install(DIRECTORY include/rapidjson
@@ -254,4 +256,6 @@ IF(CMAKE_INSTALL_DIR)
INSTALL(TARGETS RapidJSON EXPORT RapidJSON-targets)
INSTALL(EXPORT RapidJSON-targets DESTINATION ${CMAKE_INSTALL_DIR})
-ENDIF()
\ No newline at end of file
+ENDIF()
+
+message("=====================================End RapidJSON=======================================")
\ No newline at end of file
diff --git a/Externals/3rdParty/include/rapidjson/example/CMakeLists.txt b/Externals/3rdParty/include/rapidjson/example/CMakeLists.txt
index 9f53c9aa..7c8bcb49 100644
--- a/Externals/3rdParty/include/rapidjson/example/CMakeLists.txt
+++ b/Externals/3rdParty/include/rapidjson/example/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 3.10)
if(POLICY CMP0054)
cmake_policy(SET CMP0054 NEW)
diff --git a/Externals/3rdParty/include/rapidjson/thirdparty/gtest/CMakeLists.txt b/Externals/3rdParty/include/rapidjson/thirdparty/gtest/CMakeLists.txt
index f8a97faa..a47cb18e 100644
--- a/Externals/3rdParty/include/rapidjson/thirdparty/gtest/CMakeLists.txt
+++ b/Externals/3rdParty/include/rapidjson/thirdparty/gtest/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.6.4)
+cmake_minimum_required(VERSION 3.10)
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
diff --git a/Externals/3rdParty/include/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt b/Externals/3rdParty/include/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt
index b09c46ed..7bcdaf7f 100644
--- a/Externals/3rdParty/include/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt
+++ b/Externals/3rdParty/include/rapidjson/thirdparty/gtest/googletest/CMakeLists.txt
@@ -50,7 +50,7 @@ else()
cmake_policy(SET CMP0048 NEW)
project(gtest VERSION 1.9.0 LANGUAGES CXX C)
endif()
-cmake_minimum_required(VERSION 2.6.4)
+cmake_minimum_required(VERSION 3.10)
if (POLICY CMP0063) # Visibility
cmake_policy(SET CMP0063 NEW)
diff --git a/Externals/spdlog/CMakeLists.txt b/Externals/spdlog/CMakeLists.txt
index 4613e41e..1f865ee8 100644
--- a/Externals/spdlog/CMakeLists.txt
+++ b/Externals/spdlog/CMakeLists.txt
@@ -1,5 +1,5 @@
# Copyright(c) 2019 spdlog authors Distributed under the MIT License (http://opensource.org/licenses/MIT)
-
+message("=====================================Start spdlog=======================================")
cmake_minimum_required(VERSION 3.10...3.21)
# ---------------------------------------------------------------------------------------
@@ -407,3 +407,4 @@ if(SPDLOG_INSTALL)
# ---------------------------------------------------------------------------------------
include(cmake/spdlogCPack.cmake)
endif()
+message("=====================================End spdlog=======================================")
\ No newline at end of file