summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt65
-rw-r--r--README.md1
-rw-r--r--inc/gui.h26
-rw-r--r--src/gui/GUI.h27
-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.cc11
-rw-r--r--src/gui/resources.qrc5
-rw-r--r--src/main.cc12
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)
diff --git a/README.md b/README.md
index bdfd76e..a6ce662 100644
--- a/README.md
+++ b/README.md
@@ -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;