Thread overview
Need help with a listener that moves a shell
Mar 11, 2007
doob
Mar 11, 2007
torhu
Mar 11, 2007
doob
March 11, 2007
What I try to do is a listener that moves a shell by holding down the middle mouse button. I want this because I use the style DWT.NONE on the shell. I manged to do this in java and swt but the same code doesn't work as expected in d with dwt. The code:

private class MouseListenerMiddle : Listener
{
        private int startX = 0;
        private int startY = 0;

        public void handleEvent (Event e)
        {
                if (e.type == DWT.MouseDown && e.button == 2)
                {
                        startX = e.x;
                        startY = e.y;
                }

                if (e.type == DWT.MouseMove && (e.stateMask & DWT.BUTTON2) != 0)
                {
                        Point p = shell.toDisplay(e.x, e.y);
                        p.x -= startX;
                        p.y -= startY;
                        shell.setLocation(p);
                }
        }
}

I can describe the problem with an example:
If you have the mouse pointer 100 pixels to the right of the top left corner of a window and moves the window you expect that the mouse pointer always is 100 pixels to the right of the top left corner but now it isn't. The top left corner of the window moves to the mouse pointer all the time.
March 11, 2007
doob wrote:
> What I try to do is a listener that moves a shell by holding down the middle mouse button. I want this because I use the style DWT.NONE on the shell. I manged to do this in java and swt but the same code doesn't work as expected in d with dwt.

I don't know, but maybe you can try the forum.  You have to be registered at dsource, I think, to post.

http://www.dsource.org/forums/viewforum.php?f=1

Not many people are using dwt, since it seems to be a dead project. Your problem might be caused by a bug in dwt, to fix it you would have debug dwt yourself.

A new port is on the way here, currently only the linux version is progressing.
http://www.dsource.org/projects/tioport

Hope this helps.
March 11, 2007
Actually it doesn't, I've notice that dwt seems dead and I thought I had a better luck here than in the forum and I'm really looking forward to tioport, but thanks for the replay anyway

torhu Wrote:

> doob wrote:
> > What I try to do is a listener that moves a shell by holding down the middle mouse button. I want this because I use the style DWT.NONE on the shell. I manged to do this in java and swt but the same code doesn't work as expected in d with dwt.
> 
> I don't know, but maybe you can try the forum.  You have to be registered at dsource, I think, to post.
> 
> http://www.dsource.org/forums/viewforum.php?f=1
> 
> Not many people are using dwt, since it seems to be a dead project. Your problem might be caused by a bug in dwt, to fix it you would have debug dwt yourself.
> 
> A new port is on the way here, currently only the linux version is
> progressing.
> http://www.dsource.org/projects/tioport
> 
> Hope this helps.