2017-03-18 8 views
1

qx.ui.container.Scroll 또는 내부 스크롤 가능한 구성 요소를 사용하여 qooxdoo 응용 프로그램에서 스크롤 감도를 조정할 수 있는지 궁금합니다. qx.ui.table.Table.qooxdoo 스크롤 속도/민감도 조정

Sierra 10.12.3을 실행하는 MacBook Pro에서 나는 트랙 패드를 사용하여 빠른 속도로 스크롤 할 수 있습니다. qooxdoo 기반 응용 프로그램에서는이 기능을 사용하기가 매우 어려워 보입니다. 비교 가능한 결과 (Chrome, Safari, ...)로 다른 브라우저를 사용해 보았습니다.

예를 들어, API browser을 열고 왼쪽에있는 찾아보기 API 트리를 스크롤하십시오.

+0

내가 기억할 수 있듯이 MacOS sierra는 시스템에서 응용 프로그램에 전달한 마우스 휠 이벤트로 변경되었습니다. Java 응용 프로그램이나 네이티브 터미널 응용 프로그램에서 스크롤하는 것을 포함하여 많은 것을 망 쳤습니다. 그것은 관련이있을 수 있으며 qooxdoo 코드는 이와 관련하여 약간의 조정이 필요할 수 있습니다. –

답변

1

Qooxdoo는 브라우저 플랫폼에서 마우스 휠 델타를 표준화하기위한 노력을합니다. OSX의 트랙 패드에서 두 손가락을 움직이는 제스처는 사파리에 휠 이벤트로 노출되는 것처럼 보입니다. 사파리는 최적으로 정상화되지 않을 수 있습니다. 실제 마우스 휠을 돌릴 때 발생하는 마우스 휠 이벤트는 놀라운 속도의 스크롤링을 유발하지 않습니다.

정상화 https://github.com/qooxdoo/qooxdoo/blob/master/framework/source/class/qx/util/Wheel.js

정규화 루틴은 API로 노출되지 및 구성 할 수 없습니다 있습니다에 위치하고 발생하는 코드입니다. 이 문제를 해결하려면 정규화 코드를 조정해야합니다.

그것은 여기 https://github.com/qooxdoo/qooxdoo/issues

에서 GitHub의 문제 추적기에 이것에 대한 문제를 열려면 가장 좋은 것입니다 마우스 휠 이벤트 콘솔에 아래 이벤트 유형 및 델타을 쓰는 jsfiddle이다. 이것은 다른 플랫폼에서 휠 이벤트의 델타 값을 조사하기위한 출발점이 될 수 있습니다 http://jsfiddle.net/mfe8J/77/

function wheelSpeed(event) { 
    var delta; 
    if (event.wheelDelta) { 
     delta = event.wheelDelta; 
    } else { 
     delta = event.deltaY ? event.deltaY : event.detail; 
    } 
    console.log("event type: "+ event.type + ", delta: " + delta); 
    return delta; 
} 
window.addEventListener('mousewheel', wheelSpeed); 
window.addEventListener('wheel', wheelSpeed); 

문제를 해결하는 솔루션이나 최고의 풀 요청에 대한 제안은 크게 감사하고 환영 할 것입니다.