JavaVM.st
changeset 482 08fd07acb9b7
parent 480 9aec33a9e04d
child 483 bdb1ad03c3f1
--- a/JavaVM.st	Fri Dec 04 14:32:09 1998 +0000
+++ b/JavaVM.st	Fri Dec 04 14:37:29 1998 +0000
@@ -3301,13 +3301,17 @@
     path notNil ifTrue:[
         path := Java as_ST_String:path.
         path := self fixFilename:path.
+        f := path asFilename.
+        (f exists and:[f isDirectory]) ifTrue:[
+            ^ 0 "/ FALSE
+        ].
+
         FileOpenConfirmation ifTrue:[
             (self confirm:('JAVA Security check\\Create directory ''' , path , '''.\Grant permission ?') withCRs)
             ifFalse:[
                 ^ 0 "/ FALSE
             ]
         ].
-        f := path asFilename.
         OperatingSystem accessDeniedErrorSignal handle:[:ex |
             ^ 0 "/ FALSE
         ] do:[
@@ -3320,7 +3324,7 @@
     ^ 0 "FALSE"
 
     "Created: / 4.2.1998 / 00:19:05 / cg"
-    "Modified: / 20.10.1998 / 21:00:25 / cg"
+    "Modified: / 4.12.1998 / 14:04:03 / cg"
 !
 
 _File_renameTo0:nativeContext
@@ -7216,9 +7220,10 @@
 
 _WCheckboxMenuItemPeer_setState:nativeContext
     "/ void setState (boolean)
-    UnimplementedNativeMethodSignal raise
+"/    UnimplementedNativeMethodSignal raise
 
     "Created: / 12.11.1998 / 19:14:35 / cg"
+    "Modified: / 3.12.1998 / 21:41:13 / cg"
 !
 
 _WCheckboxPeer_create:nativeContext
@@ -9040,9 +9045,10 @@
 
 _WMenuPeer_createSubMenu:nativeContext
     "/ void createSubMenu (sun.awt.windows.WMenuPeer)
-    UnimplementedNativeMethodSignal raise
+"/    UnimplementedNativeMethodSignal raise
 
     "Created: / 12.11.1998 / 19:13:43 / cg"
+    "Modified: / 3.12.1998 / 21:41:07 / cg"
 !
 
 _WMenuPeer_delItem:nativeContext
@@ -9526,9 +9532,46 @@
 
 _WWindowPeer_create:nativeContext
     "/ void create (sun.awt.windows.WComponentPeer)
-    UnimplementedNativeMethodSignal raise
-
-    "Created: / 12.11.1998 / 19:10:38 / cg"
+    |jWindowPeer jWindow top window pDataIdx|
+
+    jWindowPeer := nativeContext receiver.
+
+    jWindow := jWindowPeer instVarNamed:'target'.
+    window := jWindowPeer instVarNamed:'pData'.
+
+    (window notNil and:[window ~~ 0]) ifTrue:[
+        WindowCreationTrace == true ifTrue:[
+            'JAVA: window view already created: ' infoPrint.
+            jWindowPeer class name infoPrintCR.
+        ].
+    ] ifFalse:[
+"/ OLD
+"/        window := StandardSystemView new.
+"/        self createdWindowsView:window for:jWindowPeer.
+"/        JavaWindowGroup addTopView:window.
+
+        window := JavaPopUpView new.
+        window delegate:self.
+        window javaPeer:jWindowPeer.
+        self createdWindowsView:window for:jWindowPeer.
+        JavaWindowGroup addTopView:window.
+
+"/        top := StandardSystemView new.
+"/        window := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
+"/        window delegate:self.
+"/        window javaPeer:jWindowPeer.
+"/        self createdWindowsView:window for:jWindowPeer.
+"/        JavaWindowGroup addTopView:top.
+
+    ].
+
+    WindowCreationTrace == true ifTrue:[
+        'JAVA: WWindowPeer_create: ' print. jWindowPeer displayString print.
+        ' window: ' print. window printNL.
+    ].
+
+    "Created: / 4.1.1998 / 17:56:39 / cg"
+    "Modified: / 4.12.1998 / 15:08:53 / cg"
 !
 
 _WWindowPeer_getContainerElement:nativeContext
@@ -10169,6 +10212,9 @@
             key := keyChar := key asciiValue
         ] ifFalse:[
             untranslatedKey := anEvent view device keyboardMap keyAtValue:key ifAbsent:key.
+            untranslatedKey == #Insert ifTrue:[
+                key := jKeyEventClass instVarNamed:'VK_INSERT' 
+            ].
             untranslatedKey == #Delete ifTrue:[
                 key := jKeyEventClass instVarNamed:'VK_DELETE' "/ 127
             ].
@@ -10187,10 +10233,10 @@
             untranslatedKey == #End ifTrue:[
                 key := jKeyEventClass instVarNamed:'VK_END'
             ].
-            untranslatedKey == #Prior ifTrue:[
+            (key == #PreviousPage or:[untranslatedKey == #Prior]) ifTrue:[
                 key := jKeyEventClass instVarNamed:'VK_PAGE_UP'
             ].
-            key == #EndOfText ifTrue:[
+            (key == #NextPage or:[key == #EndOfText]) ifTrue:[
                 key := jKeyEventClass instVarNamed:'VK_PAGE_DOWN'
             ].
             untranslatedKey == #CursorUp ifTrue:[
@@ -10205,7 +10251,7 @@
             untranslatedKey == #CursorRight ifTrue:[
                 key := jKeyEventClass instVarNamed:'VK_RIGHT'
             ].
-            (#( F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11)
+            (#( F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12)
             includes:untranslatedKey) ifTrue:[
                 key := jKeyEventClass instVarNamed:('VK_' , untranslatedKey)
             ].
@@ -10385,7 +10431,7 @@
     ^ nil.
 
     "Created: / 6.1.1998 / 20:38:58 / cg"
-    "Modified: / 3.12.1998 / 13:49:31 / cg"
+    "Modified: / 4.12.1998 / 15:27:47 / cg"
 !
 
 doWindowsEventThread
@@ -10458,7 +10504,7 @@
     v := event view.
     jWinPeer := self jPeerForView:v.
     jWinPeer isNil ifTrue:[
-        ((v isKindOf:JavaView) or:[v isKindOf:JavaTopView]) ifTrue:[
+        v isJavaView ifTrue:[
             "/ mhmh - an event for a JavaView,
             "/ which has no peer (anyMore ?)
             "/ should not happen.
@@ -10517,7 +10563,7 @@
     "/ selectively filter exposeEvents from Java ...
 
     eventConsumed := false.
-    (v class == JavaView or:[v class == JavaTopView]) ifTrue:[
+    v isJavaView ifTrue:[
         "/ all events handled by Java ...
     ] ifFalse:[
         eventConsumed := true.
@@ -10540,10 +10586,10 @@
                 ^ true
             ].
             (v isKindOf:ScrollBar) ifTrue:[
-                ^ self
+                ^ true
             ].
             (v isKindOf:Scroller) ifTrue:[
-                ^ self
+                ^ true
             ].
             (v isKindOf:MenuPanel) ifTrue:[
                 ^ true
@@ -10597,12 +10643,12 @@
     ^ false
 
     "Created: / 6.1.1998 / 20:36:36 / cg"
-    "Modified: / 3.12.1998 / 20:38:48 / cg"
+    "Modified: / 4.12.1998 / 15:25:09 / cg"
 ! !
 
 !JavaVM class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.89 1998/12/03 20:38:52 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.90 1998/12/04 14:37:29 cg Exp $'
 ! !
 JavaVM initialize!