From 62162c4921a32edaffa8599e9e0ee9cf875bf5d7 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 5 Jun 2012 22:00:38 +0000 Subject: Implemented load, save and clear functionality. --- src/sudokuwidget.cc | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'src/sudokuwidget.cc') diff --git a/src/sudokuwidget.cc b/src/sudokuwidget.cc index ef60e67..742798f 100644 --- a/src/sudokuwidget.cc +++ b/src/sudokuwidget.cc @@ -3,6 +3,7 @@ #include #include +#include SudokuWidget::SudokuWidget() { @@ -10,11 +11,45 @@ SudokuWidget::SudokuWidget() for (int row = 0; row < 9; row++) { for (int column = 0; column < 9 ; column++) { + sudokuwidget_value[row][column] = new QLineEdit(); + sudokuwidget_value[row][column]->setFrame(false); + sudokuwidget_value[row][column]->setAlignment(Qt::AlignCenter); + gridlayout->addWidget(sudokuwidget_value[row][column], row, column); } - } setLayout(gridlayout); +} + +void SudokuWidget::set_values(const Sudoku & values) +{ + for (int row = 0; row < 9; row++) { + for (int column = 0; column < 9 ; column++) { + int i = values.value(row, column); + if (i > 0) { + QString str = QString::number(i); + sudokuwidget_value[row][column]->setText(str); + } else { + sudokuwidget_value[row][column]->clear(); + } + } + } +} + +void SudokuWidget::get_values(Sudoku & values) +{ + for (int row = 0; row < 9; row++) { + for (int column = 0; column < 9 ; column++) { + bool ok; + QString str(sudokuwidget_value[row][column]->text()); + int i = str.toInt(&ok); + if (ok && (i > 0) && (i <= 9)) { + values.value(row, column) = i; + } else { + values.value(row, column) = 0; + } + } + } } \ No newline at end of file -- cgit v1.2.3