Changeset - c2962c0745f8
[Not reviewed]
default
0 19 0
Michael Guravage - 15 years ago 2010-10-14 11:19:03
michael.guravage@cwi.nl
Use iteration number instead of time stamp to tag exported cell data files. Added default LeafML files to tutorials 3-5. See respective ChangeLogs for details.

--
user: Michael Guravage <michael.guravage@cwi.nl>
branch 'default'
changed data/leaves/ChangeLog
changed data/leaves/auxin_growth.xml
changed doc/v1.html
changed doc/v1.pdf
changed doc/v1.rst
changed src/ChangeLog
changed src/TutorialCode/Tutorial3/ChangeLog
changed src/TutorialCode/Tutorial3/tutorial3.h
changed src/TutorialCode/Tutorial4/ChangeLog
changed src/TutorialCode/Tutorial4/tutorial4.h
changed src/TutorialCode/Tutorial5/ChangeLog
changed src/TutorialCode/Tutorial5/tutorial5.h
changed src/VirtualLeafpar.tmpl
changed src/canvas.cpp
changed src/canvas.h
changed src/parameter.cpp
changed src/parameter.h
changed src/pardialog.cpp
changed src/pardialog.h
19 files changed with 309 insertions and 262 deletions:
0 comments (0 inline, 0 general)
data/leaves/ChangeLog
Show inline comments
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* auxin_growth.xml: Changed export_fn_prefix to 'cell.'
 

	
 
2010-10-08    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* auxin_growth.xml: Added export_interval and export_fn_prefix parameters.
 

	
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* Added: tutorial3_init.xml
 
	tutorial4_init.xml
 
	tutorial5_init.xml
 

	
 
	* Removed: bend.xml
 
	circ.xml
 
	explant.xml
 
	init.xml
 
	one_acc_point_van3.xml
 
	one_acc_point_van3_growth.xml
 
	one_acc_point_van3_growth2.xml
 
	tissue.xml
data/leaves/auxin_growth.xml
Show inline comments
 
@@ -6,49 +6,49 @@
 
  $Source$:  Source file
 
  $Date$:  Date of last commit
 

	
 
  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.
 
-->
 

	
 
<leaf name="/Users/roel/VLeafClean_plugin/Snapshot/VLeafMacOSX/auxin_growth.xml" date="Sat Aug 29 18:28:19 2009" simtime="11660">
 
  <parameter>
 
    <par name="export_interval" val="1000"/>
 
    <par name="export_fn_prefix" val="CELLDATA_"/>
 
    <par name="export_fn_prefix" val="cell."/>
 
    <par name="arrowcolor" val="white"/>
 
    <par name="arrowsize" val="10"/>
 
    <par name="textcolor" val="red"/>
 
    <par name="cellnumsize" val="1"/>
 
    <par name="nodenumsize" val="1"/>
 
    <par name="node_mag" val="1"/>
 
    <par name="outlinewidth" val="1"/>
 
    <par name="cell_outline_color" val="forestgreen"/>
 
    <par name="resize_stride" val="10"/>
 
    <par name="T" val="1"/>
 
    <par name="lambda_length" val="100"/>
 
    <par name="lambda_celllength" val="0"/>
 
    <par name="target_length" val="60"/>
 
    <par name="cell_expansion_rate" val="10"/>
 
    <par name="cell_div_expansion_rate" val="10"/>
 
    <par name="auxin_dependent_growth" val="true"/>
 
    <par name="ode_accuracy" val="0.0001"/>
 
    <par name="mc_stepsize" val="0.4"/>
 
    <par name="mc_cell_stepsize" val="0.2"/>
 
    <par name="energy_threshold" val="1000"/>
 
    <par name="bend_lambda" val="0"/>
 
    <par name="alignment_lambda" val="0"/>
 
    <par name="rel_cell_div_threshold" val="2"/>
 
    <par name="rel_perimeter_stiffness" val="2"/>
doc/v1.html
Show inline comments
 
@@ -523,83 +523,73 @@ Traceback (most recent call last):
 
   return self.application(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/middleware.py&quot;, line 163, in __call__
 
   self.app, new_environ, catch_exc_info=True)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/util.py&quot;, line 48, in call_wsgi_application
 
   app_iter = application(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/WebError-0.10.2-py2.6.egg/weberror/errormiddleware.py&quot;, line 156, in __call__
 
   return self.application(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/RhodeCode-1.0.0rc1-py2.6.egg/rhodecode/lib/middleware/simplehg.py&quot;, line 55, in __call__
 
   return self.application(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Beaker-1.5.4-py2.6.egg/beaker/middleware.py&quot;, line 152, in __call__
 
   return self.wrap_app(environ, session_start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py&quot;, line 131, in __call__
 
   response = self.app(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py&quot;, line 98, in __call__
 
   self.setup_app_env(environ, start_response)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py&quot;, line 203, in setup_app_env
 
   pylons_obj.translator = _get_translator(lang, pylons_config=self.config)
 
 File &quot;/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/i18n/translation.py&quot;, line 165, in _get_translator
 
   raise LanguageError('IOError: %s' % ioe)
 
LanguageError: IOError: [Errno 2] No translation file found for domain: 'rhodecode'
 
</pre>
 
</div>
 
<div class="section" id="re-install">
 
<h2>RE-INSTALL</h2>
 
<blockquote>
 
<ol class="arabic simple">
 
<li>easy_install mercurial</li>
 
<li>mkdir src</li>
 
<li>cd src</li>
 
<li>hg clone <a class="reference external" href="http://www.riverbankcomputing.com/hg/sip">http://www.riverbankcomputing.com/hg/sip</a></li>
 
<li>cd sip</li>
 
<li>python build.py prepare</li>
 
<li>python configure.py</li>
 
<li>make</li>
 
<li>make install</li>
 
</ol>
 
</blockquote>
 
<div class="system-message">
 
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">v1.rst</tt>, line 295)</p>
 
Block quote ends without a blank line; unexpected unindent.</div>
 
<ol class="arabic simple" start="10">
 
<li>cd ..</li>
 
<li>curl <a class="reference external" href="http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz">http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz</a></li>
 
<li>wget <a class="reference external" href="http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz">http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz</a></li>
 
<li>tar xzf PyQt-x11-gpl-4.7.7</li>
 
<li>cd PyQt-x11-gpl-4.7.7</li>
 
<li>python configure.py</li>
 
<li>make</li>
 
<li>make install</li>
 
<li>cd ..</li>
 
<li>hg clone <a class="reference external" href="https://litsol&#64;bitbucket.org/bfrog/cutehg">https://litsol&#64;bitbucket.org/bfrog/cutehg</a></li>
 
<li>cd cutehg</li>
 
<li>python setup.py build</li>
 
<li>python setup.py install</li>
 
<li>cd ..</li>
 
<li>easy_install rhodecode, <a class="reference external" href="http://pypi.python.org/pypi/RhodeCode/1.0.0rc2">http://pypi.python.org/pypi/RhodeCode/1.0.0rc2</a></li>
 
</ol>
 
<div class="system-message">
 
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">v1.rst</tt>, line 307)</p>
 
Enumerated list ends without a blank line; unexpected unindent.</div>
 
<p>22. cd ..
 
21. easy_install rhodecode, <a class="reference external" href="http://pypi.python.org/pypi/RhodeCode/1.0.0rc2">http://pypi.python.org/pypi/RhodeCode/1.0.0rc2</a></p>
 
<p>This procedure fails as before.</p>
 
<p>However, upon inspection I saw that the i18n directory was missing
 
from my build but present in the rhodecode clone from bitbucket. While
 
I think that the <tt class="docutils literal">easy_install rhodecode</tt> invocation is necessary to
 
install the various subsidiary packages, moving the cloned rhodecode
 
into the site-packages directory seems to have made most functionality
 
work. e.g. graphical logs and diff highlighting.</p>
 
</div>
 
</div>
 
<div class="section" id="tuesday-12-october-2010">
 
<h1>Tuesday 12 October 2010</h1>
 
<div class="section" id="rhodecode">
 
<h2>RhodeCode</h2>
 
<p>I think that if Chris can install RhodeCode, I can serve individual
 
instance from my home directory.</p>
 
</div>
 
<div class="section" id="sed-ml-l1v1rc1">
 
<h2>SED-ML L1V1RC1</h2>
 
<p>Walking through the new SED-ML schema I see that they've dropped the
 
generic simulation class and added AddXML and RemoveXML model change
 
classes. Adding several more SED-ML examples for the symposium might
 
still be justified - though they become obsolete the moment I
 
introduce the new schema changes.</p>
 
</div>
doc/v1.pdf
Show inline comments
 
@@ -280,161 +280,161 @@ 19 0 obj
 
endobj
 
% 'Annot.NUMBER13': class PDFDictionary 
 
20 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://ask.github.com/celery) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 85.69291
 
 681.5936
 
 532.5827
 
 693.5936 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER14': class PDFDictionary 
 
21 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.riverbankcomputing.com/hg/sip) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 146.2729
 
 315.3694
 
 334.1129
 
 327.3694 ]
 
 /Rect [ 126.2729
 
 321.3694
 
 314.1129
 
 333.3694 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER15': class PDFDictionary 
 
22 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 104.5829
 
 207.3694
 
 486.3829
 
 219.3694 ]
 
 /Rect [ 109.5929
 
 216.3694
 
 491.3929
 
 228.3694 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Annot.NUMBER16': class PDFDictionary 
 
23 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (https://litsol@bitbucket.org/bfrog/cutehg) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 126.2729
 
 102.3694
 
 111.3694
 
 302.0629
 
 114.3694 ]
 
 123.3694 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Page4': class PDFPage 
 
24 0 obj
 
% Page dictionary
 
<< /Annots [ 15 0 R
 
 16 0 R
 
 17 0 R
 
 18 0 R
 
 19 0 R
 
 20 0 R
 
 21 0 R
 
 22 0 R
 
 23 0 R ]
 
 /Contents 59 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 55 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'Annot.NUMBER17': class PDFDictionary 
 
25 0 obj
 
<< /A << /S /URI
 
 /Type /Action
 
 /URI (http://pypi.python.org/pypi/RhodeCode/1.0.0rc2) >>
 
 /Border [ 0
 
 0
 
 0 ]
 
 /Rect [ 225.5629
 
 690.5936
 
 435.1229
 
 702.5936 ]
 
 /Rect [ 193.5229
 
 696.5936
 
 403.0829
 
 708.5936 ]
 
 /Subtype /Link
 
 /Type /Annot >>
 
endobj
 
% 'Page5': class PDFPage 
 
26 0 obj
 
% Page dictionary
 
<< /Annots [ 25 0 R ]
 
 /Contents 60 0 R
 
 /MediaBox [ 0
 
 0
 
 595.2756
 
 841.8898 ]
 
 /Parent 55 0 R
 
 /Resources << /Font 1 0 R
 
 /ProcSet [ /PDF
 
 /Text
 
 /ImageB
 
 /ImageC
 
 /ImageI ] >>
 
 /Rotate 0
 
 /Trans <<  >>
 
 /Type /Page >>
 
endobj
 
% 'R27': class PDFCatalog 
 
27 0 obj
 
% Document Root
 
<< /Outlines 29 0 R
 
 /PageLabels 61 0 R
 
 /PageMode /UseNone
 
 /Pages 55 0 R
 
 /Type /Catalog >>
 
endobj
 
% 'R28': class PDFInfo 
 
28 0 obj
 
<< /Author ()
 
 /CreationDate (D:20101013105235-01'00')
 
 /CreationDate (D:20101013132920-01'00')
 
 /Keywords ()
 
 /Producer (ReportLab http://www.reportlab.com)
 
 /Subject (\(unspecified\))
 
 /Title (The Virtual Leaf) >>
 
endobj
 
% 'R29': class PDFOutlines 
 
29 0 obj
 
<< /Count 28
 
 /First 30 0 R
 
 /Last 52 0 R
 
 /Type /Outlines >>
 
endobj
 
% 'Outline.0': class OutlineEntryObject 
 
30 0 obj
 
<< /Dest [ 4 0 R
 
 /XYZ
 
 62.69291
 
 717.0236
 
 0 ]
 
 /Next 31 0 R
 
 /Parent 29 0 R
 
 /Title (Friday 11 June 2010) >>
 
endobj
 
% 'Outline.1': class OutlineEntryObject 
 
@@ -676,73 +676,73 @@ 50 0 obj
 
 170.6236
 
 0 ]
 
 /Next 51 0 R
 
 /Parent 48 0 R
 
 /Prev 49 0 R
 
 /Title (Mercurial Repositories) >>
 
endobj
 
% 'Outline.27.2': class OutlineEntryObject 
 
51 0 obj
 
<< /Dest [ 24 0 R
 
 /XYZ
 
 62.69291
 
 401.7994
 
 0 ]
 
 /Parent 48 0 R
 
 /Prev 50 0 R
 
 /Title (RE-INSTALL) >>
 
endobj
 
% 'Outline.8': class OutlineEntryObject 
 
52 0 obj
 
<< /Count 2
 
 /Dest [ 26 0 R
 
 /XYZ
 
 62.69291
 
 603.0236
 
 606.0236
 
 0 ]
 
 /First 53 0 R
 
 /Last 54 0 R
 
 /Parent 29 0 R
 
 /Prev 48 0 R
 
 /Title (Tuesday 12 October 2010) >>
 
endobj
 
% 'Outline.28.0': class OutlineEntryObject 
 
53 0 obj
 
<< /Dest [ 26 0 R
 
 /XYZ
 
 62.69291
 
 570.0236
 
 573.0236
 
 0 ]
 
 /Next 54 0 R
 
 /Parent 52 0 R
 
 /Title (RhodeCode) >>
 
endobj
 
% 'Outline.28.1': class OutlineEntryObject 
 
54 0 obj
 
<< /Dest [ 26 0 R
 
 /XYZ
 
 62.69291
 
 522.0236
 
 525.0236
 
 0 ]
 
 /Parent 52 0 R
 
 /Prev 53 0 R
 
 /Title (SED-ML L1V1RC1) >>
 
endobj
 
% 'R55': class PDFPages 
 
55 0 obj
 
% page tree
 
<< /Count 5
 
 /Kids [ 4 0 R
 
 6 0 R
 
 14 0 R
 
 24 0 R
 
 26 0 R ]
 
 /Type /Pages >>
 
endobj
 
% 'R56': class PDFStream 
 
56 0 obj
 
% page stream
 
<< /Length 8892 >>
 
stream
 
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 729.0236 cm
 
@@ -1787,49 +1787,49 @@ 1 0 0 1 62.69291 101.6236 cm
 
Q
 
q
 
1 0 0 1 62.69291 104.6236 cm
 
Q
 
q
 
1 0 0 1 56.69291 773.1969 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 205.6499 0 Td 12 TL /F1 10 Tf 0 0 0 rg (The Virtual Leaf) Tj T* -205.6499 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 56.69291 56.69291 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 238.1649 0 Td (3) Tj T* -238.1649 0 Td ET
 
Q
 
Q
 
 
 
endstream
 
 
endobj
 
% 'R59': class PDFStream 
 
59 0 obj
 
% page stream
 
<< /Length 13681 >>
 
<< /Length 14133 >>
 
stream
 
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 735.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (3.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 .501961 rg (http://hg.python-works.com ) Tj 0 0 0 rg (\(demo,demo\)) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 735.0236 cm
 
@@ -1961,706 +1961,733 @@ q
 
.465606 0 0 .465606 0 0 cm
 
q
 
1 0 0 1 6.6 14.17507 cm
 
q
 
.662745 .662745 .662745 RG
 
.5 w
 
.960784 .960784 .862745 rg
 
n -6 -6 1008 504 re B*
 
Q
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 485.71 Tm /F3 10 Tf 12 TL (Exception happened during processing of request from \('127.0.0.1', 35803\)) Tj T* (Traceback \(most recent call last\):) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 1068, in process_request_in_thread) Tj T* (   self.finish_request\(request, client_address\)) Tj T* ( File "/ufs/guravage/opt/Python-2.6.2/lib/python2.6/SocketServer.py", line 320, in finish_request) Tj T* (   self.RequestHandlerClass\(request, client_address, self\)) Tj T* ( File "/ufs/guravage/opt/Python-2.6.2/lib/python2.6/SocketServer.py", line 615, in __init__) Tj T* (   self.handle\(\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 442, in handle) Tj T* (   BaseHTTPRequestHandler.handle\(self\)) Tj T* ( File "/ufs/guravage/opt/Python-2.6.2/lib/python2.6/BaseHTTPServer.py", line 329, in handle) Tj T* (   self.handle_one_request\(\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 437, in handle_one_request) Tj T* (   self.wsgi_execute\(\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/httpserver.py", line 287, in wsgi_execute) Tj T* (   self.wsgi_start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/cascade.py", line 130, in __call__) Tj T* (   return self.apps[-1]\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Paste-1.7.5.1-py2.6.egg/paste/registry.py", line 379, in __call__) Tj T* (   app_iter = self.application\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/RhodeCode-1.0.0rc1-py2.6.egg/rhodecode/lib/middleware/https_fixup.py", line 33, in __call__) Tj T* (   return self.application\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/middleware.py", line 163, in __call__) Tj T* (   self.app, new_environ, catch_exc_info=True\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/util.py", line 48, in call_wsgi_application) Tj T* (   app_iter = application\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/WebError-0.10.2-py2.6.egg/weberror/errormiddleware.py", line 156, in __call__) Tj T* (   return self.application\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/RhodeCode-1.0.0rc1-py2.6.egg/rhodecode/lib/middleware/simplehg.py", line 55, in __call__) Tj T* (   return self.application\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Beaker-1.5.4-py2.6.egg/beaker/middleware.py", line 152, in __call__) Tj T* (   return self.wrap_app\(environ, session_start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py", line 131, in __call__) Tj T* (   response = self.app\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py", line 98, in __call__) Tj T* (   self.setup_app_env\(environ, start_response\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py", line 203, in setup_app_env) Tj T* (   pylons_obj.translator = _get_translator\(lang, pylons_config=self.config\)) Tj T* ( File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/i18n/translation.py", line 165, in _get_translator) Tj T* (   raise LanguageError\('IOError: %s' % ioe\)) Tj T* (LanguageError: IOError: [Errno 2] No translation file found for domain: 'rhodecode') Tj T* ET
 
Q
 
Q
 
Q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 383.7994 cm
 
q
 
BT 1 0 0 1 0 7.23 Tm 18 TL /F2 15 Tf 0 0 0 rg (RE-INSTALL) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 371.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 233.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
BT 1 0 0 1 0 2 Tm  T* ET
 
q
 
1 0 0 1 20 138 cm
 
Q
 
q
 
1 0 0 1 20 138 cm
 
Q
 
q
 
1 0 0 1 20 120 cm
 
1 0 0 1 62.69291 377.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 377.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 359.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (1.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (easy_install mercurial) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 120 cm
 
Q
 
q
 
1 0 0 1 20 123 cm
 
Q
 
q
 
1 0 0 1 20 105 cm
 
1 0 0 1 62.69291 359.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 362.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 344.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (2.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (mkdir src) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 105 cm
 
Q
 
q
 
1 0 0 1 20 108 cm
 
Q
 
q
 
1 0 0 1 20 90 cm
 
1 0 0 1 62.69291 344.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 347.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 329.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (3.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd src) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 90 cm
 
Q
 
q
 
1 0 0 1 20 93 cm
 
Q
 
q
 
1 0 0 1 20 75 cm
 
1 0 0 1 62.69291 329.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 332.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 314.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (4.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (hg clone ) Tj 0 0 .501961 rg (http://www.riverbankcomputing.com/hg/sip) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 75 cm
 
Q
 
q
 
1 0 0 1 20 78 cm
 
Q
 
q
 
1 0 0 1 20 60 cm
 
1 0 0 1 62.69291 314.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 317.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 299.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (5.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd sip) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 60 cm
 
Q
 
q
 
1 0 0 1 20 63 cm
 
Q
 
q
 
1 0 0 1 20 45 cm
 
1 0 0 1 62.69291 299.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 302.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 284.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (6.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python build.py prepare) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 45 cm
 
Q
 
q
 
1 0 0 1 20 48 cm
 
Q
 
q
 
1 0 0 1 20 30 cm
 
1 0 0 1 62.69291 284.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 287.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 269.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (7.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python configure.py) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 30 cm
 
Q
 
q
 
1 0 0 1 20 33 cm
 
Q
 
q
 
1 0 0 1 20 15 cm
 
1 0 0 1 62.69291 269.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 272.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 254.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (8.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (make) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 15 cm
 
Q
 
q
 
1 0 0 1 20 18 cm
 
Q
 
q
 
1 0 0 1 20 0 cm
 
1 0 0 1 62.69291 254.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 257.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 239.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 5.66 0 Td (9.) Tj T* -5.66 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (make install) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 20 0 cm
 
Q
 
q
 
1 0 0 1 20 0 cm
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 233.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 233.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 233.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 215.7994 cm
 
1 0 0 1 62.69291 239.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 242.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 224.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (10.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd ..) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 215.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 218.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 200.7994 cm
 
1 0 0 1 62.69291 224.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 227.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 209.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (11.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (curl ) Tj 0 0 .501961 rg (http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 200.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 203.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 185.7994 cm
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (wget ) Tj 0 0 .501961 rg (http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 209.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 212.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 194.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (12.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (tar xzf PyQt-x11-gpl-4.7.7) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 185.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 188.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 170.7994 cm
 
1 0 0 1 62.69291 194.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 197.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 179.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (13.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd PyQt-x11-gpl-4.7.7) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 170.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 173.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 155.7994 cm
 
1 0 0 1 62.69291 179.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 182.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 164.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (14.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python configure.py) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 155.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 158.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 140.7994 cm
 
1 0 0 1 62.69291 164.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 167.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 149.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (15.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (make) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 140.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 143.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 125.7994 cm
 
1 0 0 1 62.69291 149.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 152.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 134.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (16.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (make install) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 125.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 128.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 110.7994 cm
 
1 0 0 1 62.69291 134.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 137.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 119.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (17.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd ..) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 110.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 113.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 95.79938 cm
 
1 0 0 1 62.69291 119.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 122.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 104.7994 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (18.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (hg clone ) Tj 0 0 .501961 rg (https://litsol@bitbucket.org/bfrog/cutehg) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 95.79938 cm
 
Q
 
q
 
1 0 0 1 62.69291 98.79938 cm
 
1 0 0 1 62.69291 104.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 107.7994 cm
 
Q
 
q
 
1 0 0 1 62.69291 89.79938 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (19.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd cutehg) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 89.79938 cm
 
Q
 
q
 
1 0 0 1 62.69291 92.79938 cm
 
Q
 
q
 
1 0 0 1 56.69291 773.1969 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 205.6499 0 Td 12 TL /F1 10 Tf 0 0 0 rg (The Virtual Leaf) Tj T* -205.6499 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 56.69291 56.69291 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 238.1649 0 Td (4) Tj T* -238.1649 0 Td ET
 
Q
 
Q
 
 
 
endstream
 
 
endobj
 
% 'R60': class PDFStream 
 
60 0 obj
 
% page stream
 
<< /Length 3379 >>
 
<< /Length 3604 >>
 
stream
 
1 0 0 1 0 0 cm BT /F1 12 Tf 14.4 TL ET
 
q
 
1 0 0 1 62.69291 735.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (19.) Tj T* -0.1 0 Td ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (20.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd cutehg) Tj T* ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python setup.py build) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 735.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 738.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 720.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (20.) Tj T* -0.1 0 Td ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (21.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python setup.py build) Tj T* ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python setup.py install) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 720.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 723.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 705.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (21.) Tj T* -0.1 0 Td ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (22.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (python setup.py install) Tj T* ET
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (cd ..) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 705.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 705.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 687.0236 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (22. cd .. 21. easy_install rhodecode, ) Tj 0 0 .501961 rg (http://pypi.python.org/pypi/RhodeCode/1.0.0rc2) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 669.0236 cm
 
1 0 0 1 62.69291 708.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 690.0236 cm
 
0 0 0 rg
 
BT /F1 10 Tf 12 TL ET
 
q
 
1 0 0 1 6 3 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL .1 0 Td (23.) Tj T* -0.1 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 23 3 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 12 TL /F1 10 Tf 0 0 0 rg (easy_install rhodecode, ) Tj 0 0 .501961 rg (http://pypi.python.org/pypi/RhodeCode/1.0.0rc2) Tj T* ET
 
Q
 
Q
 
q
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 690.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 690.0236 cm
 
Q
 
q
 
1 0 0 1 62.69291 672.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (This procedure fails as before.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 615.0236 cm
 
1 0 0 1 62.69291 618.0236 cm
 
q
 
BT 1 0 0 1 0 40.82 Tm 1.747633 Tw 12 TL /F1 10 Tf 0 0 0 rg (However, upon inspection I saw that the i18n directory was missing from my build but present in the) Tj T* 0 Tw 3.201647 Tw (rhodecode clone from bitbucket. While I think that the ) Tj /F3 10 Tf (easy_install rhodecode ) Tj /F1 10 Tf (invocation is) Tj T* 0 Tw .23152 Tw (necessary to install the various subsidiary packages, moving the cloned rhodecode into the site-packages) Tj T* 0 Tw (directory seems to have made most functionality work. e.g. graphical logs and diff highlighting.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 582.0236 cm
 
1 0 0 1 62.69291 585.0236 cm
 
q
 
BT 1 0 0 1 0 8.435 Tm 21 TL /F2 17.5 Tf 0 0 0 rg (Tuesday 12 October 2010) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 552.0236 cm
 
1 0 0 1 62.69291 555.0236 cm
 
q
 
BT 1 0 0 1 0 7.23 Tm 18 TL /F2 15 Tf 0 0 0 rg (RhodeCode) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 534.0236 cm
 
1 0 0 1 62.69291 537.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL (I think that if Chris can install RhodeCode, I can serve individual instance from my home directory.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 504.0236 cm
 
1 0 0 1 62.69291 507.0236 cm
 
q
 
BT 1 0 0 1 0 7.23 Tm 18 TL /F2 15 Tf 0 0 0 rg (SED-ML L1V1RC1) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 62.69291 450.0236 cm
 
1 0 0 1 62.69291 453.0236 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 40.82 Tm /F1 10 Tf 12 TL 1.259318 Tw (Walking through the new SED-ML schema I see that they've dropped the generic simulation class and) Tj T* 0 Tw .36152 Tw (added AddXML and RemoveXML model change classes. Adding several more SED-ML examples for the) Tj T* 0 Tw .223735 Tw (symposium might still be justified - though they become obsolete the moment I introduce the new schema) Tj T* 0 Tw (changes.) Tj T* ET
 
Q
 
Q
 
q
 
1 0 0 1 56.69291 773.1969 cm
 
q
 
BT 1 0 0 1 0 4.82 Tm 205.6499 0 Td 12 TL /F1 10 Tf 0 0 0 rg (The Virtual Leaf) Tj T* -205.6499 0 Td ET
 
Q
 
Q
 
q
 
1 0 0 1 56.69291 56.69291 cm
 
q
 
0 0 0 rg
 
BT 1 0 0 1 0 4.82 Tm /F1 10 Tf 12 TL 238.1649 0 Td (5) Tj T* -238.1649 0 Td ET
 
Q
 
Q
 
 
 
endstream
 
 
endobj
 
% 'R61': class PDFPageLabels 
 
61 0 obj
 
@@ -2747,42 +2774,42 @@ 0000008248 00000 n
 
0000008445 00000 n
 
0000008638 00000 n
 
0000008824 00000 n
 
0000009012 00000 n
 
0000009196 00000 n
 
0000009382 00000 n
 
0000009579 00000 n
 
0000009769 00000 n
 
0000009962 00000 n
 
0000010135 00000 n
 
0000010335 00000 n
 
0000010534 00000 n
 
0000010731 00000 n
 
0000010974 00000 n
 
0000011153 00000 n
 
0000011354 00000 n
 
0000011525 00000 n
 
0000011754 00000 n
 
0000011927 00000 n
 
0000012086 00000 n
 
0000012228 00000 n
 
0000021221 00000 n
 
0000026126 00000 n
 
0000032879 00000 n
 
0000046662 00000 n
 
0000050146 00000 n
 
0000050291 00000 n
 
0000050368 00000 n
 
0000050445 00000 n
 
0000050522 00000 n
 
0000050599 00000 n
 
0000047114 00000 n
 
0000050823 00000 n
 
0000050968 00000 n
 
0000051045 00000 n
 
0000051122 00000 n
 
0000051199 00000 n
 
0000051276 00000 n
 
trailer
 
<< /ID 
 
 % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
 
 [(\330\333`\005z4\302y^2~\371\223\241\231\341) (\330\333`\005z4\302y^2~\371\223\241\231\341)] 
 
 [(\002\015b\216\002\016\216\222,\316k\030\021\317\316@) (\002\015b\216\002\016\216\222,\316k\030\021\317\316@)] 
 
 
 /Info 28 0 R
 
 /Root 27 0 R
 
 /Size 67 >>
 
startxref
 
50646
 
51323
 
%%EOF
doc/v1.rst
Show inline comments
 
@@ -262,86 +262,91 @@ All goes tolerably until you tick in the
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/middleware.py", line 163, in __call__
 
    self.app, new_environ, catch_exc_info=True)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/util.py", line 48, in call_wsgi_application
 
    app_iter = application(environ, start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/WebError-0.10.2-py2.6.egg/weberror/errormiddleware.py", line 156, in __call__
 
    return self.application(environ, start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/RhodeCode-1.0.0rc1-py2.6.egg/rhodecode/lib/middleware/simplehg.py", line 55, in __call__
 
    return self.application(environ, start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Beaker-1.5.4-py2.6.egg/beaker/middleware.py", line 152, in __call__
 
    return self.wrap_app(environ, session_start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Routes-1.12.3-py2.6.egg/routes/middleware.py", line 131, in __call__
 
    response = self.app(environ, start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py", line 98, in __call__
 
    self.setup_app_env(environ, start_response)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/wsgiapp.py", line 203, in setup_app_env
 
    pylons_obj.translator = _get_translator(lang, pylons_config=self.config)
 
  File "/ufs/guravage/.archive/mas/mr/rhodecode/lib/python2.6/site-packages/Pylons-1.0-py2.6.egg/pylons/i18n/translation.py", line 165, in _get_translator
 
    raise LanguageError('IOError: %s' % ioe)
 
 LanguageError: IOError: [Errno 2] No translation file found for domain: 'rhodecode'
 

	
 

	
 
RE-INSTALL
 
++++++++++
 

	
 
 1. easy_install mercurial
 
 2. mkdir src
 
 3. cd src
 
 4. hg clone http://www.riverbankcomputing.com/hg/sip
 
 5. cd sip
 
 6. python build.py prepare
 
 7. python configure.py
 
 8. make
 
 9. make install
 
1. easy_install mercurial
 
2. mkdir src
 
3. cd src
 
4. hg clone http://www.riverbankcomputing.com/hg/sip
 
5. cd sip
 
6. python build.py prepare
 
7. python configure.py
 
8. make
 
9. make install
 
10. cd ..
 
11. curl http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz
 
11. wget http://www.riverbankcomputing.com/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.7.tar.gz
 
12. tar xzf PyQt-x11-gpl-4.7.7
 
13. cd PyQt-x11-gpl-4.7.7
 
14. python configure.py
 
15. make
 
16. make install
 
17. cd ..
 
18. hg clone https://litsol@bitbucket.org/bfrog/cutehg
 
19. cd cutehg
 
20. python setup.py build
 
21. python setup.py install
 
22. cd ..
 
21. easy_install rhodecode, http://pypi.python.org/pypi/RhodeCode/1.0.0rc2
 
23. easy_install rhodecode, http://pypi.python.org/pypi/RhodeCode/1.0.0rc2
 

	
 

	
 
This procedure fails as before. 
 

	
 
However, upon inspection I saw that the i18n directory was missing
 
from my build but present in the rhodecode clone from bitbucket. While
 
I think that the ``easy_install rhodecode`` invocation is necessary to
 
install the various subsidiary packages, moving the cloned rhodecode
 
into the site-packages directory seems to have made most functionality
 
work. e.g. graphical logs and diff highlighting.
 

	
 

	
 

	
 
Tuesday 12 October 2010
 
-----------------------
 

	
 
RhodeCode
 
+++++++++
 

	
 
I think that if Chris can install RhodeCode, I can serve individual
 
instance from my home directory.
 

	
 

	
 
SED-ML L1V1RC1
 
++++++++++++++
 

	
 
Walking through the new SED-ML schema I see that they've dropped the
 
generic simulation class and added AddXML and RemoveXML model change
 
classes. Adding several more SED-ML examples for the symposium might
 
still be justified - though they become obsolete the moment I
 
introduce the new schema changes.
 

	
 

	
 
Wednesday 13 October 2010
 
-------------------------
 

	
 

	
 
Tweaked ``.bashrc`` and ``virtualenvwrapper.sh`` to facilitate
 
virtualenv and virtualenvwrapper - many unbound variables!
 

	
 

	
 
Pushed recent changes to repository from where Roeland can retrieve
 
and test them.
 

	
 
OK. RhodeCode RC4 works out of the box, excepting cutehg and PyQt4.
 

	
src/ChangeLog
Show inline comments
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* VirtualLeafpar.tmpl (export_fn_prefix): changed to 'cell.'
 

	
 
	* canvas.cpp (TimeStepWrap): Removed TimeStamp(). Cell data
 
	filename now incorporates iteration number.
 

	
 
	* canvas.h (MainBase): Removed TimeStamp().
 

	
 
2010-10-08    <guravage@caterpie.sen.cwi.nl>
 

	
 

	
 
	* pardialog.h:
 
	* pardialog.cpp:
 
	* parameter.h:
 
	* parameter.cpp: Regenerated to include export_interval and export_fn_prefix.
 

	
 
	* VirtualLeafpar.tmpl: Appended export_interval and export_fn_prefix.
 

	
 
	* canvas.h (MainBase): Declared polymorphic exportCellData() functions.
 

	
 
	* canvas.cpp:
 
	(TimeStamp): New private TimeStamp() function.
 
	(TimeStepWrap): Added invocation of exportCellData().
 
	(exportCellData): Created two polymorphic functions: one with a
 
	single QString argument, the other with no argument. The former is
 
	called from TimeStepWrap() while the latter is called from the
 
	"Export cell areas" item in the file menu.
 

	
 

	
 
2010-10-07    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* canvas.cpp (exportCellData): Added a Q3FileDialog to inquire
src/TutorialCode/Tutorial3/ChangeLog
Show inline comments
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.h (SimPluginInterface): Added default LeafML file.
 

	
 
2010-06-25    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.pro: Added -Wno-write-strings and -Wno-unused-parameter to QMAKE_CXXFLAGS.
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial3.pro: Corrected windows library path.
 

	
src/TutorialCode/Tutorial3/tutorial3.h
Show inline comments
 
@@ -32,29 +32,32 @@ class Tutorial3 : public QObject, SimPlu
 
	Q_INTERFACES(SimPluginInterface);
 

	
 
public:
 
	virtual QString ModelID(void);
 
	
 
	// Executed after the cellular mechanics steps have equillibrized
 
	virtual void CellHouseKeeping (CellBase *c);
 
	// Differential equations describing transport of chemicals from cell to cell
 
	virtual void CelltoCellTransport(Wall *w, double *dchem_c1, double *dchem_c2);
 
    
 
	// Differential equations describing chemical reactions taking place at or near the cell walls
 
	// (e.g. PIN accumulation)
 
	virtual void WallDynamics(Wall *w, double *dw1, double *dw2);
 
	
 
	// Differential equations describing chemical reactions inside the cells
 
	virtual void CellDynamics(CellBase *c, double *dchem);
 
	
 
	// to be executed after a cell division
 
	virtual void OnDivide(ParentInfo *parent_info, CellBase *daughter1, CellBase *daughter2);
 
	
 
	// to be executed for coloring a cell
 
	virtual void SetCellColor(CellBase *c, QColor *color);	
 
	// return number of chemicals
 
	virtual int NChem(void);
 

	
 
	// default LeafML file
 
	virtual QString DefaultLeafML(void) { return QString("tutorial3_init.xml"); }
 
};
 

	
 

	
 

	
 

	
src/TutorialCode/Tutorial4/ChangeLog
Show inline comments
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial4.h (SimPluginInterface): Added default LeafML file.
 

	
 
2010-06-25    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial4.pro: Added -Wno-write-strings and -Wno-unused-parameter to QMAKE_CXXFLAGS.
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial4.pro: Corrected windows library path.
 

	
src/TutorialCode/Tutorial4/tutorial4.h
Show inline comments
 
@@ -34,29 +34,32 @@ class Tutorial4 : public QObject, SimPlu
 
public:
 
	virtual QString ModelID(void);
 
	
 
	// Executed after the cellular mechanics steps have equillibrized
 
	virtual void CellHouseKeeping (CellBase *c);
 
	// Differential equations describing transport of chemicals from cell to cell
 
	virtual void CelltoCellTransport(Wall *w, double *dchem_c1, double *dchem_c2);
 
    
 
	// Differential equations describing chemical reactions taking place at or near the cell walls
 
	// (e.g. PIN accumulation)
 
	virtual void WallDynamics(Wall *w, double *dw1, double *dw2);
 
	
 
	// Differential equations describing chemical reactions inside the cells
 
	virtual void CellDynamics(CellBase *c, double *dchem);
 
	
 
	// to be executed after a cell division
 
	virtual void OnDivide(ParentInfo *parent_info, CellBase *daughter1, CellBase *daughter2);
 
	
 
	// to be executed for coloring a cell
 
	virtual void SetCellColor(CellBase *c, QColor *color);	
 
	// return number of chemicals
 
	virtual int NChem(void);
 
	
 
	virtual double PINflux(CellBase *this_cell, CellBase *adjacent_cell, Wall *w); 
 

	
 
	// default LeafML file
 
	virtual QString DefaultLeafML(void) { return QString("tutorial4_init.xml"); }
 
};
 

	
 

	
 

	
 

	
src/TutorialCode/Tutorial5/ChangeLog
Show inline comments
 
2010-10-14    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial5.h (SimPluginInterface): Added default LeafML file.
 

	
 
2010-06-25    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial5.pro: Added -Wno-write-strings and -Wno-unused-parameter to QMAKE_CXXFLAGS.
 

	
 
2010-06-23    <guravage@caterpie.sen.cwi.nl>
 

	
 
	* tutorial5.pro: Corrected windows library path.
 

	
src/TutorialCode/Tutorial5/tutorial5.h
Show inline comments
 
@@ -34,29 +34,32 @@ class Tutorial5 : public QObject, SimPlu
 
public:
 
	virtual QString ModelID(void);
 
	
 
	// Executed after the cellular mechanics steps have equillibrized
 
	virtual void CellHouseKeeping (CellBase *c);
 
	// Differential equations describing transport of chemicals from cell to cell
 
	virtual void CelltoCellTransport(Wall *w, double *dchem_c1, double *dchem_c2);
 
    
 
	// Differential equations describing chemical reactions taking place at or near the cell walls
 
	// (e.g. PIN accumulation)
 
	virtual void WallDynamics(Wall *w, double *dw1, double *dw2);
 
	
 
	// Differential equations describing chemical reactions inside the cells
 
	virtual void CellDynamics(CellBase *c, double *dchem);
 
	
 
	// to be executed after a cell division
 
	virtual void OnDivide(ParentInfo *parent_info, CellBase *daughter1, CellBase *daughter2);
 
	
 
	// to be executed for coloring a cell
 
	virtual void SetCellColor(CellBase *c, QColor *color);	
 
	// return number of chemicals
 
	virtual int NChem(void);
 
	
 
	virtual double PINflux(CellBase *this_cell, CellBase *adjacent_cell, Wall *w); 
 

	
 
	// default LeafML file
 
	virtual QString DefaultLeafML(void) { return QString("tutorial5_init.xml"); }
 
};
 

	
 

	
 

	
 

	
src/VirtualLeafpar.tmpl
Show inline comments
 
@@ -104,25 +104,25 @@ mu = 0. / double
 
nu = 0. / double
 
rho0 = 0. / double
 
rho1 = 0. / double
 
c0 = 0. / double
 
gamma = 0. / double
 
eps = 0. / double
 
label = / label
 
label = <b>User-defined parameters</b> / label
 
k = 0., 0.0, 0.0, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. / doublelist
 
i1 = 0 / int
 
i2 = 0 / int
 
i3 = 0 / int
 
i4 = 0 / int
 
i5 = 0 / int
 
s1 =  / string
 
s2 =  / string
 
s3 =  / string
 
b1 = false / bool
 
b2 = false / bool
 
b3 = false / bool
 
b4 = false / bool
 
dir1 = . / directory
 
dir2 = . / directory
 
export_interval = 0 / int
 
export_fn_prefix = CellData_ / string
 
export_fn_prefix = cell. / string
src/canvas.cpp
Show inline comments
 
@@ -69,48 +69,49 @@
 
#include "nodeitem.h"
 
#include "cellitem.h"
 
#include "wallitem.h"
 
#include "mesh.h"
 
#include "xmlwrite.h"
 
#include "miscq.h"
 
#include "OptionFileDialog.h"
 
#include <cstdlib>
 
#include <cstdio>
 
#include "modelcatalogue.h"
 

	
 
#include <algorithm>
 

	
 
// Include VIB and PSB logos
 
#include "psb.xpm"
 
#include "cwi.xpm"
 

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

	
 
using namespace std;
 

	
 
// We use a global variable to save memory - all the brushes and pens in
 
// the mesh are shared.
 

	
 
#define FNAMESIZE 100
 
#define QUOTE_ME(s) QUOTE_ME_2NDLEV(s)
 
#define QUOTE_ME_2NDLEV(s) #s
 

	
 
static QColor dark_red("darkRed");
 

	
 

	
 
static const int imageRTTI = 984376;
 
extern Parameter par;
 
const QString Main::caption("Virtual leaf");
 
const QString Main::caption_with_file("Virtual leaf: %1");
 

	
 
FigureEditor::FigureEditor(
 
			   QGraphicsScene& c, Mesh &m, QWidget* parent,
 
			   const char* name, Qt::WindowFlags f) :
 
  QGraphicsView(&c,parent), mesh(m)
 
{
 
  intersection_line = 0;
 
  //angle_line = 0;
 
  setInteractive(true);
 
  moving = 0;  
 
  rotation_mode = false;
 
}
 

	
 

	
 
@@ -459,49 +460,49 @@ Main::Main(QGraphicsScene& c, Mesh &m, Q
 
  mesh(m)
 
{
 
  editor = new FigureEditor(canvas,mesh, this);
 

	
 
#ifdef QDEBUG
 
  qDebug() << "Interactive = " << editor->isEnabled();
 
#endif
 

	
 
  working_dir = 0;
 
  QObject::connect( editor, SIGNAL(MousePressed()), this, SLOT(PauseIfRunning()));
 
  QObject::connect( editor, SIGNAL(MouseReleased()), this, SLOT(ContIfRunning()));
 
  QMenuBar* menu = menuBar();
 

	
 
  Q3PopupMenu* file = new Q3PopupMenu( menu );
 

	
 
  file->insertItem("&Read leaf", this, SLOT(readStateXML()));
 
  file->insertItem("&Save leaf", this, SLOT(saveStateXML()));
 
  file->insertItem("Snapshot", this, SLOT(snapshot()), Qt::CTRL+Qt::SHIFT+Qt::Key_S);
 

	
 
  file->insertSeparator();
 
  file->insertItem("Read next leaf", this, SLOT(readNextStateXML()), Qt::Key_PageDown);
 
  file->insertItem("Read previous leaf", this, SLOT(readPrevStateXML()), Qt::Key_PageUp);
 
  file->insertItem("Read last leaf", this, SLOT(readLastStateXML()), Qt::Key_End);
 
  file->insertItem("Read first leaf", this, SLOT(readFirstStateXML()), Qt::Key_Home);
 
  file->insertItem("Export cell areas", this, SLOT(exportCellData()));
 
  file->insertItem("Export cell data", this, SLOT(exportCellData()));
 

	
 
  file->insertSeparator();
 
  file->insertItem("&Print...", this, SLOT(print()), Qt::CTRL+Qt::Key_P);
 
  file->insertSeparator();
 
  file->insertItem("E&xit", qApp, SLOT(quit()), Qt::CTRL+Qt::Key_Q);
 
  menu->insertItem("&File", file);
 

	
 
  Q3PopupMenu* edit = new Q3PopupMenu( menu );
 
  edit->insertItem("Reset Chemicals and Transporters", this, SLOT( CleanMesh()), Qt::CTRL+Qt::Key_R );
 
  edit->insertItem("Reset Chemicals", this, SLOT( CleanMeshChemicals()) );
 
  edit->insertItem("Reset Transporters", this, SLOT( CleanMeshTransporters()) );
 
  edit->insertItem("Randomize PIN1 Transporters", this, SLOT( RandomizeMesh()) );
 
  edit->insertItem("Cut away SAM", this, SLOT( CutSAM() ));
 
  menu->insertItem("&Edit", edit);
 

	
 
  run = new Q3PopupMenu( menu );
 
  running = false;
 
  paused_id = run->insertItem("&Simulation paused", this, SLOT(togglePaused()), Qt::Key_S);
 
  run->setItemChecked(paused_id, FALSE);
 

	
 
  menu->insertItem("&Run", run);
 

	
 
  view = new Q3PopupMenu( menu );
 
  view->insertItem("&Zoom in", this, SLOT(zoomIn()), Qt::CTRL+Qt::Key_Equal);
 
@@ -1144,74 +1145,68 @@ void Main::print()
 
#endif
 
    double cw = (bbur.x - bbll.x);
 
    double ch = (bbur.y - bbll.y);
 
    QPainter pp(printer);
 
    QRect vp=pp.viewport();
 
#ifdef QDEBUG
 
    qDebug() << "Paper width = " << vp.width() << " x " << vp.height() << endl;
 
#endif
 

	
 
    // Note that Cell is also translated...
 
    pp.translate(-bbur.x,-bbur.y);
 
    if (cw>ch) {
 
      pp.scale(vp.width()/(2*cw*Cell::Magnification()), vp.width()/(2*cw*Cell::Magnification()));
 
    } else {
 
      pp.scale(vp.height()/(2*ch*Cell::Magnification()), vp.height()/(2*ch*Cell::Magnification()));
 
    }
 
    canvas.render(&pp, QRectF(), QRectF(0.,0.,canvas.width(),canvas.height()));
 
  }
 
}
 

	
 

	
 
void Main::TimeStepWrap(void)
 
{
 
  static int t=0;
 
  stringstream fname;
 

	
 
  TimeStep();
 
  t++;
 

	
 
  if ((par.export_interval > 0) && ((t % par.export_interval) == 0)){
 
    this->exportCellData(QString(par.datadir) + QString('/') + QString(par.export_fn_prefix) + this->TimeStamp());
 
    fname << par.datadir << "/" << par.export_fn_prefix;
 
    fname.fill('0');
 
    fname.width(6);
 
    fname << t << ".csv";
 
    this->exportCellData(QString(fname.str().c_str()));
 
  }
 

	
 
  // check number of timesteps
 
  if (t==par.nit) {
 
    emit SimulationDone();
 
  }
 
}
 

	
 

	
 
QString Main::TimeStamp(){
 
  time_t rawtime;
 
  struct tm * timeinfo;
 
  char buffer [15];
 

	
 
  time ( &rawtime );
 
  timeinfo = localtime ( &rawtime );
 
  strftime (buffer,15,"%Y%m%d%H%M%S",timeinfo);
 
  return QString(buffer);
 
}
 

	
 

	
 
void Main::RestartSim(void)
 
{
 

	
 
  stopSimulation();
 
  if ( QMessageBox::question(
 
			     this,
 
			     tr("Restart simulation?"),
 
			     tr("Restart simulation.\n"
 
				"Are you sure?"),
 
			     QMessageBox::Yes | QMessageBox::No, QMessageBox::NoButton ) == QMessageBox::Yes ) {
 

	
 
    cerr << "Restarting simulation" << endl;
 
    //    extern Mesh mesh;
 
    mesh.Clear();
 
    Init();
 
    Plot();
 
    editor->FullRedraw();
 
  } 
 
  //startSimulation();
 
}
 

	
 

	
 
void Main::FitCanvasToWindow(void)
 
{
src/canvas.h
Show inline comments
 
@@ -206,50 +206,48 @@ class Main : public Q3MainWindow, public
 
  void readPrevStateXML();
 
  void readFirstStateXML();
 
  void readLastStateXML();
 
  void exportCellData();
 
  void exportCellData(QString);
 
  void saveStateXML();
 
  void snapshot();
 
  void savePars();
 
  void readPars();
 
  void clear();
 
  void init();
 
  virtual void CutSAM() { MainBase::CutSAM(); Refresh();}
 

	
 
  void enlarge();
 
  void shrink();
 
  void zoomIn();
 
  void zoomOut();
 

	
 
  void CleanMesh();
 
  void CleanMeshChemicals(void);
 
  void CleanMeshTransporters(void);
 

	
 
  void RandomizeMesh();
 

	
 
  QString TimeStamp();
 

	
 
 signals:
 
  void SimulationDone(void);
 
  void ParsChanged(void);
 

	
 
 protected:
 
  Mesh &mesh;
 

	
 
 private:
 
  NodeSet *node_set;
 
  FigureEditor *editor;
 
  Q3PopupMenu* options;
 
  Q3PopupMenu *view;
 
  Q3PopupMenu *run;
 
  QMenu *modelmenu;
 
  Q3PopupMenu *helpmenu;
 

	
 
  QPrinter* printer;
 
  const QDir *working_dir;
 
  QString currentFile;
 
  //  toggle item states 
 
  int dbf_id; // options->Double Buffer
 
  int com_id; // view->Show centers
 
  int mesh_id; // view->Show mesh
 
  int node_number_id; // view->Show Node numbers
src/parameter.cpp
Show inline comments
 
/*
 
 *
 
 *  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.
 
 *
 
 */
 

	
 
// WARNING: This file is automatically generated by make_parameter_source.pl.
 
// Do not edit. All edits will be discarded.
 

	
 

	
 
#include "parameter.h"
 
#include <cstdio>
 
#include <cstring>
 
#include <cstdlib>
 
#include <cerrno>
 
#include <iostream>
 
#include <sstream>
 
#include "output.h"
 
#include "parse.h"
 
#include "xmlwrite.h"
 
#include "warning.h"
 
#include <QLocale>
 
#include <QDir>
 
#include <QStringList>
 

	
 
using namespace std;
 

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

	
 
Parameter::Parameter() {
 
  arrowcolor = strdup("white");
 
  arrowsize = 100;
 
  textcolor = strdup("red");
 
  cellnumsize = 1;
 
@@ -165,50 +165,50 @@ Parameter::Parameter() {
 
  k[5] = 0.;
 
  k[6] = 0.;
 
  k[7] = 0.;
 
  k[8] = 0.;
 
  k[9] = 0.;
 
  k[10] = 0.;
 
  k[11] = 0.;
 
  k[12] = 0.;
 
  k[13] = 0.;
 
  k[14] = 0.;
 
  i1 = 0;
 
  i2 = 0;
 
  i3 = 0;
 
  i4 = 0;
 
  i5 = 0;
 
  s1 = strdup("");
 
  s2 = strdup("");
 
  s3 = strdup("");
 
  b1 = false;
 
  b2 = false;
 
  b3 = false;
 
  b4 = false;
 
  dir1 = strdup(".");
 
  dir2 = strdup(".");
 
  export_interval = 100;
 
  export_fn_prefix = strdup("CELLDATA");
 
  export_interval = 0;
 
  export_fn_prefix = strdup("cell.");
 
}
 

	
 
Parameter::~Parameter() {
 
    
 
// destruct parameter object
 
// free string parameter
 
CleanUp();
 
}
 

	
 
void Parameter::CleanUp(void) {
 
  if (arrowcolor) 
 
     free(arrowcolor);
 
  if (textcolor) 
 
     free(textcolor);
 
  if (cell_outline_color) 
 
     free(cell_outline_color);
 
  if (D) 
 
     free(D);
 
  if (initval) 
 
     free(initval);
 
  if (datadir) 
 
     free(datadir);
 
  if (k) 
 
     free(k);
 
@@ -326,50 +326,50 @@ void Parameter::Read(const char *filenam
 
  rho0 = fgetpar(fp, "rho0", 0., true);
 
  rho1 = fgetpar(fp, "rho1", 0., true);
 
  c0 = fgetpar(fp, "c0", 0., true);
 
  gamma = fgetpar(fp, "gamma", 0., true);
 
  eps = fgetpar(fp, "eps", 0., true);
 
  k = dgetparlist(fp, "k", 15, true);
 
  i1 = igetpar(fp, "i1", 0, true);
 
  i2 = igetpar(fp, "i2", 0, true);
 
  i3 = igetpar(fp, "i3", 0, true);
 
  i4 = igetpar(fp, "i4", 0, true);
 
  i5 = igetpar(fp, "i5", 0, true);
 
  s1 = sgetpar(fp, "s1", "", true);
 
  s2 = sgetpar(fp, "s2", "", true);
 
  s3 = sgetpar(fp, "s3", "", true);
 
  b1 = bgetpar(fp, "b1", false, true);
 
  b2 = bgetpar(fp, "b2", false, true);
 
  b3 = bgetpar(fp, "b3", false, true);
 
  b4 = bgetpar(fp, "b4", false, true);
 
  dir1 = sgetpar(fp, "dir1", ".", true);
 
  if (strcmp(dir1, "."))
 
    MakeDir(dir1);
 
  dir2 = sgetpar(fp, "dir2", ".", true);
 
  if (strcmp(dir2, "."))
 
    MakeDir(dir2);
 
  export_interval = igetpar(fp, "export_interval", 100, true);
 
  export_fn_prefix = sgetpar(fp, "export_fn_prefix", "CELLDATA", true);
 
  export_interval = igetpar(fp, "export_interval", 0, true);
 
  export_fn_prefix = sgetpar(fp, "export_fn_prefix", "cell.", true);
 
}
 

	
 
const char *sbool(const bool &p) {
 

	
 
  const char *true_str="true";
 
  const char *false_str="false";
 
  if (p)
 
    return true_str;
 
  else
 
    return false_str;
 
}
 

	
 
void Parameter::Write(ostream &os) const {
 

	
 

	
 
  if (arrowcolor) 
 
  os << " arrowcolor = " << arrowcolor << endl;
 
  os << " arrowsize = " << arrowsize << endl;
 

	
 
  if (textcolor) 
 
  os << " textcolor = " << textcolor << endl;
 
  os << " cellnumsize = " << cellnumsize << endl;
 
  os << " nodenumsize = " << nodenumsize << endl;
 
  os << " node_mag = " << node_mag << endl;
 
@@ -1872,25 +1872,24 @@ if (!strcmp(namec, "D")) {
 
     D[i++]=*(v++);
 
  }
 
}
 
if (!strcmp(namec, "initval")) {
 
  int i=0;
 
  vector<double>::const_iterator v=valarray.begin();
 
  while (v!=valarray.end() && i <= 14 ) {
 
     initval[i++]=*(v++);
 
  }
 
}
 
if (!strcmp(namec, "k")) {
 
  int i=0;
 
  vector<double>::const_iterator v=valarray.begin();
 
  while (v!=valarray.end() && i <= 14 ) {
 
     k[i++]=*(v++);
 
  }
 
}
 
}
 

	
 
ostream &operator<<(ostream &os, Parameter &p) {
 
    p.Write(os);
 
    return os;
 
}
 

	
 
/* finis */
src/parameter.h
Show inline comments
 
/*
 
 *
 
 *  $Id$
 
 *
 
 *  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.
 
 *
 
 */
 

	
 
// WARNING: This file is automatically generated by make_parameter_source.pl. Do not edit.
 
// All edits will be discarded.
 
// Do not edit. All edits will be discarded.
 

	
 
#ifndef _PARAMETER_H_
 
#define _PARAMETER_H_
 
#include "vector.h"
 
#include <vector>
 

	
 
#include <libxml/parser.h>
 
#include <libxml/tree.h>
 

	
 
 class Parameter {
 
		
 
 public: 
 
   Parameter();
 
   ~Parameter();
 
   void CleanUp(void);
 
   void Read(const char *filename);
 
   void Write(ostream &os) const;
 
   void XMLAdd(xmlNode *root) const;
 
   void XMLRead(xmlNode *root);
 
   void AssignValToPar(const char *namec, const char *valc);
 
   void AssignValArrayToPar(const char *namec, vector<double> valarray);
 
  char * arrowcolor;
 
  double arrowsize;
 
  char * textcolor;
src/pardialog.cpp
Show inline comments
 
/*
 
 *
 
 *  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.
 
 *
 
 */
 

	
 
// WARNING: This file is automatically generated by make_parameter_source.pl. Do not edit.
 
// Do not edit. All edits will be discarded.
 

	
 
#include "pardialog.h"
 
#include "parameter.h"
 
#include <cstring>
 
#include <qdialog.h>
 
#include <qlabel.h>
 
#include <qlineedit.h>
 
#include <qmessagebox.h>
 

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

	
 
ParameterDialog::ParameterDialog(QWidget *parent, const char *name, Qt::WindowFlags f) : QDialog(parent,name,false,f) {
 
    extern Parameter par;
 
  arrowcolor_edit = new QLineEdit( QString("%1").arg(par.arrowcolor), this, "arrowcolor_edit" );
 
  arrowsize_edit = new QLineEdit( QString("%1").arg(par.arrowsize), this, "arrowsize_edit" );
 
  textcolor_edit = new QLineEdit( QString("%1").arg(par.textcolor), this, "textcolor_edit" );
 
  cellnumsize_edit = new QLineEdit( QString("%1").arg(par.cellnumsize), this, "cellnumsize_edit" );
 
  nodenumsize_edit = new QLineEdit( QString("%1").arg(par.nodenumsize), this, "nodenumsize_edit" );
 
  node_mag_edit = new QLineEdit( QString("%1").arg(par.node_mag), this, "node_mag_edit" );
 
  outlinewidth_edit = new QLineEdit( QString("%1").arg(par.outlinewidth), this, "outlinewidth_edit" );
 
  cell_outline_color_edit = new QLineEdit( QString("%1").arg(par.cell_outline_color), this, "cell_outline_color_edit" );
 
  resize_stride_edit = new QLineEdit( QString("%1").arg(par.resize_stride), this, "resize_stride_edit" );
 
  T_edit = new QLineEdit( QString("%1").arg(par.T), this, "T_edit" );
 
@@ -797,25 +798,24 @@ void ParameterDialog::Reset(void) {
 
  c0_edit->setText( QString("%1").arg(par.c0) );
 
  gamma_edit->setText( QString("%1").arg(par.gamma) );
 
  eps_edit->setText( QString("%1").arg(par.eps) );
 
  QString k_string("%1,%2,%3,%4,%5,%6,%7,%8,%9,%10,%11,%12,%13,%14,%15");
 
  k_string = k_string.arg(par.k[0]).arg(par.k[1]).arg(par.k[2]).arg(par.k[3]).arg(par.k[4]).arg(par.k[5]).arg(par.k[6]).arg(par.k[7]).arg(par.k[8]).arg(par.k[9]).arg(par.k[10]).arg(par.k[11]).arg(par.k[12]).arg(par.k[13]).arg(par.k[14]);
 
  k_edit->setText( k_string );
 
  i1_edit->setText( QString("%1").arg(par.i1) );
 
  i2_edit->setText( QString("%1").arg(par.i2) );
 
  i3_edit->setText( QString("%1").arg(par.i3) );
 
  i4_edit->setText( QString("%1").arg(par.i4) );
 
  i5_edit->setText( QString("%1").arg(par.i5) );
 
  s1_edit->setText( QString("%1").arg(par.s1) );
 
  s2_edit->setText( QString("%1").arg(par.s2) );
 
  s3_edit->setText( QString("%1").arg(par.s3) );
 
  b1_edit->setText( QString("%1").arg(sbool(par.b1)));
 
  b2_edit->setText( QString("%1").arg(sbool(par.b2)));
 
  b3_edit->setText( QString("%1").arg(sbool(par.b3)));
 
  b4_edit->setText( QString("%1").arg(sbool(par.b4)));
 
  dir1_edit->setText( QString("%1").arg(par.dir1) );
 
  dir2_edit->setText( QString("%1").arg(par.dir2) );
 
  export_interval_edit->setText( QString("%1").arg(par.export_interval) );
 
  export_fn_prefix_edit->setText( QString("%1").arg(par.export_fn_prefix) );
 
}
 

	
 
/* finis */
src/pardialog.h
Show inline comments
 
/*
 
 *
 
 *  $Id$
 
 *
 
 *  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.
 
 *
 
 */
 

	
 
// WARNING: This file is automatically generated by make_parameter_source.pl. Do not edit.
 
// All edits will be discarded.
 
// Do not edit. All edits will be discarded.
 

	
 
#ifndef PARAMETER_DIALOG_H
 
#define PARAMETER_DIALOG_H
 
#include <qdialog.h>
 
#include <qspinbox.h>
 
#include <qlineedit.h>
 
#include <qlayout.h>
 
#include <qpushbutton.h>
 
#include <iostream>
 

	
 
class ParameterDialog : public QDialog {
 
    Q_OBJECT
 
	
 
      public:
 
	ParameterDialog(QWidget *parent=0, const char *name = 0, Qt::WindowFlags f = 0);
 
    virtual ~ParameterDialog(void);
 
    public slots:
 
    void Reset(void);
 

	
 
    private slots:
 
    void write(void);
 

	
 
  private:
 
  QLineEdit *arrowcolor_edit;
 
@@ -127,25 +127,24 @@ class ParameterDialog : public QDialog {
 
  QLineEdit *rho0_edit;
 
  QLineEdit *rho1_edit;
 
  QLineEdit *c0_edit;
 
  QLineEdit *gamma_edit;
 
  QLineEdit *eps_edit;
 
  QLineEdit *k_edit;
 
  QLineEdit *i1_edit;
 
  QLineEdit *i2_edit;
 
  QLineEdit *i3_edit;
 
  QLineEdit *i4_edit;
 
  QLineEdit *i5_edit;
 
  QLineEdit *s1_edit;
 
  QLineEdit *s2_edit;
 
  QLineEdit *s3_edit;
 
  QLineEdit *b1_edit;
 
  QLineEdit *b2_edit;
 
  QLineEdit *b3_edit;
 
  QLineEdit *b4_edit;
 
  QLineEdit *dir1_edit;
 
  QLineEdit *dir2_edit;
 
  QLineEdit *export_interval_edit;
 
  QLineEdit *export_fn_prefix_edit;
 
};
 
#endif
 

	
0 comments (0 inline, 0 general)