Added comments, added possibility to open an existing file in tasmet from the command line
This commit is contained in:
parent
a6a76f65d7
commit
dfc84370dc
@ -395,15 +395,15 @@ void Duct::exportHDF5(const hid_t group_id) const {
|
|||||||
}
|
}
|
||||||
p.exportHDF5(group_id);
|
p.exportHDF5(group_id);
|
||||||
|
|
||||||
TXData Ts;
|
// TXData Ts;
|
||||||
Ts.name = "Solid temperature";
|
// Ts.name = "Solid temperature";
|
||||||
Ts.unit = "K";
|
// Ts.unit = "K";
|
||||||
Ts.symbol = "Ts";
|
// Ts.symbol = "Ts";
|
||||||
Ts.x = dmat(sys.Ns(),ngp());
|
// Ts.x = dmat(sys.Ns(),ngp());
|
||||||
for(us gp=0;gp<ngp();gp++){
|
// for(us gp=0;gp<ngp();gp++){
|
||||||
p.x.col(gp) = Tst(gp);
|
// p.x.col(gp) = Tst(gp);
|
||||||
}
|
// }
|
||||||
Ts.exportHDF5(group_id);
|
// Ts.exportHDF5(group_id);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -123,9 +123,9 @@ void TaSMETMainWindow::newModel() {
|
|||||||
_filepath = "";
|
_filepath = "";
|
||||||
set(_model);
|
set(_model);
|
||||||
}
|
}
|
||||||
void TaSMETMainWindow::loadModel() {
|
void TaSMETMainWindow::loadModel(const string* filepath_s) {
|
||||||
TRACE(15,"loadModel");
|
TRACE(15,"loadModel");
|
||||||
if(isDirty()) {
|
if(isDirty() && filepath_s == nullptr) {
|
||||||
int answer = saveFileFirstQuestion(this);
|
int answer = saveFileFirstQuestion(this);
|
||||||
if(answer == QMessageBox::Yes) saveModel();
|
if(answer == QMessageBox::Yes) saveModel();
|
||||||
else if(answer == QMessageBox::Cancel) return;
|
else if(answer == QMessageBox::Cancel) return;
|
||||||
@ -133,16 +133,22 @@ void TaSMETMainWindow::loadModel() {
|
|||||||
|
|
||||||
QString title = tr("Open existing TaSMET model file");
|
QString title = tr("Open existing TaSMET model file");
|
||||||
|
|
||||||
QString filepath = QFileDialog::getOpenFileName(this,
|
if(filepath_s == nullptr) {
|
||||||
title,
|
|
||||||
start_file_location,
|
QString filepath = QFileDialog::getOpenFileName(this,
|
||||||
filetype);
|
title,
|
||||||
string filepath_s = filepath.toStdString();
|
start_file_location,
|
||||||
if(filepath.size()!=0) {
|
filetype);
|
||||||
|
if(filepath.size()!=0) {
|
||||||
|
string filepath_s2 = filepath.toStdString();
|
||||||
|
return loadModel(&filepath_s2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
try {
|
try {
|
||||||
TRACE(15,"Setting loaded model");
|
TRACE(15,"Setting loaded model");
|
||||||
_filepath = filepath_s;
|
_filepath = *filepath_s;
|
||||||
set(loadMessage<pb::Model>(filepath_s));
|
set(loadMessage<pb::Model>(*filepath_s));
|
||||||
}
|
}
|
||||||
catch(TaSMETError &e) {
|
catch(TaSMETError &e) {
|
||||||
_filepath = "";
|
_filepath = "";
|
||||||
|
@ -25,29 +25,61 @@ class TaSMETMainWindow: public QMainWindow {
|
|||||||
|
|
||||||
// In-memory model
|
// In-memory model
|
||||||
pb::Model _model;
|
pb::Model _model;
|
||||||
pb::System& _system;
|
|
||||||
|
pb::System& _system; /**< In constructor set to the
|
||||||
|
_model.mutable_system() */
|
||||||
|
|
||||||
// Where the file is stored
|
// Where the file is stored
|
||||||
string _filepath = "";
|
string _filepath = "";
|
||||||
|
|
||||||
bool _init = true;
|
bool _init = true; /**< */
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TaSMETMainWindow();
|
TaSMETMainWindow();
|
||||||
~TaSMETMainWindow();
|
~TaSMETMainWindow();
|
||||||
private:
|
private:
|
||||||
void newModel();
|
void newModel();
|
||||||
void loadModel();
|
public:
|
||||||
|
/**
|
||||||
|
* Load a model from a file. Called by File->Open. If no filepath
|
||||||
|
* is given, a dialog is opened to specify the file. This function
|
||||||
|
* is public such that it can be called for main.cpp.
|
||||||
|
*
|
||||||
|
* @param filepath the filepath of the file to load
|
||||||
|
*/
|
||||||
|
void loadModel(const string* filepath=nullptr);
|
||||||
|
private:
|
||||||
|
/**
|
||||||
|
* Save the model to a file. If no filepath is given, a dialog is
|
||||||
|
* opened to ask the user for a filepath.
|
||||||
|
*
|
||||||
|
* @param filepath
|
||||||
|
*/
|
||||||
void saveModel(string* filepath=nullptr);
|
void saveModel(string* filepath=nullptr);
|
||||||
|
/**
|
||||||
|
* Save the model with a different filename.
|
||||||
|
*/
|
||||||
void saveAsModel();
|
void saveAsModel();
|
||||||
|
|
||||||
// When the user interacts, we call this function to update the
|
/**
|
||||||
// internal state and set the widget status accordingly
|
* When the user interacts, we call this function to update the
|
||||||
|
* internal state and set the widget status accordingly.
|
||||||
|
*/
|
||||||
void changed();
|
void changed();
|
||||||
void set(const pb::Model&);
|
/**
|
||||||
|
* Change the widget states according to the model
|
||||||
|
*
|
||||||
|
* @param model The model to set
|
||||||
|
*/
|
||||||
|
void set(const pb::Model& model);
|
||||||
|
|
||||||
// Check whether the filepath contents agree with the system in
|
/**
|
||||||
// memory
|
* Check whether the filepath contents agree with the system in
|
||||||
|
* memory.
|
||||||
|
*
|
||||||
|
* @return true when the model in memory does not agree with the
|
||||||
|
* file contents.
|
||||||
|
*/
|
||||||
bool isDirty() const;
|
bool isDirty() const;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
@ -28,7 +28,8 @@ void catchUnixSignals(const std::vector<int>& quitSignals,
|
|||||||
for ( int sig : ignoreSignals )
|
for ( int sig : ignoreSignals )
|
||||||
signal(sig, SIG_IGN);
|
signal(sig, SIG_IGN);
|
||||||
|
|
||||||
// each of these signals calls the handler (quits the QCoreApplication).
|
// each of these signals calls the handler (quits the
|
||||||
|
// QCoreApplication).
|
||||||
for ( int sig : quitSignals )
|
for ( int sig : quitSignals )
|
||||||
signal(sig, handler);
|
signal(sig, handler);
|
||||||
}
|
}
|
||||||
@ -61,6 +62,11 @@ int main(int argc, char *argv[]) {
|
|||||||
TaSMETMainWindow win;
|
TaSMETMainWindow win;
|
||||||
|
|
||||||
win.show();
|
win.show();
|
||||||
|
|
||||||
|
if(argc>1) {
|
||||||
|
string filepath = argv[1];
|
||||||
|
win.loadModel(&filepath);
|
||||||
|
}
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user