]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/app.cpp
use correct scale when drawing
[wxWidgets.git] / src / osx / carbon / app.cpp
index aa37c9e249ff453337c0e554ef3f6cbfd3c0e18e..f33ac195cc525b8e1e65d735ad5dd7f17ccc853c 100644 (file)
@@ -161,9 +161,13 @@ short wxApp::MacHandleAEODoc(const WXEVENTREF event, WXEVENTREF WXUNUSED(reply))
     wxArrayString fileNames;
     for (i = 1; i <= itemsInList; i++)
     {
-        AEGetNthPtr(
+        err = AEGetNthPtr(
             &docList, i, typeFSRef, &keywd, &returnedType,
             (Ptr)&theRef, sizeof(theRef), &actualSize);
+        
+        if ( err != noErr)
+            return err;
+        
         fName = wxMacFSRefToPath( &theRef ) ;
 
         fileNames.Add(fName);
@@ -229,9 +233,13 @@ short wxApp::MacHandleAEPDoc(const WXEVENTREF event , WXEVENTREF WXUNUSED(reply)
 
     for (i = 1; i <= itemsInList; i++)
     {
-        AEGetNthPtr(
+        err = AEGetNthPtr(
             &docList, i, typeFSRef, &keywd, &returnedType,
             (Ptr)&theRef, sizeof(theRef), &actualSize);
+        
+        if ( err != noErr)
+            return err;
+        
         fName = wxMacFSRefToPath( &theRef ) ;
 
         MacPrintFile(fName);
@@ -382,8 +390,14 @@ void wxApp::MacReopenApp()
 
         if ( firstIconized )
             firstIconized->Iconize( false ) ;
+        
+        // showing hidden windows is not really always a good solution, also non-modal dialogs when closed end up
+        // as hidden tlws, we don't want to reshow those, so let's just reopen the minimized a.k.a. iconized tlws
+        // unless we find a regression ...
+#if 0
         else if ( firstHidden )
             firstHidden->Show( true );
+#endif
     }
 }
 
@@ -1062,133 +1076,6 @@ void wxApp::MacHandleUnhandledEvent( WXEVENTREF WXUNUSED(evr) )
 
 #if wxOSX_USE_COCOA_OR_CARBON
 
-#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
-
-// adding forward compatible defines for keys that are different on different keyboard layouts
-// see Inside Mac Volume V
-
-enum {
-    kVK_ANSI_A = 0x00,
-    kVK_ANSI_S = 0x01,
-    kVK_ANSI_D = 0x02,
-    kVK_ANSI_F = 0x03,
-    kVK_ANSI_H = 0x04,
-    kVK_ANSI_G = 0x05,
-    kVK_ANSI_Z = 0x06,
-    kVK_ANSI_X = 0x07,
-    kVK_ANSI_C = 0x08,
-    kVK_ANSI_V = 0x09,
-    kVK_ANSI_B = 0x0B,
-    kVK_ANSI_Q = 0x0C,
-    kVK_ANSI_W = 0x0D,
-    kVK_ANSI_E = 0x0E,
-    kVK_ANSI_R = 0x0F,
-    kVK_ANSI_Y = 0x10,
-    kVK_ANSI_T = 0x11,
-    kVK_ANSI_1 = 0x12,
-    kVK_ANSI_2 = 0x13,
-    kVK_ANSI_3 = 0x14,
-    kVK_ANSI_4 = 0x15,
-    kVK_ANSI_6 = 0x16,
-    kVK_ANSI_5 = 0x17,
-    kVK_ANSI_Equal = 0x18,
-    kVK_ANSI_9 = 0x19,
-    kVK_ANSI_7 = 0x1A,
-    kVK_ANSI_Minus = 0x1B,
-    kVK_ANSI_8 = 0x1C,
-    kVK_ANSI_0 = 0x1D,
-    kVK_ANSI_RightBracket = 0x1E,
-    kVK_ANSI_O = 0x1F,
-    kVK_ANSI_U = 0x20,
-    kVK_ANSI_LeftBracket = 0x21,
-    kVK_ANSI_I = 0x22,
-    kVK_ANSI_P = 0x23,
-    kVK_ANSI_L = 0x25,
-    kVK_ANSI_J = 0x26,
-    kVK_ANSI_Quote = 0x27,
-    kVK_ANSI_K = 0x28,
-    kVK_ANSI_Semicolon = 0x29,
-    kVK_ANSI_Backslash = 0x2A,
-    kVK_ANSI_Comma = 0x2B,
-    kVK_ANSI_Slash = 0x2C,
-    kVK_ANSI_N = 0x2D,
-    kVK_ANSI_M = 0x2E,
-    kVK_ANSI_Period = 0x2F,
-    kVK_ANSI_Grave = 0x32,
-    kVK_ANSI_KeypadDecimal = 0x41,
-    kVK_ANSI_KeypadMultiply = 0x43,
-    kVK_ANSI_KeypadPlus = 0x45,
-    kVK_ANSI_KeypadClear = 0x47,
-    kVK_ANSI_KeypadDivide = 0x4B,
-    kVK_ANSI_KeypadEnter = 0x4C,
-    kVK_ANSI_KeypadMinus = 0x4E,
-    kVK_ANSI_KeypadEquals = 0x51,
-    kVK_ANSI_Keypad0 = 0x52,
-    kVK_ANSI_Keypad1 = 0x53,
-    kVK_ANSI_Keypad2 = 0x54,
-    kVK_ANSI_Keypad3 = 0x55,
-    kVK_ANSI_Keypad4 = 0x56,
-    kVK_ANSI_Keypad5 = 0x57,
-    kVK_ANSI_Keypad6 = 0x58,
-    kVK_ANSI_Keypad7 = 0x59,
-    kVK_ANSI_Keypad8 = 0x5B,
-    kVK_ANSI_Keypad9 = 0x5C
-};
-
-// defines for keys that are the same on all layouts
-
-enum {
-    kVK_Return = 0x24,
-    kVK_Tab = 0x30,
-    kVK_Space = 0x31,
-    kVK_Delete = 0x33,
-    kVK_Escape = 0x35,
-    kVK_Command = 0x37,
-    kVK_Shift = 0x38,
-    kVK_CapsLock = 0x39,
-    kVK_Option = 0x3A,
-    kVK_Control = 0x3B,
-    kVK_RightShift = 0x3C,
-    kVK_RightOption = 0x3D,
-    kVK_RightControl = 0x3E,
-    kVK_Function = 0x3F,
-    kVK_F17 = 0x40,
-    kVK_VolumeUp = 0x48,
-    kVK_VolumeDown = 0x49,
-    kVK_Mute = 0x4A,
-    kVK_F18 = 0x4F,
-    kVK_F19 = 0x50,
-    kVK_F20 = 0x5A,
-    kVK_F5 = 0x60,
-    kVK_F6 = 0x61,
-    kVK_F7 = 0x62,
-    kVK_F3 = 0x63,
-    kVK_F8 = 0x64,
-    kVK_F9 = 0x65,
-    kVK_F11 = 0x67,
-    kVK_F13 = 0x69,
-    kVK_F16 = 0x6A,
-    kVK_F14 = 0x6B,
-    kVK_F10 = 0x6D,
-    kVK_F12 = 0x6F,
-    kVK_F15 = 0x71,
-    kVK_Help = 0x72,
-    kVK_Home = 0x73,
-    kVK_PageUp = 0x74,
-    kVK_ForwardDelete = 0x75,
-    kVK_F4 = 0x76,
-    kVK_End = 0x77,
-    kVK_F2 = 0x78,
-    kVK_PageDown = 0x79,
-    kVK_F1 = 0x7A,
-    kVK_LeftArrow = 0x7B,
-    kVK_RightArrow = 0x7C,
-    kVK_DownArrow = 0x7D,
-    kVK_UpArrow = 0x7E
-};
-
-#endif    
-
 CGKeyCode wxCharCodeWXToOSX(wxKeyCode code)
 {
     CGKeyCode keycode;
@@ -1251,7 +1138,7 @@ CGKeyCode wxCharCodeWXToOSX(wxKeyCode code)
         case WXK_RETURN:      keycode = kVK_Return; break;
         case WXK_ESCAPE:      keycode = kVK_Escape; break;
         case WXK_SPACE:       keycode = kVK_Space; break;
-        case WXK_DELETE:      keycode = kVK_Delete; break;
+        case WXK_DELETE:      keycode = kVK_ForwardDelete; break;
             
         case WXK_SHIFT:       keycode = kVK_Shift; break;
         case WXK_ALT:         keycode = kVK_Option; break;
@@ -1519,34 +1406,34 @@ wxMouseState wxGetMouseState()
 
 // TODO : once the new key/char handling is tested, move all the code to wxWindow
 
-bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
+bool wxApp::MacSendKeyDownEvent( wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar )
 {
     if ( !focus )
         return false ;
 
     wxKeyEvent event(wxEVT_KEY_DOWN) ;
-    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , wherex , wherey , uniChar ) ;
+    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , uniChar ) ;
 
     return focus->OSXHandleKeyEvent(event);
 }
 
-bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
+bool wxApp::MacSendKeyUpEvent( wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar )
 {
     if ( !focus )
         return false ;
 
     wxKeyEvent event( wxEVT_KEY_UP ) ;
-    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , wherex , wherey , uniChar ) ;
+    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , uniChar ) ;
 
     return focus->OSXHandleKeyEvent(event) ;
 }
 
-bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
+bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar )
 {
     if ( !focus )
         return false ;
     wxKeyEvent event(wxEVT_CHAR) ;
-    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , wherex , wherey , uniChar ) ;
+    MacCreateKeyEvent( event, focus , keymessage , modifiers , when , uniChar ) ;
 
     bool handled = false ;
 
@@ -1604,7 +1491,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers
                     wxButton *def = wxDynamicCast(tlw->GetDefaultItem(), wxButton);
                     if ( def && def->IsEnabled() )
                     {
-                        wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, def->GetId() );
+                        wxCommandEvent event(wxEVT_BUTTON, def->GetId() );
                         event.SetEventObject(def);
                         def->Command(event);
 
@@ -1615,7 +1502,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers
             else if (keyval == WXK_ESCAPE || (keyval == '.' && modifiers & cmdKey ) )
             {
                 // generate wxID_CANCEL if command-. or <esc> has been pressed (typically in dialogs)
-                wxCommandEvent new_event(wxEVT_COMMAND_BUTTON_CLICKED,wxID_CANCEL);
+                wxCommandEvent new_event(wxEVT_BUTTON,wxID_CANCEL);
                 new_event.SetEventObject( focus );
                 handled = focus->HandleWindowEvent( new_event );
             }
@@ -1627,7 +1514,7 @@ bool wxApp::MacSendCharEvent( wxWindow* focus , long keymessage , long modifiers
 }
 
 // This method handles common code for SendKeyDown, SendKeyUp, and SendChar events.
-void wxApp::MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , short wherex , short wherey , wxChar uniChar )
+void wxApp::MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymessage , long modifiers , long when , wxChar uniChar )
 {
 #if wxOSX_USE_COCOA_OR_CARBON
     
@@ -1709,8 +1596,6 @@ void wxApp::MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymess
 
     event.m_rawCode = keymessage;
     event.m_rawFlags = modifiers;
-    event.m_x = wherex;
-    event.m_y = wherey;
     event.SetTimestamp(when);
     event.SetEventObject(focus);
 #else
@@ -1719,8 +1604,6 @@ void wxApp::MacCreateKeyEvent( wxKeyEvent& event, wxWindow* focus , long keymess
     wxUnusedVar(keymessage);
     wxUnusedVar(modifiers);
     wxUnusedVar(when);
-    wxUnusedVar(wherex);
-    wxUnusedVar(wherey);
     wxUnusedVar(uniChar);
 #endif
 }