Trying the first example from above with *pickcallback *works perfectly.

$ function foo() { print "Hello" }
$ set pickCallback "jmolscript:foo()"

I then tried:

$ function foo() { print _atomPicked }
$ set pickCallback "jmolscript:foo()"

Which also works, but I noticed when testing it that three hover events
came through in the form of "Hello" messages from where I'd assigned foo to
hoverCallback earlier.

I wonder whether a higher level GUI component is trapping mouse events?

Will keep digging.

Dave


On 15 April 2013 13:01, N David Brown <hubd...@gmail.com> wrote:

> Hmm this is very weird. Having relaunched I can't get the same command to
> work again.
>
> None of these commands produce any output in the Jmol console when you
> subsequently move the mouse cursor over numerous atoms.
>
> // attempt 1
> $ function foo() { print "Hello" }
> $ set hoverCallback "jmolscript:foo()"// attempt 2
> $ set hoverCallback "jmolscript: print 'Hello'"
> hovercallback = "jmolscript: print 'Hello'"// attempt 3
> $ set hoverCallback "jmolscript:script C:\\Users\\David\\Desktop\\hover.spt"
>
> Any suggestions on how to debug this?
>
> Dave
>
>
> On 15 April 2013 12:30, N David Brown <hubd...@gmail.com> wrote:
>
>> No I take it back - that does work! My embedded Jmol console didn't
>> immediately scroll down when the Hello was printed.
>>
>> However this 'foo' case from earlier doesn't work. Why not?
>>
>> $ function foo() { print _atomHovered }
>> $ set hoverCallback "jmolscript:foo()"
>>
>> Dave
>>
>>
>> On 15 April 2013 12:26, N David Brown <hubd...@gmail.com> wrote:
>>
>>> This doesn't even work:
>>>
>>> set hoverCallback "jmolscript:print 'Hello'"
>>>
>>> I must be doing something fundamentally wrong.
>>>
>>> Is there a difference in hover detection when running the Viewer
>>> embedded in a Java app?
>>>
>>> Dave
>>>
>>> On 15 April 2013 12:12, N David Brown <hubd...@gmail.com> wrote:
>>>
>>> Sorry that was old code, I meant to say:
>>>>
>>>> $ function foo() { print _atomHovered }
>>>> $ set hoverCallback "jmolscript:foo()"
>>>>
>>>> This is based on what Bob wrote.
>>>>
>>>> Dave
>>>>
>>>>
>>>> On 15 April 2013 11:23, N David Brown <hubd...@gmail.com> wrote:
>>>>
>>>>> It seems I must generate and capture my own output to detect in Java
>>>>> when a hover event occurs.
>>>>>
>>>>> Could someone please explain why the following doesn't work to enable
>>>>> foo as a hover callback function?
>>>>>
>>>>> $ function foo (atomId) { print atomId }
>>>>> $ foo("H332")
>>>>> H332
>>>>> $ set hovercallback "foo"
>>>>> hovercallback = "foo"
>>>>>
>>>>> Mouse-over of on-screen atoms makes no printout occur.
>>>>>
>>>>> Dave
>>>>>
>>>>>
>>>>> On 15 April 2013 10:33, N David Brown <hubd...@gmail.com> wrote:
>>>>>
>>>>>> That command still doesn't work, Angel.
>>>>>>
>>>>>> set hovercallback = "jmolscript: select _atomHovered; colour atoms red"
>>>>>>
>>>>>> In other news - I've created a custom JmolCallbackListener which is
>>>>>> giving me ECHO and PICK events.
>>>>>>
>>>>>> Is there a HOVER event or similar I can enable?
>>>>>>
>>>>>> This will give me the Java notification I need.
>>>>>>
>>>>>> Many thanks,
>>>>>>
>>>>>> Dave
>>>>>>
>>>>>>
>>>>>> On 15 April 2013 10:12, N David Brown <hubd...@gmail.com> wrote:
>>>>>>
>>>>>>> Ah, thanks Angel.
>>>>>>>
>>>>>>> I'll make a note of that for future reference.
>>>>>>>
>>>>>>> Since realising I'll need to have a callback in my own Java code I'm
>>>>>>> now looking at JmolCallbackListener.
>>>>>>>
>>>>>>> Cheers,
>>>>>>>
>>>>>>> Dave
>>>>>>>
>>>>>>>
>>>>>>> On 15 April 2013 10:09, Angel Herráez <angel.herr...@uah.es> wrote:
>>>>>>>
>>>>>>>> > Just to clarify, I'm working in Java not JavaScript.
>>>>>>>>
>>>>>>>> Yes, callbacks are by default thought to be attached to a JavaScript
>>>>>>>> function, that's why you need yo use the "jmolscript" prefix. After
>>>>>>>> that, either you include Jmol commands (and 'script' is one of them)
>>>>>>>> or a JmolScript function as bob suggested.
>>>>>>>>
>>>>>>>>
>>>>>>>> > set hovercallback = "jmolscript:Jmol select
>>>>>>>> >  _atomHovered; colour atoms red"
>>>>>>>> >
>>>>>>>>
>>>>>>>> Sorry I was not too explanative. This will be it:
>>>>>>>>  set hovercallback = "jmolscript: select _atomHovered; colour atoms
>>>>>>>> red"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> > Sadly this doesn't work.
>>>>>>>> > Any suggestions? And could we have an example added to the
>>>>>>>> > interactive script docs please?
>>>>>>>> > Dave
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > On 15 April 2013 01:19, Robert Hanson <hans...@stolaf.edu> wrote:
>>>>>>>> >     Just define a function and call it from your callback:
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     function myfunc() {
>>>>>>>> >     -- Jmol script here --
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     }
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     set hoverCallback "jmolscript:myfunc()"
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     The global variable _atomhovered will contain the atom index
>>>>>>>> of the
>>>>>>>> >     hovered atom. So you can investigate it, perhaps:
>>>>>>>> >
>>>>>>>> >     function testme() {
>>>>>>>> >
>>>>>>>> >     Var theAtom = {atomindex=_atomHovered}
>>>>>>>> >     if (theAtom.elemno==6) {hoverLabel="That's a carbon"} else
>>>>>>>> >     {hoverLabel = "That's not a carbon"}
>>>>>>>> >     }
>>>>>>>> >
>>>>>>>> >     set hovercallback "jmolscript:testme()"
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     On Sun, Apr 14, 2013 at 5:21 PM, N David Brown <
>>>>>>>> hubd...@gmail.com>
>>>>>>>> >     wrote:
>>>>>>>> >     I've seen this in the documentation:
>>>>>>>> >
>>>>>>>> >     set hoverCallback "jmolscript:script hover.spt"
>>>>>>>> >
>>>>>>>> >     I'd like my JAR to not have to deploy files like this
>>>>>>>> hover.spt to
>>>>>>>> >     the environment.
>>>>>>>> >
>>>>>>>> >     Is there an in-JAR filepath you can specify here?
>>>>>>>> >
>>>>>>>> >     Or an inline script variation?
>>>>>>>> >
>>>>>>>> >     Dave
>>>>>>>> >
>>>>>>>> >
>>>>>>>> ----------------------------------------------------------------------
>>>>>>>> >     --------
>>>>>>>> >     Precog is a next-generation analytics platform capable of
>>>>>>>> advanced
>>>>>>>> >     analytics on semi-structured data. The platform includes APIs
>>>>>>>> for
>>>>>>>> >     building
>>>>>>>> >     apps and a phenomenal toolset for data science. Developers
>>>>>>>> can use
>>>>>>>> >     our toolset for easy data analysis & visualization. Get a free
>>>>>>>> >     account!
>>>>>>>> >     http://www2.precog.com/precogplatform/slashdotnewsletter
>>>>>>>> >     _______________________________________________
>>>>>>>> >     Jmol-developers mailing list
>>>>>>>> >     Jmol-developers@lists.sourceforge.net
>>>>>>>> >     https://lists.sourceforge.net/lists/listinfo/jmol-developers
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     --
>>>>>>>> >     Robert M. Hanson
>>>>>>>> >     Larson-Anderson Professor of Chemistry
>>>>>>>> >     Chair, Chemistry Department
>>>>>>>> >     St. Olaf College
>>>>>>>> >     Northfield, MN
>>>>>>>> >     http://www.stolaf.edu/people/hansonr
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >     If nature does not answer first what we want,
>>>>>>>> >     it is better to take what answer we get.
>>>>>>>> >
>>>>>>>> >     -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
>>>>>>>> >
>>>>>>>> >
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>
>
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Jmol-developers mailing list
Jmol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to