source: tspsg/src/mainwindow.h @ f44855d99e

0.1.3.145-beta1-symbian0.1.4.170-beta2-bb10appveyorimgbotreadme
Last change on this file since f44855d99e was aaf2113307, checked in by Oleksii Serdiuk, 15 years ago

+ Implemented File/Save? action.
+ Added "Save Solution" and "Back to Task" buttons to Solution tab for better usability.

  • Increased maximum number of cities to 20. Solving for 18-20 cities is already takes much time, so I thought it doesn't make sense to increase more.
  • Columns and rows are now resized to contents on all platforms.
  • Property mode set to 100644
File size: 2.4 KB
RevLine 
[5515c2c2a7]1/*
[430bd7f7e9]2 *  TSPSG: TSP Solver and Generator
[5354a01311]3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
[003e4193be]4 *
[bb994a7ff8]5 *  $Id$
6 *  $URL$
[5515c2c2a7]7 *
[bb994a7ff8]8 *  This file is part of TSPSG.
[5515c2c2a7]9 *
[bb994a7ff8]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.
[5515c2c2a7]14 *
[bb994a7ff8]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.
[5515c2c2a7]19 *
[bb994a7ff8]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/>.
[5515c2c2a7]22 */
23
24#ifndef MAINWINDOW_H
25#define MAINWINDOW_H
26
[993d5af6f6]27#include "globals.h"
[5354a01311]28#ifdef Q_OS_WINCE
29        #include "ui_mainwindow.ce.h"
30#else
31        #include "ui_mainwindow.h"
32#endif // Q_OS_WINCE
[5515c2c2a7]33#include "settingsdialog.h"
[67e53c96d7]34#include "tspsolver.h"
[2bc8e278b7]35#include "tspmodel.h"
[5515c2c2a7]36
37class MainWindow: public QMainWindow, Ui::MainWindow
38{
39        Q_OBJECT
[b424a7e320]40
[5515c2c2a7]41public:
42        MainWindow(QWidget *parent = 0);
[993d5af6f6]43        void closeEvent(QCloseEvent *);
[b424a7e320]44
[5515c2c2a7]45private slots:
[899d1b8e15]46        void actionFileNewTriggered();
[993d5af6f6]47        void actionFileOpenTriggered();
[aaf2113307]48        void actionFileSaveTriggered();
[430bd7f7e9]49        void actionFileSaveAsTaskTriggered();
50        void actionFileSaveAsSolutionTriggered();
[899d1b8e15]51        void actionSettingsPreferencesTriggered();
[993d5af6f6]52        void actionSettingsLanguageAutodetectTriggered(bool);
53        void groupSettingsLanguageListTriggered(QAction *);
[899d1b8e15]54        void actionHelpAboutTriggered();
[690f6939a7]55        void dataChanged();
[5354a01311]56#ifndef Q_OS_WINCE
[899d1b8e15]57        void actionFilePrintSetupTriggered();
[5354a01311]58#endif // Q_OS_WINCE
[899d1b8e15]59        void buttonSolveClicked();
60        void buttonRandomClicked();
[aaf2113307]61        void buttonBackToTaskClicked();
[993d5af6f6]62        void spinCitiesValueChanged(int);
63        void numCitiesChanged(int);
[b424a7e320]64
[bb994a7ff8]65private:
[665d32434f]66        QSettings *settings;
[aaf2113307]67#ifndef Q_OS_WINCE
[899d1b8e15]68        QPrinter *printer;
[aaf2113307]69#endif // Q_OS_WINCE
[2bc8e278b7]70        CTSPModel *tspmodel;
[b424a7e320]71        QString fileName;
[899d1b8e15]72        QActionGroup *groupSettingsLanguageList;
[430bd7f7e9]73        QStringList output;
[b424a7e320]74        void enableSolutionActions(bool enable = true);
75        void initDocStyleSheet();
[ac4cb71650]76        bool loadLanguage(QString lang = "");
[899d1b8e15]77        void loadLangList();
[b424a7e320]78        bool maybeSave();
[430bd7f7e9]79        void outputMatrix(tMatrix, QStringList &, int nRow = -1, int nCol = -1);
[b424a7e320]80        void setFileName(QString fileName = trUtf8("Untitled") + ".tspt");
81        bool saveTask();
[5515c2c2a7]82};
83
84#endif // MAINWINDOW_H
Note: See TracBrowser for help on using the repository browser.