changeset 800:e5a0a1a3ee03

dw_window_enable() and dw_window_disable() now function as expected on MLE controls.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Wed, 23 Mar 2011 19:43:04 +0000
parents 3aa5d0777af2
children 5d8e4ecb7820
files mac/dw.m
diffstat 1 files changed, 32 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Wed Mar 23 19:18:37 2011 +0000
+++ b/mac/dw.m	Wed Mar 23 19:43:04 2011 +0000
@@ -6398,12 +6398,24 @@
  */
 void API dw_window_disable(HWND handle)
 {
-    NSObject *object = handle;
-    if([ object isKindOfClass:[ NSControl class ] ])
-    {
-        NSControl *control = handle;
+    id object = handle;
+    
+    if([object isMemberOfClass:[NSScrollView class]])
+    {
+        NSScrollView *sv = handle;
+        object = [sv documentView];
+    }
+    if([object isKindOfClass:[NSControl class]])
+    {
+        NSControl *control = object;
         [control setEnabled:NO];
     }
+    if([object isKindOfClass:[NSTextView class]])
+    {
+        NSTextView *mle = object;
+        
+        [mle setEditable:NO];
+    }
 }
 
 /*
@@ -6413,12 +6425,24 @@
  */
 void API dw_window_enable(HWND handle)
 {
-    NSObject *object = handle;
-    if([ object isKindOfClass:[ NSControl class ] ])
-    {
-        NSControl *control = handle;
+    id object = handle;
+    
+    if([object isMemberOfClass:[NSScrollView class]])
+    {
+        NSScrollView *sv = handle;
+        object = [sv documentView];
+    }
+    if([object isKindOfClass:[NSControl class]])
+    {
+        NSControl *control = object;
         [control setEnabled:YES];
     }
+    if([object isKindOfClass:[NSTextView class]])
+    {
+        NSTextView *mle = object;
+        
+        [mle setEditable:YES];
+    }
 }
 
 /*