2011-02-28 <guravage@petitdru.sen.cwi.nl>
* canvas.cpp (about): Correct citation text.
Resolves issue #4: http://code.google.com/p/virtualleaf/issues/detail?id=4.
2011-01-13 <guravage@petitdru.sen.cwi.nl>
* transporterdialog.cpp (TransporterDialog): Use wn to discern
which cell a wallitem belongs to.
* wallitem.cpp (WallItem): Add a comment explaining how
wallnumber(wn) can be used to tell which cell a wallitem belongs
to.
* VirtualLeaf-install-windows.nsi: Remove previous change that added icon directory.
* canvas.cpp: Instead of using a separate icon directory, compile
leaficon_small.xpm directly into canvas.cpp.
* VirtualLeaf-install-windows.nsi: Add new icons directory
* canvas.cpp (about): Added virtual leaf logo to About message box.
2011-01-12 <guravage@petitdru.sen.cwi.nl>
* transporterdialog.cpp (TransporterDialog): Add a proper title to
the dialog, and place the cell and wall pairs in a seperate labe.
2011-01-10 <guravage@petitdru.sen.cwi.nl>
* transporterdialog.cpp (TransporterDialog): Start numbering Transporter fields at zero.
Resolves issue #1: http://code.google.com/p/virtualleaf/issues/detail?id=1.
* wallitem.cpp (OnClick): Change dialog modality to Qt::WindowModal.
Resolves issue #2: http://code.google.com/p/virtualleaf/issues/detail?id=2.
* canvas.cpp (about): Add link to Plant Physiology paper.
Resolves issue #3: http://code.google.com/p/virtualleaf/issues/detail?id=3.
2010-11-30 <guravage@petitdru.sen.cwi.nl>
* canvas.cpp (snapshot): Preface each image format extension with
an asterisk so files with those extensions to appear in the file
dialogue.
(snapshot): Forgot to add asterisk before our own pdf format.
* VirtualLeaf-install-windows.nsi: Include imageformats folder
alongside executable.
* canvas.cpp (snapshot): PNG is the default image format.
2010-11-29 <guravage@petitdru.sen.cwi.nl>
@@ -1001,100 +1001,100 @@ void Main::readStateXML()
QString fileName;
if ( fd->exec() == QDialog::Accepted ) {
fileName = fd->selectedFile();
if (working_dir) {
delete working_dir;
}
working_dir = fd->dir();
if (readStateXML((const char *)fileName,fd->readGeometryP(), fd->readParametersP()) )
return readStateXML(); // user can try again
void Main::clear()
{
editor->clear();
void Main::about()
static QMessageBox* about = new QMessageBox
( "VirtualLeaf V1.0",
"<h3>VirtualLeaf V1.0</h3>\
<p>\
An Open Source framework for cell-based modeling of plant\
tissue growth and development.\
</p>\
<p>(c) 2005-2008, Roeland Merks <i>et al.</i>\
<a href=\"http://www.psb.vib-ugent.be\">VIB Department Plant Systems Biology</a>,\
Ghent, Belgium.\
<p>(c) 2008-2010,\
<a href=\"http://www.cwi.nl/~merks\">Roeland Merks <i>et al.</i></a>\
<a href=\"http://www.cwi.nl\">Centrum Wiskunde & Informatica (CWI)</a> and\
<a href=\"http://www.ncsb.nl\"> Netherlands Consortium for Systems Biology (NCSB)</a>,\
Amsterdam, the Netherlands.\
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.\
If you use this code for your projects, please cite our paper in\
<a href=\"http://www.plantphysiol.org\">Plant Physiology</a>, ‘\
Roeland M. H. Merks, Michael Guravage, Dirk Inze, and Gerrit T.S. Beemster,\
<a href=\"http://www.plantphysiol.org/cgi/content/short/pp.110.167619?keytype=ref&ijkey=YTmfxrHG5QCsa8k\">\
Roeland M. H. Merks, Michael Guravage, Dirk Inzé, and Gerrit T.S. Beemster,\
<a href=\"http://www.plantphysiol.org/cgi/reprint/155/2/656.pdf\">\
VirtualLeaf: an Open Source framework for cell-based modeling of plant tissue growth and development</a>,<br>\
Plant Physiology 2011: pp.110.167619v1-pp.110.167619.\
Plant Physiology 2011: 155:656-666.\
Please share your model plugins and extensions at\
<a href=\"http://virtualleaf.googlecode.com\">http://virtualleaf.googlecode.com</a>.\
</p>",
QMessageBox::Information, 1, 0, 0, this, 0, FALSE );
about->setButtonText( 1, "Dismiss" );
about->setIconPixmap(QPixmap( leaficon_small ));
about->show();
void Main::gpl()
static QMessageBox* gpl = new QMessageBox ( "GPL License", "",
QDir docDir(QApplication::applicationDirPath());
docDir.cd("../doc"); // Where Linux expects gpl3.txt
QString path = docDir.filePath("gpl3.txt");
if (!docDir.exists("gpl3.txt")){
docDir = QApplication::applicationDirPath();
docDir.cd("doc"); // Where Windows expects gpl3.txt
path = docDir.filePath("gpl3.txt");
// At this point path points either to the linux variant, which
// exists, or the windows variant, which may exist. Testing the
// ifstream object will determine whether we've found gpl3.txt.
std::ifstream file(path.toStdString().c_str());
std::string str;
if (file) {
file.seekg(0, std::ios::end);
str.reserve(file.tellg());
file.seekg(0, std::ios::beg);
str.assign((std::istreambuf_iterator<char>(file)),
std::istreambuf_iterator<char>());
gpl->setDetailedText(QString(str.c_str()));
gpl->setText(QString( "<h3>GNU GENERAL PUBLIC LICENSE</h3>"
"<p>Version 3, 29 June 2007</p>"
"<p>Copyright © 2007 Free Software Foundation, Inc. "
"<<a href=\"http://fsf.org/\">http://fsf.org/</a>></p><p>"
Status change: