Files @ 9a40ab737a73
Branch filter:

Location: EI/VirtualLeaf/src/UniqueMessage.cpp - annotation

Roeland Merks
* Added functionality for numerical output (CSV) format. See functions starting with "CSV" in mesh.cpp. External code hull.cpp is responsible for convex hull calculations.
- ToDo: adopt menu item "File->export cell areas" so user can choose a file name or set up periodic output of numerical data.
- ToDo: add parameters re: periodic numeric output to "<settings>" block of LeafML-file, so it becomes possible to set up numeric output interactively, then write the LeafML file and run the program in batch mode to retrieve periodic numeric output.

* Added new functionality to plugin interface. It becomes possible to define a default LeafML init file for a plugin. It is read whenever the model plugin is loaded.
- ToDo: define default LeafML files for all plugins, according to the LeafML files mentioned in the Plant Phys. tutorial.


user: Roeland Merks <merks@cwi.nl>
branch 'default'
added src/hull.cpp
added src/hull.h
changed src/TutorialCode/Tutorial0/tutorial0.pro
changed src/VirtualLeaf.cpp
changed src/VirtualLeaf.pro
changed src/build_models/auxingrowthplugin.cpp
changed src/build_models/auxingrowthplugin.h
changed src/canvas.cpp
changed src/canvas.h
changed src/mainbase.h
changed src/mesh.cpp
changed src/mesh.h
changed src/modelcatalogue.cpp
changed src/simplugin.cpp
changed src/simplugin.h
changed src/xmlwrite.cpp
/*
 *
 *  This file is part of the Virtual Leaf.
 *
 *  The Virtual Leaf 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.
 *
 *  The Virtual Leaf 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 */