Hi Gal,
I followed the instructions and prepared a uibinder which looks same as hotel finder two way slider.
<g:HTMLPanel>
<div class="GPTJ3ICDOV">
<div style="align:left">
<div class="GPTJ3ICDLV">
<span class="GPTJ3ICDMV">Price per night</span>
<span class="GPTJ3ICDKV"><g:Label ui:field="slidingData"></g:Label></span>
</div>
</div>
<div class="GPTJ3ICDPV">
<div class="GPTJ3ICDIU">
<div class="GPTJ3ICDOU" ui:field="container">
<div class="GPTJ3ICDNU"></div>
<div class="GPTJ3ICDBV" style="left: 0px; width: 190px;"></div>
<g:Image styleName="GPTJ3ICDMU" ui:field="leftSlider"></g:Image>
<g:Image styleName="GPTJ3ICDAV" ui:field="rightSlider"></g:Image>
</div>
</div>
</div>
</div>
</g:HTMLPanel>
Now in java class, i add handlers to the images leftSlider and righSlider as follows
public void addhandlers() {
leftSlider.addDragEnterHandler(new DragEnterHandler() {
@Override
public void onDragEnter(DragEnterEvent event) {
}
});
leftSlider.addDragExitHandler(new DragExitHandler() {
@Override
public void onDragExit(DragExitEvent event) {
}
});
leftSlider.addDragOverHandler(new DragOverHandler() {
@Override
public void onDragOver(DragOverEvent event) {
}
});
leftSlider.addDropHandler(new DropHandler() {
@Override
public void onDrop(DropEvent event) {
}
});
leftSlider.addMouseMoveHandler(new MouseMoveHandler() {
@Override
public void onMouseMove(MouseMoveEvent event) {
leftSlider.getElement().getStyle().setLeft(event.getRelativeX(container), Unit.PX);
}
});
rightSlider.addMouseMoveHandler(new MouseMoveHandler() {
@Override
public void onMouseMove(MouseMoveEvent event) {
rightSlider.getElement().getStyle().setLeft(event.getRelativeX(container), Unit.PX);
}
});
}
Initially when the page renders, it is fine. When i do mouse over the slider images,
i observe that
1) MouseMoveHandler works only with mouse movement from left to right. If a move the mouse from right direction to left, nothing happens.
2) Also, how do i check bounds?
3) How to set the minimum and maximum value of the sliders?
Thanks
Deepak