diff options
author | bd <bdunahu@operationnull.com> | 2025-03-23 21:48:12 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-03-23 21:48:12 -0400 |
commit | 63fe56a0638b53477579ca37df3bfce30613e4ed (patch) | |
tree | c71c232e6cd8207816f559b6b5edff5145112146 | |
parent | b400e932ce310e856a5fcbc49ecce522c9cad1b3 (diff) |
Remove Python, combine main files
-rw-r--r-- | CMakeLists.txt | 65 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | inc/gui.h | 26 | ||||
-rw-r--r-- | src/gui/GUI.h | 27 | ||||
-rw-r--r-- | src/gui/gui.cc (renamed from src/gui/GUI.cc) | 14 | ||||
-rw-r--r-- | src/gui/gui.ui (renamed from src/gui/GUI.ui) | 6 | ||||
-rw-r--r-- | src/gui/main.cc | 11 | ||||
-rw-r--r-- | src/gui/resources.qrc | 5 | ||||
-rw-r--r-- | src/main.cc | 12 |
9 files changed, 72 insertions, 95 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 64cd30d..d4be3ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.5) project(risc_vector) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_AUTOUIC ON) # automatically process .ui files into headers +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) add_compile_options(-Wall -lstdc++) add_compile_options(-Wextra -Wpedantic) @@ -20,54 +23,36 @@ include_directories( # gather source files file(GLOB_RECURSE SRCS "src/*.cc") list(REMOVE_ITEM SRCS "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cc") -#exclude gui files from cli executable -foreach(file ${SRCS}) - if(file MATCHES "${CMAKE_CURRENT_SOURCE_DIR}/src/gui/.*") - list(REMOVE_ITEM SRCS ${file}) - endif() -endforeach() -# find python3 components -find_package(Python3 COMPONENTS Development REQUIRED) +# find QT components +find_package(Qt6 COMPONENTS Widgets REQUIRED) # binary executable -add_executable(${PROJECT_NAME} ${SRCS} src/main.cc) -target_link_libraries(${PROJECT_NAME} PRIVATE Python3::Python) - -find_package(Catch2 REQUIRED) - -#gather test files -file(GLOB_RECURSE TESTS "tests/*.cc") - -# test executable -add_executable(tests ${SRCS} ${TESTS}) -target_link_libraries(tests PRIVATE Catch2::Catch2WithMain PRIVATE Python3::Python) +add_executable(${PROJECT_NAME} ${SRCS}) +qt_add_resources(GUI_RESOURCES "src/gui/resources.qrc") +target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Widgets) -# test discovery -include(CTest) -include(Catch) -catch_discover_tests(tests) +# find_package(Catch2 REQUIRED) -# ================================ -# Qt6 GUI Integration -# ================================ -cmake_minimum_required(VERSION 3.16) +# #gather test files +# file(GLOB_RECURSE TESTS "tests/*.cc") -set(CMAKE_AUTOUIC ON) -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) +# # test executable +# add_executable(tests ${SRCS} ${TESTS}) +# target_link_libraries(tests PRIVATE Catch2::Catch2WithMain PRIVATE Qt6::Widgets) -# Find Qt6 Components -find_package(Qt6 REQUIRED COMPONENTS Widgets) +# # test discovery +# include(CTest) +# include(Catch) +# catch_discover_tests(tests) -# Gather GUI Source Files -file(GLOB_RECURSE GUI_SRCS "src/gui/*.cc") - -# Gather GUI Resources -qt_add_resources(GUI_RESOURCES "src/gui/resources.qrc") +# # Gather GUI Source Files +# file(GLOB_RECURSE GUI_SRCS "src/gui/*.cc") -# GUI executable -qt_add_executable("${PROJECT_NAME}_gui" ${GUI_SRCS} ${SRCS} ${GUI_RESOURCES}) -target_link_libraries("${PROJECT_NAME}_gui" PRIVATE Qt6::Widgets) +# # Gather GUI Resources +# qt_add_resources(GUI_RESOURCES "src/gui/resources.qrc") +# # GUI executable +# qt_add_executable("${PROJECT_NAME}_gui" ${GUI_SRCS} ${SRCS} ${GUI_RESOURCES}) +# target_link_libraries("${PROJECT_NAME}_gui" PRIVATE Qt6::Widgets) @@ -3,7 +3,6 @@ ## dependencies - cmake - g++ (GCC) 11.4.0 -- python 3.10 or newer - catch2 version 3.5.3 - Qt version 6.8.2 diff --git a/inc/gui.h b/inc/gui.h new file mode 100644 index 0000000..668fafa --- /dev/null +++ b/inc/gui.h @@ -0,0 +1,26 @@ +#ifndef GUI_H +#define GUI_H +#include <QWidget> + +namespace Ui +{ +class gui; +} +QT_END_NAMESPACE + +class Gui : public QWidget +{ + Q_OBJECT + + public: + Gui(QWidget *parent = nullptr); + ~Gui(); + + private slots: + void on_pushButton_clicked(); + + private: + Ui::gui *ui; + void loadTxtFile(); +}; +#endif // GUI_H diff --git a/src/gui/GUI.h b/src/gui/GUI.h deleted file mode 100644 index b06f310..0000000 --- a/src/gui/GUI.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef GUI_H -#define GUI_H - -#include <QWidget> - -QT_BEGIN_NAMESPACE -namespace Ui { -class GUI; -} -QT_END_NAMESPACE - -class GUI : public QWidget -{ - Q_OBJECT - -public: - GUI(QWidget *parent = nullptr); - ~GUI(); - -private slots: - void on_pushButton_clicked(); - -private: - Ui::GUI *ui; - void loadTxtFile(); -}; -#endif // GUI_H diff --git a/src/gui/GUI.cc b/src/gui/gui.cc index 5577e6e..9f2405d 100644 --- a/src/gui/GUI.cc +++ b/src/gui/gui.cc @@ -1,22 +1,22 @@ -#include "GUI.h" -#include "./ui_GUI.h" +#include "gui.h" +#include "ui_gui.h" #include <QFile> #include <QTextStream> -GUI::GUI(QWidget *parent) +Gui::Gui(QWidget *parent) : QWidget(parent) - , ui(new Ui::GUI) + , ui(new Ui::gui) { ui->setupUi(this); loadTxtFile(); } -GUI::~GUI() +Gui::~Gui() { delete ui; } -void GUI::loadTxtFile(){ +void Gui::loadTxtFile(){ QFile inputFile(":/resources/input.txt"); inputFile.open(QIODevice::ReadOnly); @@ -29,7 +29,7 @@ void GUI::loadTxtFile(){ cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1); } -void GUI::on_pushButton_clicked() +void Gui::on_pushButton_clicked() { QString searchString = ui->lineEdit->text(); ui->textEdit->find(searchString, QTextDocument::FindWholeWords); diff --git a/src/gui/GUI.ui b/src/gui/gui.ui index bce52c2..5f71c91 100644 --- a/src/gui/GUI.ui +++ b/src/gui/gui.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> - <class>GUI</class> - <widget class="QWidget" name="GUI"> + <class>gui</class> + <widget class="QWidget" name="gui"> <property name="geometry"> <rect> <x>0</x> @@ -11,7 +11,7 @@ </rect> </property> <property name="windowTitle"> - <string>GUI</string> + <string>gui</string> </property> <widget class="QWidget" name=""> <property name="geometry"> diff --git a/src/gui/main.cc b/src/gui/main.cc deleted file mode 100644 index e592da9..0000000 --- a/src/gui/main.cc +++ /dev/null @@ -1,11 +0,0 @@ -#include "GUI.h" - -#include <QApplication> - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - GUI w; - w.show(); - return a.exec(); -} diff --git a/src/gui/resources.qrc b/src/gui/resources.qrc index 44aaefa..8bfd4e7 100644 --- a/src/gui/resources.qrc +++ b/src/gui/resources.qrc @@ -1,5 +1,6 @@ -<RCC> +<!DOCTYPE RCC> +<RCC version="1.0"> <qresource prefix="/resources"> - <file alias = "input.txt">resources/input.txt</file> + <file alias="input.txt">resources/input.txt</file> </qresource> </RCC> diff --git a/src/main.cc b/src/main.cc index f5eecac..be0a6f0 100644 --- a/src/main.cc +++ b/src/main.cc @@ -1,6 +1,8 @@ #include "cli.h" #include "definitions.h" +#include "gui.h" #include "logger.h" +#include <QApplication> #include <getopt.h> #include <iostream> @@ -36,8 +38,7 @@ static void err() << std::endl; } -static void -parseArguments(int argc, char **argv, bool &memory_only) +static void parseArguments(int argc, char **argv, bool &memory_only) { struct option long_options[] = { {"debug", no_argument, 0, 'd'}, @@ -74,10 +75,13 @@ int main(int argc, char **argv) if (memory_only) { Cli cli; cli.run(); + } else { + QApplication a(argc, argv); + Gui w; + w.show(); + return a.exec(); } - // fork off python here - global_log->log(INFO, "Python started."); global_log->log(INFO, "Cleaning up..."); global_log->log(INFO, "Goodbye!"); return EXIT_SUCCESS; |