Newer
Older
Steve Williams
committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#ifndef MANTIDQTMANTIDWIDGETS_SAVEWORKSPACES_H_
#define MANTIDQTMANTIDWIDGETS_SAVEWORKSPACES_H_
#include "MantidQtAPI/MantidQtDialog.h"
#include "WidgetDllOption.h"
#include <QHash>
#include <QSignalMapper>
#include <QGridLayout>
#include <QListWidget>
#include <QLineEdit>
#include <QCheckBox>
#include <QString>
#include "MantidAPI/FrameworkManager.h"
namespace MantidQt
{
namespace MantidWidgets
{
/**
Implements a dialog box that allows users to save multiple Mantid workspaces
@author Steve Williams
Copyright © 2010 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
This file is part of Mantid.
Mantid is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
Mantid is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
File change history is stored at: <https://svn.mantidproject.org/mantid/trunk/Code/Mantid>
Code Documentation is available at: <http://doxygen.mantidproject.org>
*/
class EXPORT_OPT_MANTIDQT_MANTIDWIDGETS SaveWorkspaces : public API::MantidQtDialog
{
Q_OBJECT
public:
Steve Williams
committed
SaveWorkspaces(QWidget *parent, const QString & suggFname,
QHash<const QCheckBox * const, QString> & defSavs);
Steve Williams
committed
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
void initLayout();
///Returns the save extension expected the name algorithm
static QString getSaveAlgExt(const QString & algName);
signals:
void closing();
void runAsPythonScript(const QString&);
private:
QLineEdit *m_fNameEdit;
QListWidget *m_workspaces;
QCheckBox *m_append;
QHash<QCheckBox * const, QString> m_savFormats;
typedef QHash<QCheckBox * const, QString>::const_iterator SavFormatsConstIt;
void setupLine1(QHBoxLayout * const lineOne, const QString defName);
void setupLine2(QHBoxLayout * const lineTwo, const QHash<const QCheckBox * const, QString> & defSavs);
void setupFormatTicks(const QHash<const QCheckBox * const, QString> & defSavs);
void addButtonsDisab(int row);
void setupButtons(int row, QString test);
void updateRow(int row, QString firstColumn, int secondColumn);
void closeEvent(QCloseEvent *event);
QString saveList(const QList<QListWidgetItem*> & list, const QString & algorithm, QString fileBase, bool toAppend);
private slots:
void saveSel();
void saveFileBrowse();
};
}
}
#endif //MANTIDQTMANTIDWIDGETS_SAVEWORKSPACES_H_