source: tspsg-svn/trunk/src/mainwindow.cpp @ 4

Last change on this file since 4 was 4, checked in by laleppa, 17 years ago

Converted source files to UTF-8
Some code changes :-)

  • Property svn:keywords set to Id URL
File size: 2.7 KB
Line 
1/*
2 *      TSPSG - TSP Solver and Generator
3 *      Copyright (C) 2007 Lёppa <lacontacts[at]gmail[dot]com>
4 *
5 *      $Id: mainwindow.cpp 4 2007-10-14 03:26:42Z laleppa $
6 *      $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/mainwindow.cpp $
7 *
8 *      This file is part of TSPSG.
9 *
10 *      TSPSG is free software: you can redistribute it and/or modify
11 *      it under the terms of the GNU General Public License as published by
12 *      the Free Software Foundation, either version 3 of the License, or
13 *      (at your option) any later version.
14 *
15 *      TSPSG is distributed in the hope that it will be useful,
16 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *      GNU General Public License for more details.
19 *
20 *      You should have received a copy of the GNU General Public License
21 *      along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#include <QtGui>
25#include "mainwindow.h"
26
27// TODO: Saving window state on close
28
29MainWindow::MainWindow(QWidget *parent)
30        : QMainWindow(parent)
31{
32        setupUi(this);
33        connect(actionSettingsSettings,SIGNAL(triggered()),this,SLOT(ChangeSettings()));
34        connect(spinCities,SIGNAL(valueChanged(int)),this,SLOT(CitiesNumberChanged(int)));
35        // Centering MainWindow
36        // TODO: Loading of saved window state
37QRect rect = geometry();
38    rect.moveCenter(QApplication::desktop()->screenGeometry(QApplication::desktop()->primaryScreen()).center());
39        setGeometry(rect);
40        for (int k = 0; k < tableTask->rowCount(); k++) {
41                QTableWidgetItem *item = new QTableWidgetItem(trUtf8("Город ")+QVariant(k + 1).toString());
42                tableTask->setVerticalHeaderItem(k,item);
43        }
44        for (int k = 0; k < tableTask->columnCount(); k++) {
45                QTableWidgetItem *item = new QTableWidgetItem(trUtf8("Город ")+QVariant(k + 1).toString());
46                tableTask->setHorizontalHeaderItem(k,item);
47        }
48        tableTask->resizeRowsToContents();
49        tableTask->resizeColumnsToContents();
50}
51
52void MainWindow::CitiesNumberChanged(int n)
53{
54        // Adding row, setting header and adjusting its size
55bool increased = tableTask->rowCount() < n ? true : false;
56        tableTask->setRowCount(n);
57QTableWidgetItem *item = new QTableWidgetItem(trUtf8("Город ")+QVariant(n).toString());
58        tableTask->setVerticalHeaderItem(n - 1,item);
59        if (increased)
60                tableTask->resizeRowToContents(n - 1);
61        // Adding column, setting header and adjusting its size
62        increased = tableTask->columnCount() < n ? true : false;
63        tableTask->setColumnCount(n);
64        item = new QTableWidgetItem(trUtf8("Город ")+QVariant(n).toString());
65        tableTask->setHorizontalHeaderItem(n - 1,item);
66        if (increased)
67        tableTask->resizeColumnToContents(n - 1);
68        tableTask->setMinimumSize(tableTask->sizeHint());
69}
70
71void MainWindow::ChangeSettings()
72{
73SettingsDialog sd(this);
74        sd.exec();
75}
Note: See TracBrowser for help on using the repository browser.