Thanks Alexander and Angel, that extra info is helpful.

Dave


On 15 April 2013 20:27, Alexander Rose <alexander.r...@weirdbyte.de> wrote:

> Hi,
>
> this might interest you
>
> set hoverDelay (decimal)
> Sets the length of time in seconds before a hovering action is
> acknowledged.
>
> maybe this setting should be dynamic: when a user moves the mouse around
> too much it decreases :-)
>
>
>
> Best
> Alexander
>
>
> Am 15.04.2013 um 21:21 schrieb N David Brown:
>
> You'll never guess what it was. I'd presumed hover was like `mouseover`,
> activating as soon as you mouse over an atom.
>
> But I realise now you have to hover and wait a second or two.
>
> In my testing I was simply moving the mouse around too much!
>
> Embarrassing. At least it's solved though.
>
> Much useful info gleaned along the way, so thanks for that guys.
>
> Dave
>
>
>
> On 15 April 2013 16:28, N David Brown <hubd...@gmail.com> wrote:
>
>> I've tried moving the Viewer instances to the top level content pane
>> rather than inside a JSplitPane and the same problem persists.
>>
>> Dave
>>
>>
>> On 15 April 2013 14:26, N David Brown <hubd...@gmail.com> wrote:
>>
>>> Thanks for this example, Bob.
>>>
>>> I've implemented as suggested and printouts show I receive many events
>>> such as SCRIPT, RESIZE, CLICK. However no HOVER events are generated.
>>>
>>> Is there an obvious reason why this might happen?
>>>
>>> I'm using two JmolPanel instances embedded into a JSplitPane. The
>>> JmolPanel definition is from the Jmol wiki iirc:
>>>
>>> public class JmolPanel extends JPanel {
>>>
>>>     private static final long serialVersionUID = 2422145881008561710L;
>>>
>>>     JmolViewer viewer;
>>>
>>>     private final Dimension currentSize = new Dimension();
>>>
>>>     public JmolPanel() {
>>>         viewer = JmolViewer.allocateViewer(this, new SmarterJmolAdapter(), 
>>> null, null, null, null, null);
>>>     }
>>>
>>>     @Override
>>>     public void paint(Graphics g) {
>>>         getSize(currentSize);
>>>         viewer.renderScreenImage(g, currentSize.width, currentSize.height);
>>>     }
>>>
>>>     public JmolViewer getViewer() {
>>>         return viewer;
>>>     }
>>> }
>>>
>>> The JmolCallbackListener I instantiate for both
>>> Viewer#setJmolCallbackListener calls is:
>>>
>>> public class CallbackListener implements JmolCallbackListener {
>>>
>>>     final private CustomAppConsole appConsole;
>>>     private int callbackId = 0;
>>>
>>>     public CallbackListener(final CustomAppConsole appConsole) {
>>>         this.appConsole = appConsole;
>>>     }
>>>
>>>     @Override
>>>     public void setCallbackFunction(String callbackType, String 
>>> callbackFunction) {
>>>         appConsole.setCallbackFunction(callbackType, callbackFunction);
>>>     }
>>>
>>>     @Override
>>>     public boolean notifyEnabled(EnumCallback type) {
>>>         System.out.println(String.format("Callback %d: 
>>> %s",callbackId++,type));
>>>
>>> switch (type) {
>>>         case HOVER:
>>>             return true
>>> ;
>>>         }
>>>         return appConsole.notifyEnabled(type);
>>>     }
>>>
>>>     @Override
>>>     public void notifyCallback(EnumCallback type, Object[] data) {
>>>         appConsole.notifyCallback(type, data);
>>>         String strInfo = (data == null || data[1] == null ? null : 
>>> data[1].toString());
>>>         switch (type) {
>>>         case HOVER:
>>>             if (strInfo != null) {
>>>                 System.out.println("HOVER: " + strInfo);
>>>             }
>>>             break;
>>>         }
>>>     }
>>> }
>>>
>>> The class CustomAppConsole is my subclass of AppConsole.
>>>
>>> Dave
>>>
>>>
>>> On 15 April 2013 14:04, Robert Hanson <hans...@stolaf.edu> wrote:
>>>
>>>> yes, this sounds like the way to go.
>>>>
>>>>
>>>>   // / JmolCallbackListener interface ///
>>>>   public boolean notifyEnabled(EnumCallback type) {
>>>>     switch (type) {
>>>>     case HOVER:
>>>>       return true;
>>>>     }
>>>>     return false;
>>>>   }
>>>>
>>>>   @SuppressWarnings("incomplete-switch")
>>>>   public void notifyCallback(EnumCallback type, Object[] data) {
>>>>     String strInfo = (data == null || data[1] == null ? null : data[1]
>>>>         .toString());
>>>>     switch (type) {
>>>>     case HOVER:
>>>> ....
>>>>    }
>>>> }
>>>>
>>>>
>>>>
>>>> On Mon, Apr 15, 2013 at 4:33 AM, 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
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> 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
>
>
>
------------------------------------------------------------------------------
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