src/macosx/classes/sun/lwawt/LWToolkit.java

Print this page




 201 
 202     public static LWToolkit getLWToolkit() {
 203         return (LWToolkit)Toolkit.getDefaultToolkit();
 204     }
 205 
 206     // ---- TOPLEVEL PEERS ---- //
 207 
 208     /*
 209      * Note that LWWindowPeer implements WindowPeer, FramePeer
 210      * and DialogPeer interfaces.
 211      */
 212     private LWWindowPeer createDelegatedPeer(Window target, PlatformComponent platformComponent,
 213                                              PlatformWindow platformWindow, LWWindowPeer.PeerType peerType)
 214     {
 215         LWWindowPeer peer = new LWWindowPeer(target, platformComponent, platformWindow, peerType);
 216         targetCreatedPeer(target, peer);
 217         peer.initialize();
 218         return peer;
 219     }
 220 

















 221     @Override
 222     public WindowPeer createWindow(Window target) {
 223         PlatformComponent platformComponent = createPlatformComponent();
 224         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.SIMPLEWINDOW);
 225         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.SIMPLEWINDOW);
 226     }
 227 
 228     @Override
 229     public FramePeer createFrame(Frame target) {
 230         PlatformComponent platformComponent = createPlatformComponent();
 231         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.FRAME);
 232         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.FRAME);
 233     }
 234 
 235     public LWWindowPeer createEmbeddedFrame(CEmbeddedFrame target) {
 236         PlatformComponent platformComponent = createPlatformComponent();
 237         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.EMBEDDED_FRAME);
 238         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.EMBEDDED_FRAME);
 239     }
 240 


 485 
 486         synchronized (this) {
 487             if (clipboard == null) {
 488                 clipboard = createPlatformClipboard();
 489             }
 490         }
 491         return clipboard;
 492     }
 493 
 494     // ---- DELEGATES ---- //
 495 
 496     public abstract Clipboard createPlatformClipboard();
 497 
 498     /*
 499      * Creates a delegate for the given peer type (window, frame, dialog, etc.)
 500      */
 501     protected abstract PlatformWindow createPlatformWindow(LWWindowPeer.PeerType peerType);
 502 
 503     protected abstract PlatformComponent createPlatformComponent();
 504 


 505     protected abstract FileDialogPeer createFileDialogPeer(FileDialog target);
 506 
 507     // ---- UTILITY METHODS ---- //
 508 
 509     /*
 510      * Expose non-public targetToPeer() method.
 511      */
 512     public final static Object targetToPeer(Object target) {
 513         return SunToolkit.targetToPeer(target);
 514     }
 515 
 516     /*
 517      * Expose non-public targetDisposedPeer() method.
 518      */
 519     public final static void targetDisposedPeer(Object target, Object peer) {
 520         SunToolkit.targetDisposedPeer(target, peer);
 521     }
 522 
 523     /*
 524      * Returns the current cursor manager.
 525      */
 526     public abstract LWCursorManager getCursorManager();
 527 
 528     public static void postEvent(AWTEvent event) {
 529         postEvent(targetToAppContext(event.getSource()), event);
 530     }
 531 
 532     @Override
 533     public void grab(Window w) {







 534         if (w.getPeer() != null) {
 535             ((LWWindowPeer)w.getPeer()).grab();
 536         }
 537     }
 538 
 539     @Override
 540     public void ungrab(Window w) {







 541         if (w.getPeer() != null) {
 542             ((LWWindowPeer)w.getPeer()).ungrab(false);
 543         }
 544     }
 545 }


 201 
 202     public static LWToolkit getLWToolkit() {
 203         return (LWToolkit)Toolkit.getDefaultToolkit();
 204     }
 205 
 206     // ---- TOPLEVEL PEERS ---- //
 207 
 208     /*
 209      * Note that LWWindowPeer implements WindowPeer, FramePeer
 210      * and DialogPeer interfaces.
 211      */
 212     private LWWindowPeer createDelegatedPeer(Window target, PlatformComponent platformComponent,
 213                                              PlatformWindow platformWindow, LWWindowPeer.PeerType peerType)
 214     {
 215         LWWindowPeer peer = new LWWindowPeer(target, platformComponent, platformWindow, peerType);
 216         targetCreatedPeer(target, peer);
 217         peer.initialize();
 218         return peer;
 219     }
 220     
 221     private LWLightweightFramePeer createDelegatedLwPeer(LightweightFrame target,
 222                                                          PlatformComponent platformComponent,
 223                                                          PlatformWindow platformWindow)
 224     {
 225         LWLightweightFramePeer peer = new LWLightweightFramePeer(target, platformComponent, platformWindow);
 226         targetCreatedPeer(target, peer);
 227         peer.initialize();
 228         return peer;
 229     }
 230     
 231     @Override
 232     public FramePeer createLightweightFrame(LightweightFrame target) {
 233         PlatformComponent platformComponent = createLwPlatformComponent();
 234         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.LW_FRAME);
 235         return createDelegatedLwPeer(target, platformComponent, platformWindow);
 236     }        
 237 
 238     @Override
 239     public WindowPeer createWindow(Window target) {
 240         PlatformComponent platformComponent = createPlatformComponent();
 241         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.SIMPLEWINDOW);
 242         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.SIMPLEWINDOW);
 243     }
 244 
 245     @Override
 246     public FramePeer createFrame(Frame target) {
 247         PlatformComponent platformComponent = createPlatformComponent();
 248         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.FRAME);
 249         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.FRAME);
 250     }
 251 
 252     public LWWindowPeer createEmbeddedFrame(CEmbeddedFrame target) {
 253         PlatformComponent platformComponent = createPlatformComponent();
 254         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.EMBEDDED_FRAME);
 255         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.EMBEDDED_FRAME);
 256     }
 257 


 502 
 503         synchronized (this) {
 504             if (clipboard == null) {
 505                 clipboard = createPlatformClipboard();
 506             }
 507         }
 508         return clipboard;
 509     }
 510 
 511     // ---- DELEGATES ---- //
 512 
 513     public abstract Clipboard createPlatformClipboard();
 514 
 515     /*
 516      * Creates a delegate for the given peer type (window, frame, dialog, etc.)
 517      */
 518     protected abstract PlatformWindow createPlatformWindow(LWWindowPeer.PeerType peerType);
 519 
 520     protected abstract PlatformComponent createPlatformComponent();
 521     
 522     protected abstract PlatformComponent createLwPlatformComponent();    
 523 
 524     protected abstract FileDialogPeer createFileDialogPeer(FileDialog target);
 525 
 526     // ---- UTILITY METHODS ---- //
 527 
 528     /*
 529      * Expose non-public targetToPeer() method.
 530      */
 531     public final static Object targetToPeer(Object target) {
 532         return SunToolkit.targetToPeer(target);
 533     }
 534 
 535     /*
 536      * Expose non-public targetDisposedPeer() method.
 537      */
 538     public final static void targetDisposedPeer(Object target, Object peer) {
 539         SunToolkit.targetDisposedPeer(target, peer);
 540     }
 541 
 542     /*
 543      * Returns the current cursor manager.
 544      */
 545     public abstract LWCursorManager getCursorManager();
 546 
 547     public static void postEvent(AWTEvent event) {
 548         postEvent(targetToAppContext(event.getSource()), event);
 549     }
 550 
 551     @Override
 552     public void grab(Window w) {
 553         // When grab/ungrab API is public,
 554         // it should go through Window.grab(),
 555         // not via SunToolkit.grab(Window).
 556         if (w instanceof LightweightFrame) {
 557             ((LightweightFrame)w).grabFocus();
 558             return;
 559         }
 560         if (w.getPeer() != null) {
 561             ((LWWindowPeer)w.getPeer()).grab();
 562         }
 563     }
 564 
 565     @Override
 566     public void ungrab(Window w) {
 567         // When grab/ungrab API is public,
 568         // it should go through Window.ungrab(boolean),
 569         // not via SunToolkit.ungrab(Window).
 570         if (w instanceof LightweightFrame) {
 571             ((LightweightFrame)w).ungrabFocus(false);
 572             return;
 573         }
 574         if (w.getPeer() != null) {
 575             ((LWWindowPeer)w.getPeer()).ungrab(false);
 576         }
 577     }
 578 }