comparison dwt/widgets/Control.d @ 61:c74ba20de292

Fix: The application responds to events now
author Jacob Carlborg <doob@me.com>
date Tue, 23 Dec 2008 00:35:24 +0100
parents 62202ce0039f
children 63a09873578e
comparison
equal deleted inserted replaced
60:62202ce0039f 61:c74ba20de292
1076 sendKeyEvent (DWT.KeyDown, event); 1076 sendKeyEvent (DWT.KeyDown, event);
1077 setInputState (event, nsEvent, DWT.KeyUp); 1077 setInputState (event, nsEvent, DWT.KeyUp);
1078 sendKeyEvent (DWT.KeyUp, event); 1078 sendKeyEvent (DWT.KeyUp, event);
1079 break; 1079 break;
1080 default: 1080 default:
1081 assert(false);
1082 } 1081 }
1083 if (mask !is 0) { 1082 if (mask !is 0) {
1084 int type = (mask & modifiers) !is 0 ? DWT.KeyDown : DWT.KeyUp; 1083 int type = (mask & modifiers) !is 0 ? DWT.KeyDown : DWT.KeyUp;
1085 Event event = new Event(); 1084 Event event = new Event();
1086 event.keyCode = keyCode; 1085 event.keyCode = keyCode;
2443 case DWT.FocusOut: 2442 case DWT.FocusOut:
2444 if (shell !is display.getActiveShell ()) { 2443 if (shell !is display.getActiveShell ()) {
2445 shell.setActiveControl (null); 2444 shell.setActiveControl (null);
2446 } 2445 }
2447 break; 2446 break;
2447 default:
2448 } 2448 }
2449 } 2449 }
2450 } 2450 }
2451 2451
2452 bool sendMouseEvent (NSEvent nsEvent, int type, bool send) { 2452 bool sendMouseEvent (NSEvent nsEvent, int type, bool send) {
2469 case 0: event.button = 1; break; 2469 case 0: event.button = 1; break;
2470 case 1: event.button = 3; break; 2470 case 1: event.button = 3; break;
2471 case 2: event.button = 2; break; 2471 case 2: event.button = 2; break;
2472 case 3: event.button = 4; break; 2472 case 3: event.button = 4; break;
2473 case 4: event.button = 5; break; 2473 case 4: event.button = 5; break;
2474 default:
2474 } 2475 }
2475 break; 2476 break;
2476 case DWT.MouseWheel: 2477 case DWT.MouseWheel:
2477 event.detail = DWT.SCROLL_LINE; 2478 event.detail = DWT.SCROLL_LINE;
2478 Carbon.CGFloat delta = nsEvent.deltaY(); 2479 Carbon.CGFloat delta = nsEvent.deltaY();
2479 event.count = delta > 0 ? Math.max (1, cast(int)delta) : Math.min (-1, cast(int)delta); 2480 event.count = delta > 0 ? Math.max (1, cast(int)delta) : Math.min (-1, cast(int)delta);
2480 break; 2481 break;
2482 default:
2481 } 2483 }
2482 if (event.button !is 0) event.count = cast(int)/*64*/nsEvent.clickCount(); 2484 if (event.button !is 0) event.count = cast(int)/*64*/nsEvent.clickCount();
2483 NSPoint windowPoint; 2485 NSPoint windowPoint;
2484 if (nsEvent is null || nsEvent.type() is OS.NSMouseMoved) { 2486 if (nsEvent is null || nsEvent.type() is OS.NSMouseMoved) {
2485 windowPoint = view.window().convertScreenToBase(NSEvent.mouseLocation()); 2487 windowPoint = view.window().convertScreenToBase(NSEvent.mouseLocation());
3436 case DWT.TRAVERSE_ARROW_NEXT: return traverseItem (true); 3438 case DWT.TRAVERSE_ARROW_NEXT: return traverseItem (true);
3437 case DWT.TRAVERSE_ARROW_PREVIOUS: return traverseItem (false); 3439 case DWT.TRAVERSE_ARROW_PREVIOUS: return traverseItem (false);
3438 case DWT.TRAVERSE_MNEMONIC: return traverseMnemonic (event); 3440 case DWT.TRAVERSE_MNEMONIC: return traverseMnemonic (event);
3439 case DWT.TRAVERSE_PAGE_NEXT: return traversePage (true); 3441 case DWT.TRAVERSE_PAGE_NEXT: return traversePage (true);
3440 case DWT.TRAVERSE_PAGE_PREVIOUS: return traversePage (false); 3442 case DWT.TRAVERSE_PAGE_PREVIOUS: return traversePage (false);
3443 default:
3441 } 3444 }
3442 return false; 3445 return false;
3443 } 3446 }
3444 3447
3445 bool traverseEscape () { 3448 bool traverseEscape () {