mailRe: [bug #20884] Icons in menu is missing


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on June 13, 2013 - 14:55:
Hi,

Ok, the missing smiley face in the menu shows that wxPython is broken.
 For the lab computers with RHEL, you can just use the stock Python,
numpy, scipy and wxPython from the standard repositories.  You can
also install the python-headers package and scons, and build the C
modules.  This is perfectly sufficient for running relax.  And you
only need scipy for my Frame Order theory, so if only using the
dispersion analyses, you do not need to install it.  For data
visualisation, relax uses Grace for 2D graphs (xmgrace in Linux/Unix
systems, qtgrace http://sourceforge.net/projects/qtgrace/ for
Windows), and OpenDX for 3D graphs.  If subsequent visualisation is
required, then that could be managed by the Enthought distribution.

However I have designed relax to be fully stand-alone for data
processing, manipulation and visualisation.  I would like relax to be
fully independent of scipy.  In a sense, taking all the features
needed for NMR analyses out of scipy, hence Enthough, and placing it
into relax.  I have reservations about scipy as I used it extensively
in the early days of relax (2001 was also the early days of scipy) and
switched away quite quickly.  I also used ScientificPython
(http://dirac.cnrs-orleans.fr/plone/software/scientificpython/).  I
was using the optimisation algorithms in scipy and realised that there
were fatal bugs in the code.  I reported this either to a mailing
list, forum, or bug tracker, though I cannot remember which, where, or
when as I have no records, but the bug reports and fixes were ignored
and the code remained fatally buggy for at least 5 years afterwards.
The original authors of the code were MIA!  After those 5 years, I
gave up checking for fixes, the missing authors never came back.
Therefore I know that scipy can be, in places, horribly broken.  The
worst thing is that no one will know.  Without a comprehensive test
suite, I cannot trust that code.  I use scipy only for quadratic
numerical integration as I know that the scipy code is just a thin
wrapper for QUADPACK, and I extensively tested it.  Maybe one day I
will add the same functionality to the relax library, as the wrapper
code is trivial.  Scipy is just a large collection of disparate Python
modules with no great integration or standardisation.  Some modules
are likely to be of high quality, but others are simply skrot
(rubbish).  Therefore I cannot trust it.

But anyway, it should be simple with root access to set up relax on
any Linux system by just selecting and installing the required Python
packages from the standard repositories.

Regards,

Edward


On 13 June 2013 14:23, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi edward.

Sigh, I need more sleep. :-)

demo.py was there.
python2.7 wxPython-2.8.12.1/demo/demo.py

But no smiley face in the menu.

And relax png is there:
import os, graphics
e=graphics.fetch_icon("relax.noe", size="16x16")
print e
/sbinlab2/software/NMR-relax/relax_disp/graphics/relax_icons/16x16/noe.png

I am sorry to have wasted your time with this.
This is clearly an issue with my wxPython and my Enthought python 
distribution.

Installation for wxpython for all our lab computers, was most easily
solved with one shared EPD.
We have a RHEL system with most computers with a limited access to
packages (license cost)
and so installation of "other" repositories are not always an easy task.

I think you should close this bug, and maybe one day I will find the
problem, and enjoy the icons. :-)

best
Troels


Troels Emtekær Linnet


2013/6/13 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi,

I just opened that bz2 file and can find the demo.py file in the demo/
directory.  Alternatively you can go into the demo directory and run:

$ python2.7 Menu.py

The Image.py demo should work because from the screenshot
(https://gna.org/bugs/download.php?file_id=18073) it can be seen that
the wx.Image GUI element is functional.  This element is used for the
relaxation dispersion graphic to the left side.  The problem lies in
the wx.Menu GUI element with bitmap images.  The test with the
graphics module demonstrates that relax is clearly not being confused
somehow and it can find all the paths.  However what worries me is
that there is no '.png' at the end of the noe.png file!  When I run
these commands, I see:

relax> e=graphics.fetch_icon("relax.noe", size="16x16")
relax> print e
/data/relax/relax-trunk/graphics/relax_icons/16x16/noe.png

Are you sure you copied the text fully?  From the code in
graphics/__init__.py in the fetch_icon() function, you can see that it
is impossible for a PNG file ending to not be added unless the
'format' argument is given.  Something strange is happening here!

Regards,

Edward


On 13 June 2013 11:59, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

Everything looks fine I think?

I downloaded wxPython demo from:
http://www.wxpython.org/download.php
Source Code and Other Tarballs
http://downloads.sourceforge.net/wxpython/wxPython-demo-2.8.12.1.tar.bz2

I can not find the demo.py?
But I did:
grep -r "image.png" .  (Found in:  wxPython-2.8.12.1/demo/bitmaps)
python2.7 Image.py

And it works fine. :-)

Strange


------------------------
import os, graphics
a=graphics.status.install_path; print a,os.path.exists(a);os.listdir(a)
/sbinlab2/software/NMR-relax/relax_disp True
['dep_check.py', 'relax_backup', 'version.py', 'relax_gui_mode.py',
'scons2', 'test_suite', 'README', 'sconstruct', 'devel_scripts',
'sample_scripts', 'gui', 'extern', 'info.py', 'colour.py',
'data_store', 'auto_analyses', 'user_functions', 'prompt',
'pipe_control', 'multi', 'relax.py', 'relax', '.sconsign.dblite',
'compat.py', 'lib', 'target_functions', 'status.pyc', 'version.pyc',
'python', 'status.py', 'graphics', '.svn', 'relax.bat', 'compat.pyc',
'scons', 'specific_analyses', 'dep_check.pyc', 'setup.py', 'docs']

b=graphics.ANALYSIS_IMAGE_PATH; print b,os.path.exists(b);os.listdir(b)
/sbinlab2/software/NMR-relax/relax_disp/graphics/analyses/ True
['r2_600x600.eps.gz', 'README', 'consistency_testing_200x94.png',
'r2_200x200.eps.gz', 'r1_150x150.png', 'consistency_testing.svg',
'noe_200x200.png', 'model_free', 'consistency_testing',
'r1_600x600.eps.gz', 'noe_600x600.eps.gz', 'relax_disp_200x200.png',
'relax_disp_600x600.eps.gz', 'r2.svg', 'noe.svg',
'custom_150x150.png', 'r2_150x150.png', 'r1_200x200.png',
'r1_200x200.eps.gz', 'consistency_testing_150x70.png',
'noe_600x600.png', 'relax_disp_600x600.png', 'r2_200x200.png',
'consistency_testing_100x47.png', 'noe_200x200.eps.gz',
'r1_600x600.png', 'noe_150x150.png', 'r1.svg', 'r2_600x600.png',
'relax_disp_150x150.png', 'relax_disp.svg']

c=graphics.WIZARD_IMAGE_PATH; print c,os.path.exists(c);os.listdir(c)
/sbinlab2/software/NMR-relax/relax_disp/graphics/wizards/ True
['pipe_bundle.png', 'residue.eps.gz', 'spin.png', 'modelfree4.png',
'pymol', 'nuclear_symbol.png', 'residue_grey.png', 'select.png',
'pipe.png', 'align_tensor.png', 'reset.xcf', 'n_state_model.eps.gz',
'spectrometer.png', 'pipe_hybrid.png', 'pipe_switch.png', 'nessy.png',
'oxygen-icon-weather-snow-scattered-night.png', 'pipe_switch.xcf',
'spectrum', 'fid.png', 'residue.png', 'deselect.xcf', 'bruker.png',
'structure', 'monte_carlo.png', 'bmrb.png', 'sequence.png',
'minimise.png', 'model_elimination.png',
'oxygen-icon-weather-clear.png', 'opendx.png',
'discrepancy_curve.png', 'diff_tensor.png', 'deselect.png',
'spin.eps.gz', 'value', 'n_state_model.png', 'reset.png',
'molecule_grey.png', 'pipe_200x90.png', 'pipe.eps.gz', 'select.xcf',
'object-locked-unlocked.png', 'molecule.xcf', 'spin_grey.png',
'grace.png', 'molecule.png', 'frame_order.png', 'molecule.eps.gz',
'dipole_pair', 'molmol', 'sherekhan.png', 'sequence.eps.gz',
'pipe_bundle.eps.gz']

d=graphics.IMAGE_PATH; print d,os.path.exists(d);os.listdir(d)
/sbinlab2/software/NMR-relax/relax_disp/graphics/misc/ True
['residue_600x600.eps.gz', 'sequence_600x600.png',
'pipe_600x600.eps.gz', 'model_elimination_s2_te.png',
'sequence_600x600.eps.gz', 'pymol', 'r2.png', 'sphere.png',
'oblate.png', 'prolate.jpg', 'molecule_600x600.png',
'relaxGUI_splash.xcf', 'relax.gif', 'pipe_bundle.xcf',
'discrepancy_curve.svg', 'prolate.png', 'dx-logo-shd.jpg',
'molecule_600x600.eps.gz', 'noe.png', 'pipe_bundle_600x600.png',
'modelfree.png', 'r1.png', 'ulysses_shadowless.png',
'spin_600x600.eps.gz', 'oblate.jpg', 'ulysses_shadowless_400x168.png',
'sphere.jpg', 'noe.gif', 'spin_600x600.png', 'pipe_600x600.png',
'relaxGUI_splash.png', 'structure.png', 'n_state_model',
'ellipsoid.png', 'bmrb_100x100.png', 'pipe_bundle_600x600.eps.gz',
'ellipsoid.jpg', 'minimise.xcf', 'dx-logo.gif', 'residue_600x600.png',
'relax_start.gif']

e=graphics.fetch_icon("relax.noe", size="16x16")
print e
/sbinlab2/software/NMR-relax/relax_disp/graphics/relax_icons/16x16/noe

----------------------------
DEBUG
---------------------------
[tlinnet@tomat ~]$ relax_disp -g --debug
debug> Observer: 'pipe_alteration' registering the 'notebook page
switcher' method pipe_switch().
debug> Observer: 'pipe_alteration' registering the 'notebook pipe
deletion' method pipe_deletion().
debug> Observer: 'reset' registering the 'gui analyses' method 
post_reset().
debug> Observer: 'state_load' registering the 'gui analyses' method
load_from_store().



                                  relax repository checkout r20087
                          svn://svn.gna.org/svn/relax/branches/relax_disp

                              Molecular dynamics by NMR data analysis

                             Copyright (C) 2001-2006 Edward d'Auvergne
                         Copyright (C) 2006-2013 the relax development 
team

This is free software which you are welcome to modify and redistribute
under the conditions of the
GNU General Public License (GPL).  This program, including all
modules, is licensed under the GPL
and comes with absolutely no warranty.  For details type 'GPL' within
the relax prompt.

Assistance in using the relax prompt and scripting interface can be
accessed by typing 'help' within
the prompt.

Processor fabric:  Uni-processor.

debug> Observer: 'pipe_alteration' registering the 'controller' method
update_controller().
debug> Observer: 'auto_analyses' registering the 'controller' method
update_controller().
debug> Observer: 'gui_analysis' registering the 'controller' method
update_controller().
debug> Observer: 'exec_lock' registering the 'controller' method 
update_gauge().
debug> Observer: 'pipe_alteration' registering the 'status bar' method
update_status_bar().
debug> Observer: 'result_file' registering the 'gui' method
show_results_viewer_no_warn().
debug> Observer: 'exec_lock' registering the 'gui' method enab().
debug> Observer: 'gui_analysis' notifying the 'controller' method
update_controller().
debug> Observer: 'exec_lock' registering the 'GUI prompt' method enable().


Troels Emtekær Linnet


2013/6/12 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Oh, if the wxPython demo works ok and you see the icon, then maybe the
problem is relax's paths.  Could you run relax in the prompt UI mode
and then type:

relax> import graphics
relax> print(graphics.status.install_path)
relax> print(graphics.ANALYSIS_IMAGE_PATH)
relax> print(graphics.WIZARD_IMAGE_PATH)
relax> print(graphics.IMAGE_PATH)

and then check that all the directories that are printed out are
correct.  Also, try running:

relax> graphics.fetch_icon("relax.noe", size="16x16")

and see if the icon is correctly found - i.e. the directories are
exactly correct.

Cheers,

Edward

On 12 June 2013 13:56, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi,

I'm using exactly the same versions without the problem.  However I
wouldn't say that you have an incorrect version/setting, at least not
without more testing.  Could you run the wxPython demo (make sure it
is for this wxPython version) as follows:

- first run the demo.py file,
- go to the "Core Windows/Controls",
- select "Menu",
- go to the "Demo" tab,
- click on "Show the Menu sample",
- in the new window, click on the "Fun" menu,
- check that you see a smiley face in the first menu entry.

If there is no smiley face, then the problem is in wxPython.
Otherwise there is a problem with relax and the setup you have.  Also
when you run relax from the terminal, do you see any wxPython error
messages?  Or GTK+ errors?  Do you see any errors if you use the
--debug command line option when running relax?

Regards,

Edward


On 12 June 2013 13:23, Troels Emtekær Linnet <tlinnet@xxxxxxxxx> wrote:
Hi Edward.

I actually have the problem with:
relax_trunk
relax_disp
relax 2.2.5

so I think something is wrong with my installation.

My current version of wxPython:
import wx
wx.version()
'2.8.10.1 (gtk2-unicode)'

I wonder if I have correct versions / settings of wxWidgets and 
wxPython.




Troels Emtekær Linnet


2013/6/11 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
Hi Troels,

Did you get your icons back?  Do you have the same problem with the
relax trunk?  If you still cannot see your icons, could you run relax
with the debugging flag '--debug' and see if there are any messages
about paths to files not being found?

Cheers,

Edward



On 10 June 2013 14:34, Edward d  Auvergne
<NO-REPLY.INVALID-ADDRESS@xxxxxxx> wrote:
Update of bug #20884 (project relax):

                  Status:                    None => Need Info
                 Release:       Repository: trunk => Branches

    _______________________________________________________

Follow-up Comment #1:

This is strange!  I can see from the screenshot that the icons are 
used in the
buttons, so this is not a broken path issue.  Normally when this 
happens, you
receive a error dialog when launching relax.  Did you see this?

I can also see from the screenshot that this is the relax_disp 
branch and not
the relax trunk, so I'm changing that part.  I would also recommend 
that you
run:

$ svn up

as this branch is constantly changing and hence you might on an old 
revision
that has issues.  Using r20006 of this relax_disp branch, I have all 
my menu
icons showing.

    _______________________________________________________

Reply to this item at:

  <http://gna.org/bugs/?20884>

_______________________________________________
  Message sent via/by Gna!
  http://gna.org/


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel



Related Messages


Powered by MHonArc, Updated Thu Jun 13 15:00:08 2013