source: tspsg-svn/trunk/src/mainwindow.h @ 55

Last change on this file since 55 was 54, checked in by laleppa, 15 years ago
  • mainwindow.ui and mainwindow.ce.ui had differences only in printing actions and statusbar, so I merged them into one. Differences are now applied in source code. This will simplify Main Window maintenance.
  • Changed #ifndef Q_OS_WINCE to #ifndef QT_NO_PRINTER where relevant.
  • Now using method at() instead of operator [] in solving algorithm. This change dramatically decreased solution time (from 13 seconds to 10-40 milliseconds for 20 cities on my PC).
  • Increased maximum number of cities to 30. Setting more makes no sense at this moment, because generated solution output is big and inserting it to QTextEdit takes veeeeery long time.
  • Translations were updated.
  • Property svn:keywords set to Id URL
File size: 2.4 KB
Line 
1/*
2 *  TSPSG: TSP Solver and Generator
3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: mainwindow.h 54 2009-08-08 23:45:19Z laleppa $
6 *  $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/mainwindow.h $
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#ifndef MAINWINDOW_H
25#define MAINWINDOW_H
26
27#include "globals.h"
28#include "ui_mainwindow.h"
29#include "settingsdialog.h"
30#include "tspsolver.h"
31#include "tspmodel.h"
32
33class MainWindow: public QMainWindow, Ui::MainWindow
34{
35        Q_OBJECT
36
37public:
38        MainWindow(QWidget *parent = 0);
39        void closeEvent(QCloseEvent *);
40
41private slots:
42        void actionFileNewTriggered();
43        void actionFileOpenTriggered();
44        void actionFileSaveTriggered();
45        void actionFileSaveAsTaskTriggered();
46        void actionFileSaveAsSolutionTriggered();
47        void actionSettingsPreferencesTriggered();
48        void actionSettingsLanguageAutodetectTriggered(bool);
49        void groupSettingsLanguageListTriggered(QAction *);
50        void actionHelpAboutTriggered();
51        void dataChanged();
52#ifndef QT_NO_PRINTER
53        void printPreview(QPrinter *);
54        void actionFilePrintPreviewTriggered();
55        void actionFilePrintTriggered();
56#endif // QT_NO_PRINTER
57        void buttonSolveClicked();
58        void buttonRandomClicked();
59        void buttonBackToTaskClicked();
60        void spinCitiesValueChanged(int);
61        void numCitiesChanged(int);
62
63private:
64        QSettings *settings;
65#ifndef QT_NO_PRINTER
66        QPrinter *printer;
67#endif // QT_NO_PRINTER
68        CTSPModel *tspmodel;
69        QString fileName;
70        QActionGroup *groupSettingsLanguageList;
71        QStringList output;
72        void enableSolutionActions(bool enable = true);
73        void initDocStyleSheet();
74        bool loadLanguage(QString lang = "");
75        void loadLangList();
76        bool maybeSave();
77        void outputMatrix(tMatrix, QStringList &, int nRow = -1, int nCol = -1);
78        void setFileName(QString fileName = trUtf8("Untitled") + ".tspt");
79        bool saveTask();
80};
81
82#endif // MAINWINDOW_H
Note: See TracBrowser for help on using the repository browser.