Hi Stas, On Nov 19, 2013, at 12:02 PM, Stas Smirnov <stanislav.smir...@oracle.com> wrote:
> Hi Daniel, > > about caching, I placed it in the list, because there is no spec telling > about it, and anyone can add/remove it, that why it is an object of concern. > It will be great to hear from Controls team, cause from my point of view, > dynamical change of controls behavior will improve usability. > Talking about ObservableBooleanValue, nice idea, I think it will be really > better, than having boolean return value. Are you going to implement it? Eventually and after more discussion. From my point of view none of this discussion is about Java 8 - there aren’t going to be any more API changes or non-critical changes to controls behavior in that time frame. Would you open a JIRA for this, targeted at 9? Thanks, Daniel > > 19.11.2013 13:32, Daniel Blaukopf пишет: >> Hi Stas, >> >> Yes, you have a good point here. The behavior you are seeing is what I would >> expect, but I agree we could do better in how we specify this. Currently, >> States reported by Platform.isSupported are updated when input devices are >> added and removed >> Controls check the connected input devices at startup time. They do not >> change their behavior on the fly as input devices are added and removed. >> >> Enabling listening to state changes certainly makes sense - probably by >> defining state in ObservableProperties. I’m not sure we actually want >> controls to reconfigure themselves dynamically and automatically though. >> Maybe someone working on controls can comment on this, but it seems like it >> would be a complex transition with many edge cases to deal with. >> >> Why change caching of input device state in Lens and Quantum though? Lens >> needs to cache the state of input devices in order to be able to report on >> what input features are available. I’m not sure Quantum is doing any caching >> of this state at all - as far as I know it is going directly to Glass to >> query input device features. Controls do of course cache input device state. >> >> A thought about API for listening to state changes. What if we added an API >> to Platform like Platform.isSupported that instead of returning a boolean >> returned an ObservableBooleanValue? This listener would never be notified on >> conditional features like EFFECT or SCENE3D but would be notified on those >> conditional features that reflect input device state. >> >> Thanks, >> Daniel >> >> On Nov 19, 2013, at 10:09 AM, Stas Smirnov <stanislav.smir...@oracle.com> >> wrote: >> >>> Hello, >>> >>> Lately I have faced a strange behavior while I was using JavaFX Embedded >>> and touch screen. >>> As far as I understand there is no spec where I can find this information, >>> that is why I decided to ask the community. >>> I have developed a simple application with one text field and a button. I >>> run it using JavaFX Embedded runtime with LCD+touch monitor connected to an >>> abstract board. >>> As a result I can see touch mode in the application, the virtual keyboard >>> and other touch features. However if I plug out the touch part, connect >>> mouse, at the runtime, the application does not change its appearance and >>> behavior, the vk is still available with all touch features. So only >>> restart of the application disables touch mode. >>> I know that there is Platform.isSupported method to detect different >>> states, and touch is one of them. So I have checked, that, when I during >>> the runtime plug in/out touch and press the button to check >>> Platform.isSupported value, I can see it changes every time I plug in/out >>> the touch screen. >>> I assume it happens, because every time I call Platform.isSupported the >>> real check is being performed and because of that its value changes. But >>> once again, there is no spec to check it. >>> I have a proposal: >>> >>> * what if there will be some kind of listener to handle state changes >>> * add this listener to the controls where they ask >>> Platform.isSupported to make controls change their appearance and >>> behavior >>> * disable caching of the state in the platform(lens, quantum) >>> * create specification where the realization will be described >>> >>> -- >>> >>> Best regards, >>> Stas Smirnov >>> >>> Stas Smirnov | Java Embedded >>> Phone: +7 812 3346130 | Mobile: +7 921 9262241 >>> Oracle Development SPB, LLC >>> 10th Krasnoarmeyskaya 22A, St. Petersburg, 190103, Russia >>> >> > > > -- > Best regards, > Stas Smirnov > Stas Smirnov | Java Embedded > Phone: +7 812 3346130 | Mobile: +7 921 9262241 > Oracle Development SPB, LLC > 10th Krasnoarmeyskaya 22A, St. Petersburg, 190103, Russia