Skip to content

Commit

Permalink
Implement BookTableView in MainWindow; Implement clearFilter() method
Browse files Browse the repository at this point in the history
  • Loading branch information
mitchcamza committed Aug 5, 2024
1 parent dbe99f4 commit 7284a3b
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 24 deletions.
6 changes: 3 additions & 3 deletions COS3711-03-01/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,12 @@ set(PROJECT_SOURCES
author.h author.cpp
book.h book.cpp
bookinput.h bookinput.cpp
booktablemodel.h booktablemodel.cpp
bookproxymodel.h bookproxymodel.cpp
)

# Create library
add_library(MyProjectLib ${PROJECT_SOURCES}
booktablemodel.h booktablemodel.cpp
bookproxymodel.h bookproxymodel.cpp)
add_library(MyProjectLib ${PROJECT_SOURCES})

# Include directories for the library
target_include_directories(MyProjectLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
Expand Down
34 changes: 21 additions & 13 deletions COS3711-03-01/src/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
*/


#include "mainwindow.h"
// #include "bookproxymodel.h"
#include "bookinput.h"
// #include "bookview.h"
#include "bookproxymodel.h"
#include "booktablemodel.h"
#include "mainwindow.h"

#include <QFileDialog>
#include <QGridLayout>
Expand All @@ -20,23 +20,27 @@
#include <QMessageBox>
#include <QPushButton>
#include <QStatusBar>
#include <QToolBar>
#include <QTableView>
#include <QToolBar>


MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),
// menuBar(new QMenuBar(this)),
// statusBar(new QStatusBar(this)),
// toolBar(new QToolBar(this)),
// bookProxyModel(new BookProxyModel(this)),
// bookView(new BookView(this)),
bookTableModel(new BookTableModel(this)),
bookProxyModel(new BookProxyModel(this)),
bookTableView(new QTableView(this)),
actionAddBook(new QAction(QIcon(":/icons/addBook"), tr("New Book"), this)),
actionExportBooks(new QAction(QIcon(":/icons/export"), tr("Export Books"), this)),
actionClose(new QAction(QIcon(":/icons/exit"), tr("Exit Application"), this)),
lineEditSearch(new QLineEdit(this)),
pushButtonClear(new QPushButton("Clear", this))
{
// Proxy Model
bookProxyModel->setSourceModel(bookTableModel);
bookProxyModel->setFilterKeyColumn(0);
bookProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);

// Signals and Slots connections
connect(actionAddBook, &QAction::triggered, this, &MainWindow::addBook);
connect(actionExportBooks, &QAction::triggered, this, &MainWindow::exportBooks);
// connect(lineEditSearch, &QLineEdit::textEdited, bookProxyModel, &BookProxyModel::setFilterText);
Expand Down Expand Up @@ -93,9 +97,11 @@ void MainWindow::setupUI()
gridLayout->addWidget(lineEditSearch, 0, 0, 1, 3);
gridLayout->addWidget(pushButtonClear, 0, 3, 1, 1);

// Proxy Model
// TODO: Replace tableView with bookView
gridLayout->addWidget(new QTableView(), 1, 0, 1, 4);
// Book table view
bookTableView->setModel(bookProxyModel);
bookTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
bookTableView->setSortingEnabled(true);
gridLayout->addWidget(bookTableView, 1, 0, 1, 4);
}

void MainWindow::addBook()
Expand All @@ -111,6 +117,8 @@ void MainWindow::exportBooks()

void MainWindow::clearFilter()
{
// TODO
lineEditSearch->clear();
lineEditSearch->setFocus();
bookProxyModel->setFilter(lineEditSearch->text());
}

15 changes: 7 additions & 8 deletions COS3711-03-01/src/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@
#define MAINWINDOW_H


class BookProxyModel;
class BookTableModel;
class BookView;
class QLineEdit;
class QPushButton;
class BookView;
class BookProxyModel;
class QTableView;

#include <QMainWindow>

Expand All @@ -38,12 +40,9 @@ private slots:
void clearFilter();

private:
// BookView *bookView;
// BookProxyModel *bookProxyModel;

// QMenuBar *menuBar;
// QStatusBar *statusBar;
// QToolBar *toolBar;
BookTableModel *bookTableModel;
BookProxyModel *bookProxyModel;
QTableView *bookTableView;
QAction *actionAddBook;
QAction *actionExportBooks;
QAction *actionClose;
Expand Down

0 comments on commit 7284a3b

Please sign in to comment.