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

Print this page




 193      *
 194      * Initially, all the LWToolkit implementations were supposed
 195      * to have the similar message loop sequence: check if any events
 196      * available, peek events, wait. However, the later analysis shown
 197      * that X11 and Windows implementations are really different, so
 198      * let the subclasses do whatever they require.
 199      */
 200     protected abstract void platformRunMessage();
 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)
 214     {
 215         LWWindowPeer peer = new LWWindowPeer(target, platformComponent, platformWindow);
 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);
 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);
 233     }
 234 
 235     public LWWindowPeer createEmbeddedFrame(CEmbeddedFrame target) {
 236         PlatformComponent platformComponent = createPlatformComponent();
 237         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.EMBEDDEDFRAME);
 238         return createDelegatedPeer(target, platformComponent, platformWindow);
 239     }
 240 







 241     CPrinterDialogPeer createCPrinterDialog(CPrinterDialog target) {
 242         PlatformComponent platformComponent = createPlatformComponent();
 243         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.DIALOG);
 244         CPrinterDialogPeer peer = new CPrinterDialogPeer(target, platformComponent, platformWindow);
 245         targetCreatedPeer(target, peer);
 246         return peer;
 247     }
 248 
 249     @Override
 250     public DialogPeer createDialog(Dialog target) {
 251         if (target instanceof CPrinterDialog) {
 252             return createCPrinterDialog((CPrinterDialog)target);
 253         }
 254 
 255         PlatformComponent platformComponent = createPlatformComponent();
 256         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.DIALOG);
 257         return createDelegatedPeer(target, platformComponent, platformWindow);
 258     }
 259 
 260     @Override
 261     public FileDialogPeer createFileDialog(FileDialog target) {
 262         FileDialogPeer peer = createFileDialogPeer(target);
 263         targetCreatedPeer(target, peer);
 264         return peer;
 265     }
 266 
 267     // ---- LIGHTWEIGHT COMPONENT PEERS ---- //
 268 
 269     @Override
 270     public ButtonPeer createButton(Button target) {
 271         PlatformComponent platformComponent = createPlatformComponent();
 272         LWButtonPeer peer = new LWButtonPeer(target, platformComponent);
 273         targetCreatedPeer(target, peer);
 274         peer.initialize();
 275         return peer;
 276     }
 277 




 193      *
 194      * Initially, all the LWToolkit implementations were supposed
 195      * to have the similar message loop sequence: check if any events
 196      * available, peek events, wait. However, the later analysis shown
 197      * that X11 and Windows implementations are really different, so
 198      * let the subclasses do whatever they require.
 199      */
 200     protected abstract void platformRunMessage();
 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.EMBEDDEDFRAME);
 238         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.EMBEDDEDFRAME);
 239     }
 240    
 241     public LWWindowPeer createEmbeddedFrame(CViewEmbeddedFrame target) {
 242         PlatformComponent platformComponent = createPlatformComponent();
 243         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.VIEWEMBEDDEDFRAME);
 244         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.VIEWEMBEDDEDFRAME);
 245     }
 246 
 247 
 248     CPrinterDialogPeer createCPrinterDialog(CPrinterDialog target) {
 249         PlatformComponent platformComponent = createPlatformComponent();
 250         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.DIALOG);
 251         CPrinterDialogPeer peer = new CPrinterDialogPeer(target, platformComponent, platformWindow);
 252         targetCreatedPeer(target, peer);
 253         return peer;
 254     }
 255 
 256     @Override
 257     public DialogPeer createDialog(Dialog target) {
 258         if (target instanceof CPrinterDialog) {
 259             return createCPrinterDialog((CPrinterDialog)target);
 260         }
 261 
 262         PlatformComponent platformComponent = createPlatformComponent();
 263         PlatformWindow platformWindow = createPlatformWindow(LWWindowPeer.PeerType.DIALOG);
 264         return createDelegatedPeer(target, platformComponent, platformWindow, LWWindowPeer.PeerType.DIALOG);
 265     }
 266 
 267     @Override
 268     public FileDialogPeer createFileDialog(FileDialog target) {
 269         FileDialogPeer peer = createFileDialogPeer(target);
 270         targetCreatedPeer(target, peer);
 271         return peer;
 272     }
 273 
 274     // ---- LIGHTWEIGHT COMPONENT PEERS ---- //
 275 
 276     @Override
 277     public ButtonPeer createButton(Button target) {
 278         PlatformComponent platformComponent = createPlatformComponent();
 279         LWButtonPeer peer = new LWButtonPeer(target, platformComponent);
 280         targetCreatedPeer(target, peer);
 281         peer.initialize();
 282         return peer;
 283     }
 284