diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user index 20481fe..d3552f0 100644 --- a/CMakeLists.txt.user +++ b/CMakeLists.txt.user @@ -1,6 +1,6 @@ - + EnvironmentId @@ -101,7 +101,7 @@ Desktop Qt 6.7.2 MinGW 64-bit Desktop Qt 6.7.2 MinGW 64-bit qt.qt6.672.win64_mingw_kit - 1 + 0 0 0 @@ -109,14 +109,14 @@ 2 false - -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} --DCMAKE_GENERATOR:STRING=Ninja --DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} -DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} -DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} --DCMAKE_BUILD_TYPE:STRING=Debug +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DCMAKE_GENERATOR:STRING=Ninja 0 C:\Users\14354\Documents\Qt Projects\MicrologicIDE\build\Desktop_Qt_6_7_2_MinGW_64_bit-Debug @@ -166,14 +166,14 @@ 2 false - -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} --DCMAKE_GENERATOR:STRING=Ninja --DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} -DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} -DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} --DCMAKE_BUILD_TYPE:STRING=Release +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DCMAKE_GENERATOR:STRING=Ninja C:\Users\14354\Documents\Qt Projects\MicrologicIDE\build\Desktop_Qt_6_7_2_MinGW_64_bit-Release @@ -222,14 +222,14 @@ 2 false - -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} --DCMAKE_GENERATOR:STRING=Ninja --DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} -DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} -DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} --DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DCMAKE_GENERATOR:STRING=Ninja C:\Users\14354\Documents\Qt Projects\MicrologicIDE\build\Desktop_Qt_6_7_2_MinGW_64_bit-RelWithDebInfo @@ -276,14 +276,14 @@ 2 false - -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} --DCMAKE_GENERATOR:STRING=Ninja --DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} -DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} -DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} --DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DCMAKE_GENERATOR:STRING=Ninja 0 C:\Users\14354\Documents\Qt Projects\MicrologicIDE\build\Desktop_Qt_6_7_2_MinGW_64_bit-Profile @@ -331,14 +331,14 @@ 2 false - -DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake --DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} --DCMAKE_GENERATOR:STRING=Ninja --DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} + -DCMAKE_BUILD_TYPE:STRING=MinSizeRel -DCMAKE_CXX_COMPILER:FILEPATH=%{Compiler:Executable:Cxx} -DCMAKE_PREFIX_PATH:PATH=%{Qt:QT_INSTALL_PREFIX} +-DCMAKE_CXX_FLAGS_INIT:STRING=%{Qt:QML_DEBUG_FLAG} -DCMAKE_C_COMPILER:FILEPATH=%{Compiler:Executable:C} --DCMAKE_BUILD_TYPE:STRING=MinSizeRel +-DQT_QMAKE_EXECUTABLE:FILEPATH=%{Qt:qmakeExecutable} +-DCMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=%{BuildConfig:BuildDirectory:NativeFilePath}/.qtc/package-manager/auto-setup.cmake +-DCMAKE_GENERATOR:STRING=Ninja C:\Users\14354\Documents\Qt Projects\MicrologicIDE\build\Desktop_Qt_6_7_2_MinGW_64_bit-MinSizeRel @@ -413,7 +413,7 @@ true true true - C:/Users/14354/Documents/Qt Projects/MicrologicIDE/build/Desktop_Qt_6_7_2_MinGW_64_bit-Release + C:/Users/14354/Documents/Qt Projects/MicrologicIDE/build/Desktop_Qt_6_7_2_MinGW_64_bit-Debug 1 diff --git a/Micrologic.exe b/Micrologic.exe index b20255d..c11983d 100644 Binary files a/Micrologic.exe and b/Micrologic.exe differ diff --git a/MicrologicIDE.cpp b/MicrologicIDE.cpp index 4563222..c3b77f5 100644 --- a/MicrologicIDE.cpp +++ b/MicrologicIDE.cpp @@ -619,24 +619,40 @@ void MicrologicIDE::updateDebug() std::stringstream ss(text); std::string s{}; - std::vector nums{}; + std::vector infos{},nums{}; while (std::getline(ss, s, ' ')) { - nums.push_back(s); + infos.push_back(s); } std::string line1="",line2=""; - for(int i=0;idebugText->setText((line1+"\n"+line2).c_str()); + ui->debugText->setText((debugInfo+"
"+debugStart+line1+"
"+line2+debugEnd).c_str()); } diff --git a/MicrologicIDE.h b/MicrologicIDE.h index 188f356..6746174 100644 --- a/MicrologicIDE.h +++ b/MicrologicIDE.h @@ -23,6 +23,12 @@ class MicrologicIDE : public QMainWindow const std::string numStart="",numEnd=""; const std::string modStart="",modEnd=""; + const std::string debugStart="",debugEnd=""; + const std::string IStart="",IEnd=""; + const std::string OStart="",OEnd=""; + const std::string IOStart="",IOEnd=""; + const std::string debugInfo="====[DEBUG INFO] "+IStart+"input "+IEnd+OStart+"output "+OEnd+IOStart+"input&output "+IOEnd+"===="; + const std::vector blankChars={" ","\n",errorStart,errorEnd,"
"}; const std::vector keys={"end","line","wline","N","A","R","T","C","P","set","check","input:","input","output:","output","tick","tick!","speed","path","open","mod","block","inspect","echo","@echo","clear","help","clear"}; const std::vector nums={"0","1","2","3","4","5","6","7","8","9"}; diff --git a/MicrologicIDE.ui b/MicrologicIDE.ui index d0d0b77..73ec9cf 100644 --- a/MicrologicIDE.ui +++ b/MicrologicIDE.ui @@ -36,7 +36,7 @@ 16777215 - 36 + 54 @@ -44,6 +44,9 @@ Consolas + + QTextEdit::LineWrapMode::NoWrap + diff --git a/help.txt b/help.txt index 912a048..e58060e 100644 --- a/help.txt +++ b/help.txt @@ -45,6 +45,12 @@ path [PATH] Set path of scripts. U open [FILE] Open an Micrologic script file. Use double quotation marks when the file name include spaces. mod [MOD] [FILE] Give an file a mod name, in order to use it as a block afterwards. block [MOD] [INPUT [INPUT ...]] [OUTPUT [OUTPUT ...]] Creates a user-defined block. +tag [ALINE] Check whether a line is set as input or output. +type [ALINE] Check whether a line is wide. +check-input Lists the line order numbers of input lines. +check-input [INPUT] Lists the line order number of a designated input line. +check-output Lists the line order numbers of output lines. +check-output [OUTPUT] Lists the line order number of a designated output line. inspect [BLOCKTYPE] [BLOCK] Checks whether a block connects correct line type. echo [MESSAGE] Outputs a message. @echo [ECHO] Set whether to echo messages. Requires 0 or 1.