Files @ 6bcb69712a0e
Branch filter:

Location: EI/VirtualLeaf/src/UniqueMessage.cpp

Roeland Merks
In response to referee's comment:

"However, (although it is probably not important for model developers), I was
still unable to load the model ‘Meinhardt 1976 with growth’ example from the
‘Models’ drop down menu, I got the ‘Fatal error’ message ‘stepwise underflow in

rkqs, with h=0.000000 and htry = 0.100000’. The model did work when I selected
the Meinhardt model in both the Models and the File -> Read leaf menus together,
it would be preferable if the models loaded from the Models menu worked

automatically. I am not sure that the update referred to in the author’s
response permits the loading of ‘My First Model in Virtual Leaf’ from the
‘Models’ drop down menu; I only got a cell that wiggled."

I made the following changes:

- meinhardt_plugin now reads "meinhardt_init.xml" by default
- changed the name of 'My First Model in Virtual Leaf’ to '0: Empty model template (does nothing)' to make it clear that the wiggle cell is the intended behavior for this model example.
- Added default parameter files for Tutorial1A-D and Tutorial2 to prevent variable behavior depending on the last parameter settings used.


--
user: Roeland Merks <roeland.merks@cwi.nl>
branch 'default'
added data/leaves/tutorial1_init.xml
added data/leaves/tutorial2_init.xml
changed data/leaves/auxin_growth.xml
changed data/leaves/meinhardt_init.xml
changed src/TutorialCode/Tutorial0/tutorial0.cpp
changed src/TutorialCode/Tutorial1A/tutorial1A.h
changed src/TutorialCode/Tutorial1B/tutorial1B.h
changed src/TutorialCode/Tutorial1C/tutorial1C.h
changed src/TutorialCode/Tutorial1D/tutorial1D.h
changed src/TutorialCode/Tutorial2/tutorial2.h
changed src/build_models/meinhardtplugin.h
/*
 *
 *  This file is part of the Virtual Leaf.
 *
 *  VirtualLeaf 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.
 *
 *  VirtualLeaf 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 the Virtual Leaf.  If not, see <http://www.gnu.org/licenses/>.
 *
 *  Copyright 2010 Roeland Merks.
 *
 */

#include <string>
#include <QMessageBox>
#include <QCheckBox>
#include <QPushButton>
#include <QBoxLayout>
#include "UniqueMessage.h"

#include <iostream>

static const std::string _module_id("$Id$");

using namespace std;
UniqueMessageBox::UniqueMessageBox ( /* Icon icon,*/ 
				    const QString & title, 
				    const QString & text, 
				    QWidget * parent ,
				    Qt::WindowFlags f ) : 
  QDialog(parent, f) {

  label = new QLabel(text);
  boxtext = text;

  show_again = new QCheckBox(tr("Do not show this message again"));
  okButton = new QPushButton(tr("Ok"));

  if (issued_messages.contains(boxtext) ) {

    cerr << "Saw message before\n";
    display = false;
  } else {
    display=true;
  }

  connect(okButton, SIGNAL(clicked()), this, SLOT(close()) );
  QHBoxLayout *hlayout = new QHBoxLayout;
  hlayout->addWidget(label);
  hlayout->addWidget(okButton);
  QVBoxLayout *layout = new QVBoxLayout;
  layout->addLayout(hlayout);
  layout->addWidget(show_again);
  setLayout(layout);
  setWindowTitle(title);
};

UniqueMessageBox::~UniqueMessageBox(void)  {

  if (show_again->checkState() == Qt::Checked ) {
    cerr << "Message won't be shown again\n";
    issued_messages << boxtext;
  }
}
int UniqueMessageBox::exec(void)  {

  if (display)
    return QDialog::exec();
  else {
    return 1;
  }
}

QStringList UniqueMessageBox::issued_messages;

/* finis */