Hi,

As announced earlier here's a report on jhandles in the Octave for 
Windows MingW binaries (3.2.0 & 3.2.2).
The main purpose of this: Hopefully it is of use for the developers.

1. I've installed the java package (java-1.2.6.tar.gz) using the latest 
fixes; see this thread dated 2009-09-22 17:09:
http://sourceforge.net/mailarchive/forum.php?thread_name=4ABA5B4B.2020502%40hccnet.nl&forum_name=octave-dev

2. Initially I've just copied the jogl include files to the /include dir 
in the octave-3.2.0-MingW installation dir, & the jogl jar & dll files 
to the /bin dir.

(I think another option may be to add the directory where jogl is 
installed to the java include path environment variable. On my box it 
then looks like this:

Octave-3.2.0: 1 > getenv("JAVA_INCS")
ans = -I:C:/Programs/java/jdk1.6.0_16/include 
-I:C:/Programs/java/jdk1.6.0_16/include/win32 -I:C:/Programs/jogl/lib
Octave-3.2.0: 2 >

Also, the jogl/lib dir must be added to the PATH environment variable.

Compared to simply copying the jogl files into the octave installation 
directory tree, this will lead to some extra, often unneeded, clutterin 
various paths and files outside of octave. After all, on my box jogl is 
only used for octave jhandles.)

Anyway, the next step, installing jhandles-0.3.5.tar.gz leads to:

Octave-3.2.0: 7 > pkg install -auto jhandles-0.3.5.tar.gz
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
gl2ps_java.c: In function 'Java_org_octave_graphics_GL2PS_gl2psBeginPage':
gl2ps_java.c:40: warning: passing argument 3 of 'gl2psBeginPage' from 
incompatible pointer type
gl2ps_java.c: In function 
'Java_org_octave_graphics_GL2PS_gl2psBeginViewport':
gl2ps_java.c:138: warning: passing argument 1 of 'gl2psBeginViewport' 
from incompatible pointer type

warning: gen_doc_cache: unusable help text in 'addlistener'. Ignoring 
function.
warning: gen_doc_cache: unusable help text in 'addprop'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'allchild'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'bar3'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'bar3h'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'colorbar'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'drawnow'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'gcbf'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'gcbo'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'hggroup'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'isprop'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'legend'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'light'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'mat2java'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'reset_property'. Ignoring 
function.
warning: gen_doc_cache: unusable help text in 'stem3'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uicontrol'. Ignoring 
function.
warning: gen_doc_cache: unusable help text in 'uipanel'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uiresume'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'uiwait'. Ignoring function.
warning: gen_doc_cache: unusable help text in 'waitfor'. Ignoring function.
Octave-3.2.0: 8 >

Well: so far, so good.

Then:

Octave-3.2.0: 8 >cd 
'C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\packages\jhandles-0.3.5\doc' 
# (one long line!!)
Octave-3.2.0: 9 > testX
m_view =

    1.00000   0.00000   0.00000  -0.50000
    0.00000   1.00000   0.00000  -0.50000
    0.00000   0.00000  -1.00000   9.16025
    0.00000   0.00000   0.00000   1.00000

m_proj =

    1.00000   0.00000   0.00000   0.00000
    0.00000   1.00000   0.00000   0.00000
    0.00000   0.00000   1.00000   0.00000
    0.00000   0.00000   0.00000   1.00000

error: `fig_pos' undefined near line 152 column 51
error: evaluating argument list element number 2
error: called from:
error: 
C:\Programs\Octave\3.2.0_gcc-4.3.0\share\octave\packages\jhandles-0.3.5\doc\testX.m
 
at line
  152, column 16
Octave-3.2.0: 9 >

...And a figure appears with fairly basic functionality: just three 
buttons, the left one inactive.

Trying to close it using the close button lead to these errors:

Octave-3.2.0: 9 > Exception in thread "AWT-EventQueue-0" 
java.lang.UnsatisfiedLinkError: org.octave.
Octave.needThreadedInvokation()Z
         at org.octave.Octave.needThreadedInvokation(Native Method)
         at org.octave.Octave.invokeLater(Octave.java:151)
         at 
org.octave.graphics.OctaveCallback.execute(OctaveCallback.java:58)
         at 
org.octave.graphics.CallbackProperty.execute(CallbackProperty.java:81)
         at 
org.octave.graphics.FigureObject.windowClosing(FigureObject.java:409)
         at java.awt.Window.processWindowEvent(Unknown Source)
         at java.awt.Window.processEvent(Unknown Source)
         at java.awt.Component.dispatchEventImpl(Unknown Source)
         at java.awt.Container.dispatchEventImpl(Unknown Source)
         at java.awt.Window.dispatchEventImpl(Unknown Source)
         at java.awt.Component.dispatchEvent(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown 
Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown 
Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

The only way to get rid of the figure is the close () command.


Basic plots work, some more complicated plots too. However, e.g., mixing 
cell string arrays and strings in calls to legend leads to errors, while 
gnuplot happily accepts this.
There are some raw edges left (e.g., resizing the picture leads to a 
mess on screen; automatic redraw doesn't function properly yet).
So, for the time being, I'd prefer gnuplot.

In conclusion:
jhandles graphics works (and seemingly a little bit faster than 
gnuplot), but not quite as slick as is in the deprecated 
octave-MSVC-3.0.3 version.

Anyway: Thank you, developers!

Philip

------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Octave-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to