diff --git a/CMakeLists.txt b/CMakeLists.txt index abe230b5d2d66fbc70d51396155c1d157d391122..756eb8ad4ac50e4372033e323509992e31a3210e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,11 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.31.6 FATAL_ERROR) PROJECT("NahidaProject") +SET(CMAKE_CXX_STANDARD 20) +SET(CMAKE_CXX_STANDARD_REQUIRED ON) + OPTION(BUILD_THIRDPARTY "Specific build thrid-party module" OFF) +OPTION(BUILD_COMMUNICATION "Specific build communication module" ON) OPTION(BUILD_CONSOLE "Specific build console module" ON) OPTION(BUILD_DATABASE "Specific build database module" ON) OPTION(BUILD_GENERIC "Specific build generic module" ON) @@ -10,7 +14,6 @@ OPTION(BUILD_HASHALGORITHM "Specific build hash algorithm" ON) OPTION(BUILD_MATHEMATICS "Specific mathematics module" ON) OPTION(BUILD_OTHER "Specific build other module" ON) OPTION(BUILD_SERIALIZATION "Specific build serialization module" ON) -OPTION(BUILD_SYSTEM "Specific build system module" ON) OPTION(BUILD_THREAD "Specific build thread module" ON) OPTION(BUILD_UNITTEST "Specific build unit test module" ON) @@ -29,39 +32,33 @@ ENDIF() IF(FALSE) ADD_SUBDIRECTORY("NahidaProject.ThirdParty") ENDIF() - +IF(${BUILD_COMMUNICATION}) + ADD_SUBDIRECTORY("NahidaProject.Communication") +ENDIF() IF(${BUILD_CONSOLE}) ADD_SUBDIRECTORY("NahidaProject.Console") ENDIF() - IF(${BUILD_DATABASE}) ADD_SUBDIRECTORY("NahidaProject.Database") ENDIF() - IF(${BUILD_GENERIC}) ADD_SUBDIRECTORY("NahidaProject.Generic") ENDIF() - IF(${BUILD_HASHALGORITHM}) ADD_SUBDIRECTORY("NahidaProject.HashAlgorithm") ENDIF() - IF(${BUILD_MATHEMATICS}) ADD_SUBDIRECTORY("NahidaProject.Mathematics") ENDIF() - IF(${BUILD_OTHER}) ADD_SUBDIRECTORY("NahidaProject.Other") ENDIF() - IF(${BUILD_SERIALIZATION}) ADD_SUBDIRECTORY("NahidaProject.Serialization") ENDIF() - IF(${BUILD_THREAD}) ADD_SUBDIRECTORY("NahidaProject.Thread") ENDIF() - IF(${BUILD_UNITTEST}) ADD_SUBDIRECTORY("NahidaProject.UnitTest") ENDIF() diff --git a/CMakeModules/ProjectInstall.cmake b/CMakeModules/ProjectInstall.cmake new file mode 100644 index 0000000000000000000000000000000000000000..445bee1fb801aa81b4989085c8b261b4ab58d685 --- /dev/null +++ b/CMakeModules/ProjectInstall.cmake @@ -0,0 +1,3 @@ +FUNCTION() + +ENDFUNCTION() \ No newline at end of file diff --git a/CMakeModules/RegisterSubproject.cmake b/CMakeModules/RegisterSubproject.cmake index e8eb785d3014218b781c6100644ab5350a8f9347..e5dc4e31463d50277a6b3177b5c5fecbc43d7330 100644 --- a/CMakeModules/RegisterSubproject.cmake +++ b/CMakeModules/RegisterSubproject.cmake @@ -1,6 +1,6 @@ -# CMakeList.txt: NahidaProject 的 CMake 模块,在此处定义项目特定的全局逻辑。 +# RegisterSubproject.cmake: NahidaProject 的 CMake 模块,在此处定义项目特定的全局逻辑。 -FUNCTION(REGISTER_SUBPROJECT MODULEID) +FUNCTION(REGISTER_SUBPROJECT MODULEID IS_BUILDPYTHON) FILE(GLOB TESTFILE ${CMAKE_SOURCE_DIR}/NahidaProject.UnitTest/Sources/*.cpp ${CMAKE_SOURCE_DIR}/NahidaProject.UnitTest/Sources/*.h @@ -26,5 +26,21 @@ FUNCTION(REGISTER_SUBPROJECT MODULEID) SET_PROPERTY(TARGET NahidaProject.${MODULEID} PROPERTY CXX_STANDARD 20) ENDIF() + IF(${IS_BUILDPYTHON}) + SET(pybind11_DIR "") + + FIND_PACKAGE(Python COMPONENTS Interpreter Development REQUIRED) + FIND_PACKAGE(pybind11 REQUIRED) + + pybind11_add_module("NahidaProject_${MODULEID}" + ${ALL_SOURCECODE} + ${ALL_HEADERFILE} + ${CMAKE_SOURCE_DIR}/NahidaProject.${MODULEID}/Sources/__PythonExport.cxx + ) + + TARGET_INCLUDE_DIRECTORIES("NahidaProject_${MODULEID}" PRIVATE include) + SET_TARGET_PROPERTIES("NahidaProject_${MODULEID}" PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/PythonModule) + ENDIF() + MESSAGE("Load subproject [${MODULEID}] done.") ENDFUNCTION() \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000000000000000000000000000000000000..3a7678e416b12ca50996a4602a814222a9426ee7 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,107 @@ +# 璐$尞鑰呭叕绾 + +## 鎴戜滑鐨勬壙璇 + +鎴戜滑鎵胯浣挎垜浠殑绀惧尯瀵规墍鏈変汉淇濇寔鍙嬪ソ銆佸畨鍏ㄤ笖鍏钩銆 + +鎴戜滑鎵胯钀ラ犱竴涓皧閲嶅苟淇冭繘姣忎綅涓綋灏婁弗銆佹潈鍒╀笌璐$尞鐨勭幆澧冿紝鏃犺鍏剁鏃忋佹皯鏃忋佺濮撱佽偆鑹层佸勾榫勩佷綋璨岀壒寰併佺缁忓鏍锋с佹畫鐤剧姸鍐点佺敓鐞嗘у埆鎴栫ぞ浼氭у埆銆佹у埆璁ゅ悓鎴栬〃杈俱佹у彇鍚戙佽瑷銆佸摬瀛︽垨瀹楁暀淇′话銆佸浗绫嶆垨绀句細鍑鸿韩銆佺ぞ浼氱粡娴庡湴浣嶃佹暀鑲茬▼搴︽垨鍏朵粬韬唤灞炴с傛墍鏈夌湡璇氬弬涓庡苟閬靛畧鏈叕绾﹁咃紝鍧囦韩鏈夊悓绛夌殑鍙備笌鏉冨埄銆 + +## 鍙楅紦鍔辩殑琛屼负 + +铏界劧鍚勮嚜鐨勭ぞ浼氳鑼冨彲鑳芥湁宸紓锛屼絾鎴戜滑閮藉姫鍔涜揪鍒拌繖涓ぞ鍖哄绉瀬琛屼负鐨勬湡寰呫傛垜浠篃浜嗚В锛屽洜涓烘枃鍖栥佽儗鏅垨姣嶈鐨勪笉鍚岋紝鍒汉瀵规垜浠殑瑷琛岀殑瑙h鍙兘涓嶅悓浜庢垜浠殑鍒濊》銆 + +鑰冭檻鍒颁互涓婅繖浜涳紝鎴戜滑鎵胯浠ュ鎱庣殑鎬佸害褰兼鐩稿緟锛屽苟浠ヨ返琛屼互涓嬪叡鍚屼环鍊间负琛屼负鍑嗗垯锛 + +* 灏婇噸鎴戜滑绀惧尯鐨勫畻鏃ㄣ佸悇椤规椿鍔ㄥ強闆嗕細鏂瑰紡 +* 浠ュ杽鎰忎笌璇氬疄鐨勬佸害涓庝粬浜轰簰鍔 +* 灏婇噸涓嶅悓鐨勮鐐逛笌缁忓巻 +* 瀵硅嚜宸辩殑瑷琛屽強璐$尞璐熻矗 +* 浠ュ緱浣撶殑鏂瑰紡缁欎簣骞舵帴鍙楀缓璁炬ф剰瑙 +* 鎵胯鍦ㄩ犳垚浼ゅ鏃惰繘琛屽讥琛 +* 閲囧彇鍏朵粬鏈夌泭浜庣ぞ鍖虹绁夌殑琛屼负 + +## 鍙楅檺鍒剁殑琛屼负 + +鎴戜滑鍚屾剰鍦ㄧぞ鍖哄唴闄愬埗浠ヤ笅琛屼负銆傚嚭鐜拌繖浜涜涓恒佸▉鑳佸疄鏂借繖浜涜涓恒佹垨瀹d紶杩欎簺琛屼负锛屽潎瑙嗕负杩濆弽鏈涓哄噯鍒欍 + +* 楠氭壈锛氬湪鏄庣‘琛ㄨ揪鐣岄檺鍚庝粛渚电姱杩欎簺鐣岄檺锛屾垨鍦ㄨ娓呮瑕佹眰鍋滄鍚庯紝浠嶈繘琛屼笉蹇呰鐨勪釜浜哄叧娉ㄣ +* 浜鸿韩鏀诲嚮锛氶拡瀵圭ぞ鍖烘垚鍛樻垨缇や綋鍙戣〃渚颈銆佽船浣庢垨甯︽湁钄戣鎬х殑瑷璁恒 +* 鍒绘澘鍗拌薄鎴栨瑙嗭細鍩轰簬鏃犳硶鏀瑰彉鐨勮韩浠芥垨鐗瑰緛锛屾潵璇勫垽浠栦汉鐨勬ф牸鎴栬涓恒 +* 鎬у寲锛氬仛鍑哄湪绀惧尯鍦烘櫙鎴栧畻鏃ㄤ笅鏅亶璁や负涓嶆伆褰撶殑浜插瘑涓惧姩銆 +* 渚电姱淇濆瘑鎬э細鏈粡鍏佽鍒嗕韩鎴栧埄鐢ㄤ粬浜虹殑涓汉鎴栭殣绉佷俊鎭 +* 鍗卞琛屼负锛氬浠讳綍浜烘垨缇や綋瀹炴柦銆佺吔鍔ㄦ垨濞佽儊鏂藉姞鏆村姏鍙婂叾浠栦激瀹炽 +* 鍏朵粬濞佽儊绀惧尯绂忕鐨勮涓恒 + +### 鍏朵粬闄愬埗琛屼负 + +铏氬亣韬唤锛氬嚭浜庝换浣曞師鍥犲啋鍏呬粬浜猴紝鎴栧亣鎵粬浜轰互瑙勯伩鐩戠鎺柦銆 + +鏈纭爣鏄庢潵婧愶細鏈纭爣鏄庢墍璐$尞鍐呭鐨勬潵婧愩 + +瀹d紶鏉愭枡锛氫互涓嶇鍚堢ぞ鍖鸿鑼冪殑鏂瑰紡鍒嗕韩钀ラ攢鎴栧叾浠栧晢涓氬唴瀹广 + +涓嶅綋浼犳挱锛氭湭鑳戒互璐熻矗浠荤殑鏂瑰紡鍛堢幇鍖呭惈銆侀摼鎺ユ垨鎻忚堪浠讳綍鍏朵粬鍙楅檺鍒惰涓虹殑鍐呭銆 + +## 閫氭姤闂 + +鍗充娇绀惧尯鎴愬憳涔嬮棿灏藉叾鎵鑳藉湴鍚堜綔锛屼篃浠嶇劧鍙兘鍙戠敓鐭涚浘銆傚苟涓嶆槸鎵鏈夊啿绐侀兘娑夊強杩濆弽琛屼负鍑嗗垯锛屾湰鍑嗗垯鏃ㄥ湪寮哄寲鍙楅紦鍔辩殑琛屼负涓庤鑼冿紝瀹冧滑鏈夊姪浜庨闃插啿绐佸苟灏嗕激瀹抽檷鍒版渶浣庛 + +褰撲簨浠跺彂鐢熸椂锛屽強鏃舵姤鍛婇潪甯搁噸瑕併傝鎶ュ憡鍙兘鐨勮繚瑙勮涓猴紝璇峰彂閫侀偖浠惰嚦锛歨ezonglun123456@outlook.com銆 + +绀惧尯绠$悊鍛樹細涓ヨ們瀵瑰緟杩濊鎶ュ憡锛屽苟灏藉姏鍙婃椂鍥炲簲銆傚皢瀵规墍鏈夎繚鍙嶈涓哄噯鍒欑殑鎶ュ憡灞曞紑璋冩煡锛屾柟寮忓寘鎷煡闃呮秷鎭佹棩蹇楀強褰曢煶锛屾垨璁胯皥璇佷汉鍙婂叾浠栫浉鍏冲弬涓庝汉銆傜ぞ鍖虹鐞嗗憳鍦ㄤ紭鍏堜繚闅滃畨鍏ㄤ笌淇濆瘑鎬х殑鍓嶆彁涓嬶紝浼氬敖鍙兘淇濇寔璋冩煡涓庢墽琛岃繃绋嬬殑閫忔槑搴︺備负璺佃杩欎簺浠峰艰锛屾墽琛屾帾鏂戒細鍦ㄦ秹浜嬪悇鏂圭殑绉佷笅鐜涓繘琛岋紝浣嗗缁忓悇鏂瑰悓鎰忥紝灏嗕簨浠堕氭姤鍏ㄤ綋绀惧尯涔熷彲浠ヤ綔涓鸿В鍐虫柟妗堢殑涓閮ㄥ垎銆 + +## 澶勭悊涓庡讥琛ヤ激瀹 + +鑻ョぞ鍖虹鐞嗗憳缁忚皟鏌ョ‘璁ゅ瓨鍦ㄨ繚鍙嶆琛屼负鍑嗗垯鐨勮涓猴紝灏嗗弬鐓т互涓"鍒嗙骇澶勭悊"鏈哄埗锛屾牴鎹簨浠跺鐩稿叧浜哄憳鍙婄ぞ鍖烘暣浣撻犳垚鐨勫奖鍝嶇▼搴︼紝纭畾鏈閫傚疁鐨勪激瀹冲讥琛ユ柟妗堛傛牴鎹繚瑙勪弗閲嶇▼搴︼紝鍙烦杩囪緝浣庣骇鍒殑澶勭悊鎺柦銆 + +* 璀﹀憡 + + - 浜嬩欢锛氬崟娆℃垨杩炵画杩濊琛屼负 + + - 鍚庢灉锛氱ぞ鍖虹鐞嗗憳灏嗗彂鍑轰功闈㈢淇¤鍛 + + - 寮ヨˉ锛氬讥琛ョ殑鏂瑰紡濡備功闈㈢涓嬭嚧姝夈佸潶鎵胯嚜宸辩殑璐d换锛屾垨涓诲姩纭娓呮浠婂悗璇ュ浣曞仛鎵嶇鍚堟湡寰呫 + + +* 鏆傛椂闄愬埗娲诲姩 + + - 浜嬩欢锛氶噸澶嶉犳垚鍏堝墠宸茶璀﹀憡鐨勮繚瑙勶紝鎴栭娆″彂鐢熺暐涓轰弗閲嶇殑杩濊琛屼负銆 + + - 鍚庢灉锛氬彂鍑虹涓嬬殑涔﹂潰璀﹀憡锛屽苟璁惧畾涓涓湁鏃堕棿闄愬埗鐨勫喎闈欐湡锛屾棬鍦ㄥ己璋冧簨鎬佺殑涓ラ噸鎬э紝骞惰鐩稿叧绀惧尯鎴愬憳鏈夋椂闂存秷鍖栦笌澶勭悊璇ヤ簨浠躲傚喎闈欐湡鍙兘鏄檺鍒跺湪鐗瑰畾鐨勪氦娴佹笭閬擄紝鎴栭檺鍒朵笌鐗瑰畾绀惧尯鎴愬憳鐨勪簰鍔ㄣ + + - 寮ヨˉ锛氫慨澶嶇殑鏂瑰紡鍙兘鍖呮嫭閬撴瓑銆佸埄鐢ㄥ喎闈欐湡鍙嶆濊嚜韬涓哄強鍏跺奖鍝嶏紝浠ュ強鍏呭垎鎰忚瘑鍒板湪鍐烽潤鏈熺粨鏉熷悗濡備綍閲嶆柊杩涘叆绀惧尯绌洪棿銆 + +* 鏆傛椂鍋滄潈 + + - 浜嬩欢锛氬嚭鐜扮ぞ鍖虹鐞嗗憳宸插娆¤鍛婂悗浠嶇劧閲嶅杩濊鐨勬ā寮忥紝鎴栦竴娆′弗閲嶈繚瑙勮涓恒 + + - 鍚庢灉锛氬彂鍑虹涓嬬殑涔﹂潰璀﹀憡锛屽苟闄勪笂鎭㈠鏉冮檺鎵闇婊¤冻鐨勬潯浠躲傞氬父锛屼复鏃跺仠鏉冩棬鍦ㄧ粰浜堣鍋滄潈鑰呮椂闂达紝鍙嶆濆叾琛屼负浠ュ強鑰冭檻鍙兘鐨勬敼姝f帾鏂姐 + + - 寮ヨˉ锛氬讥琛ョ殑鏉′欢鍖呮嫭灏婇噸鍋滄潈鐨勬剰鏃ㄣ佽揪鎴愭仮澶嶆潈闄愮殑鎸囧畾鏉′欢锛屼互鍙婂厖鍒嗚璇嗗埌鍦ㄥ仠鏉冭В闄ゅ悗濡備綍閲嶆柊铻嶅叆绀惧尯銆 + + +* 姘镐箙灏佺 + + - 浜嬩欢锛氬娆¤繚鍙嶈涓哄噯鍒欙紝涓斿叾浠栧垎绾у鐞嗘帾鏂藉潎鏈兘瑙e喅闂锛屾垨鍙戠敓涓ラ噸鍒扮ぞ鍖虹鐞嗗憳璁ゅ畾鏃犳硶鍦ㄨ鎴愬憳缁х画瀛樺湪鐨勬儏鍐典笅淇濋殰绀惧尯瀹夊叏鐨勮繚瑙勮涓恒 + + - 鍚庢灉锛氭挙閿鍏跺鎵鏈夌ぞ鍖虹┖闂淬佸伐鍏峰強浜ゆ祦娓犻亾鐨勮闂潈闄愩備竴鑸岃█锛屾案涔呭皝绂佸簲鏋佸皯浣跨敤锛屽繀椤绘湁鍏呭垎涓旀湁鍔涚殑鐞嗙敱锛屼笖浠呭湪鍏朵粬寮ヨˉ鎵嬫鏈兘鏀瑰彉鍏惰涓烘椂鎵嶄綔涓烘渶鍚庢墜娈靛疄鏂姐 + + - 寮ヨˉ锛氭绫讳弗閲嶆儏褰笅锛屼笉瀛樺湪鍙鐨勫讥琛ラ斿緞銆 + +鏈垎绾у鐞嗘帾鏂芥棬鍦ㄤ綔涓烘寚瀵兼柟閽堬紝骞朵笉闄愬埗绀惧尯绠$悊鑰呭湪绗﹀悎绀惧尯鏈澶у埄鐩婄殑鍓嶆彁涓嬶紝杩愮敤鍏惰嚜涓昏閲忔潈涓庡垽鏂姏銆 + +## 鏂借鑼冨洿 + +鏈涓哄噯鍒欓傜敤浜庣ぞ鍖烘墍鏈夌┖闂达紝鍚屾椂涔熼傜敤浜庝釜浜哄湪鍏叡鍦哄悎鎴栧叾浠栧満鍚堟寮忎唬琛ㄧぞ鍖虹殑鎯呭喌銆備唬琛ㄧぞ鍖虹殑琛屼负鍖呮嫭浣嗕笉闄愪簬锛 + +* 浣跨敤瀹樻柟鐢靛瓙閭欢鍦板潃銆 +* 閫氳繃瀹樻柟绀句氦濯掍綋璐﹀彿鍙戝竷鍐呭銆 +* 浣滀负鎸囧畾浠h〃鍑哄腑绾夸笂鎴栫嚎涓嬫椿鍔ㄣ + +## 璐$尞褰掑睘 + +鏈涓哄噯鍒欐敼缂栬嚜 璐$尞鑰呭叕绾 3.0 鐗堬紝璇ュ叕绾︽案涔呭彲鍦ㄦ鏌ラ槄锛歨ttps://www.contributor-covenant.org/version/3/0/銆 + +璐$尞鑰呭叕绾︾敱 Organization for Ethical Source 璐熻矗缁存姢锛屽苟浠 CC BY-SA 4.0 璁稿彲鍗忚鍙戝竷銆傛煡鐪嬭璁稿彲鍗忚璇疯闂細https://creativecommons.org/licenses/by-sa/4.0/銆 + +鍏充簬璐$尞鑰呭叕绾︾殑甯歌闂瑙g瓟锛岃鍙傞槄锛歨ttps://www.contributor-covenant.org/faq銆 鍚勮瑷鐗堟湰璇戞枃璇疯锛歨ttps://www.contributor-covenant.org/translations銆 鏇村鎵ц涓庣ぞ鍖烘寚鍗楄祫婧愯瑙侊細https://www.contributor-covenant.org/resources銆 鏈垎绾ф帾鏂界殑鐏垫劅鏉ユ簮浜 Mozilla 琛屼负鍑嗗垯鍥㈤槦鐨勫伐浣溿 diff --git a/Documents/NahidaProjectIcon.png b/Documents/NahidaProjectIcon.png deleted file mode 100644 index 91464109171f407cfa576ac097bf50338c1ee867..0000000000000000000000000000000000000000 Binary files a/Documents/NahidaProjectIcon.png and /dev/null differ diff --git a/Documents/PureDocument/NahidaProject-Console/ChooseDialog.md b/Documents/PureDocument/NahidaProject-Console/ChooseDialog.md deleted file mode 100644 index 0fa77c14cbdd407187a0eb3053413a199ba817a6..0000000000000000000000000000000000000000 --- a/Documents/PureDocument/NahidaProject-Console/ChooseDialog.md +++ /dev/null @@ -1,185 +0,0 @@ -# ChooseDialog 绫 - -鎻愪緵鎺у埗鍙颁腑鐨勯夋嫨椤甸潰銆 - -## 璇硶 - -``` cpp -namespace NahidaProject::ChooseDialog -``` - -## 鎴愬憳 - -### 鍏叡鏋勯犲嚱鏁 - -|鍚嶇О |鎻忚堪 | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------| -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, wchar_t cursorStyle,int optsPerPage, const std\::wstring& instruction):VerticalMenu(menuTitle, cursorStyle, optsPerPage, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忋侀夐」浠嬬粛鐨勫閫夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, wchar_t cursorStyle, int optsPerPage): VerticalMenu(menuTitle, cursorStyle, optsPerPage) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑澶氶夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, int optsPerPage,const std\::wstring& instruction):VerticalMenu(menuTitle, optsPerPage, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑澶氶夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, wchar_t cursorStyle,const std\::wstring& instruction) : VerticalMenu(menuTitle, cursorStyle, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑澶氶夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, const std\::wstring& instruction): VerticalMenu(menuTitle, instruction) |甯︽爣棰樸侀夐」浠嬬粛鐨勫閫夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, int optsPerPage): VerticalMenu(menuTitle, optsPerPage) |甯︽爣棰樸佹瘡椤垫暟閲忕殑澶氶夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle, wchar_t cursorStyle): VerticalMenu(menuTitle, cursorStyle) |甯︽爣棰橈紝閫夋嫨鏍峰紡鐨勫閫夋 | -|NahidaProject\::ChooseDialog\::CheckboxMenu\::CheckboxMenu(const std\::wstring& menuTitle): VerticalMenu(menuTitle) |甯︽爣棰樼殑澶氶夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, wchar_t cursorStyle, int optsPerPage, const std::wstring& instruction) : VerticalMenu(menuTitle, cursorStyle, optsPerPage, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忋侀夐」浠嬬粛鐨勫崟閫夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, wchar_t cursorStyle, int optsPerPage) : VerticalMenu(menuTitle, cursorStyle, optsPerPage) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑鍗曢夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, int optsPerPage, const std\::wstring& instruction) : VerticalMenu(menuTitle, optsPerPage, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑鍗曢夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, wchar_t cursorStyle, const std\::wstring& instruction) : VerticalMenu(menuTitle, cursorStyle, instruction) |甯︽爣棰橈紝閫夋嫨鏍峰紡銆佹瘡椤垫暟閲忕殑鍗曢夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, const std\::wstring& instruction) : VerticalMenu(menuTitle, instruction) |甯︽爣棰樸侀夐」浠嬬粛鐨勫崟閫夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, int optsPerPage) : VerticalMenu(menuTitle, optsPerPage) |甯︽爣棰樸佹瘡椤垫暟閲忕殑鍗曢夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle, wchar_t cursorStyle) : VerticalMenu(menuTitle, cursorStyle) |甯︽爣棰橈紝閫夋嫨鏍峰紡鐨勫崟閫夋 | -|NahidaProject\::ChooseDialog\::RadioMenu\::RadioMenu(const std\::wstring& menuTitle) : VerticalMenu(menuTitle) |甯︽爣棰樼殑鍗曢夋 | -|NahidaProject\::ChooseDialog\::PromptMenu\::PromptMenu(const std\::wstring& menuTitle) : HorizontalMenu(menuTitle) |閫夋嫨妗 | - - -### 鍏叡鏂规硶 - -|鍚嶇О |鎻忚堪 | -|--------------------------------------------------------------------------------------------------------------------------------------------|---------------------| -|void NahidaProject\::ChooseDialog\::CheckboxMenu\::AddOption(const std\::wstring& optDisplayName, const std\::wstring& optDescription = L"")|娣诲姞閫夐」 | -|void NahidaProject\::ChooseDialog\::RadioMenu\::AddOption(const std\::wstring& optDisplayName, const std\::wstring& optDescription = L"") |娣诲姞閫夐」 | -|void NahidaProject\::ChooseDialog\::CheckboxMenu\::Execute() |鐢熸垚骞舵樉绀洪夊崟 | -|void NahidaProject\::ChooseDialog\::RadioMenu\::Execute() |鐢熸垚骞舵樉绀洪夊崟 | -|void NahidaProject\::ChooseDialog\::PromptMenu\::Execute() |鐢熸垚骞舵樉绀洪夊崟 | -|BOOL NahidaProject\::ChooseDialog\::Option\::IsSelected() |鏄惁閫夋嫨 | -|MenuState NahidaProject\::ChooseDialog\::BasicMenu\::GetState() |鑾峰彇閫夐」鐘舵 | -|std::vector\ NahidaProject\::ChooseDialog\::MenuState\::GetSelectedOptions() |鑾峰彇鏈夊摢浜涢夐」琚変腑 | - -## 娉ㄨВ - - - -## 瑕佹眰 - -`#include "ChooseDialog.h"` - -## void NahidaProject\::ChooseDialog\::CheckboxMenu\::AddOption(const std\::wstring& optDisplayName, const std\::wstring& optDescription = L"") - -### 鍙傛暟 - -|鍚嶇О |鎻忚堪 | -|---------------|---------| -|optDisplayName |閫夐」鍚嶇О | -|optDescription |閫夐」鎻忚堪 | - -### 杩斿洖鍊 - -* 鎴愬姛: 鏃 -* 澶辫触: 鏃 - -### 澶囨敞 - -鏃 - -## void NahidaProject\::ChooseDialog\::RadioMenu\::AddOption(const std\::wstring& optDisplayName, const std\::wstring& optDescription = L"") - -### 鍙傛暟 - -|鍚嶇О |鎻忚堪 | -|---------------|---------| -|optDisplayName |閫夐」鍚嶇О | -|optDescription |閫夐」鎻忚堪 | - -### 杩斿洖鍊 - -* 鎴愬姛: 鏃 -* 澶辫触: 鏃 - -### 澶囨敞 - -鏃 - -## void NahidaProject\::ChooseDialog\::CheckboxMenu\::Execute() - -### 鍙傛暟 - -鏃 - -### 杩斿洖鍊 - -* 鎴愬姛: 鏃 -* 澶辫触: 鏃 - -### 澶囨敞 - -鏃 - -## void NahidaProject\::ChooseDialog\::RadioMenu\::Execute() - -### 鍙傛暟 - -鏃 - -### 杩斿洖鍊 - -* 鎴愬姛: 鏃 -* 澶辫触: 鏃 - -### 澶囨敞 - -鏃 - -## void NahidaProject\::ChooseDialog\::PromptMenu\::Execute() - -### 鍙傛暟 - -鏃 - -### 杩斿洖鍊 - -* 鎴愬姛: 鏃 -* 澶辫触: 鏃 - -### 澶囨敞 - -鏃 - -## BOOL NahidaProject\::ChooseDialog\::Option\::IsSelected() - -### 鍙傛暟 - -鏃 - -### 杩斿洖鍊 - -* 鎴愬姛: 杩斿洖鏁版嵁 -* 澶辫触: 娌℃湁鏁版嵁 - -### 澶囨敞 - -鏃 - -## MenuState NahidaProject\::ChooseDialog\::BasicMenu\::GetState() - -### 鍙傛暟 - -鏃 - -### 杩斿洖鍊 - -* 鎴愬姛: 杩斿洖鏁版嵁 -* 澶辫触: 娌℃湁鏁版嵁 - -### 澶囨敞 - -鏃 - -## std\::vector\