Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » [SOLVED] ScrolledComposite: Set scroll position?
[SOLVED] ScrolledComposite: Set scroll position? [message #1364549] Sun, 18 May 2014 14:52
Alan DW is currently offline Alan DW
Messages: 105
Registered: March 2012
Senior Member
Hello everyone,

I'm trying to resolve the following problem with SWT. I have a simple ScrolledComposite in my shell that contains a Canvas showing an image. Let us assume that the canvas (and its image) are bigger in dimensions than the scrolled composite - so the horizontal and vertical scroll bars show up.

What I would like to do now is to implement the following behaviour: When the user moves the mouse across the ScrolledComposite while holding down the middle mouse button, the scroll bars should 'follow' the mouse pointer. So basically I want to allow the user to 'pan' the view on the image with the middle mouse button.

I've got my MouseMoveListener set up and it fires nicely. However, I don't know how to change the actual scroll position.


In short, what I'm looking for is the SWT equivalent to this Swing method: JScrollPanel#setScrollPosition(int,int).

I have tried:

   scrolledComposite.getHorizontalBar().setSelection(x);
   scrolledComposite.getVerticalBar().setSelection(y);



... but that only changes the position of the bars, it does not affect the viewport of the scrolled composite at all.


Any help would be much appreciated!


Thanks,


Alan



EDIT: I think I've found it. It seems to work by using scrolledComposite.getOrigin() and scrolledComposite.setOrigin(...) respectively. That's a rather... unusual name (which is why I didn't find it when searching for it) but it does make sense from a certain point of view, I guess. Correct me if I'm wrong on this one, but it does seem to work as intended.

[Updated on: Sun, 18 May 2014 14:57]

Report message to a moderator

Previous Topic:Experiencing paint problems TreeItem
Next Topic:Admins: Please Delete This Thread
Goto Forum:
  


Current Time: Thu Oct 30 23:49:09 GMT 2014

Powered by FUDForum. Page generated in 0.01584 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software