]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/colordlg.cpp
Add wxEventLoop::ScheduleExit().
[wxWidgets.git] / src / osx / carbon / colordlg.cpp
index 377276d0c4e42631522d236234ddc9187d722817..c5a7b1c47f899f397b11946fba3e06b64eb1d50e 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        colordlg.cpp
+// Name:        src/osx/carbon/colordlg.cpp
 // Purpose:     wxColourDialog class. NOTE: you can use the generic class
 //              if you wish, instead of implementing this.
 // Author:      Stefan Csomor
 // Purpose:     wxColourDialog class. NOTE: you can use the generic class
 //              if you wish, instead of implementing this.
 // Author:      Stefan Csomor
 
 #include "wx/wxprec.h"
 
 
 #include "wx/wxprec.h"
 
-#include "wx/mac/colordlg.h"
+#include "wx/colordlg.h"
 #include "wx/fontdlg.h"
 #include "wx/fontdlg.h"
+#include "wx/modalhook.h"
 
 
 #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
 
 IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
 
 
 
 #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
 
 IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
 
-#include "wx/mac/private.h"
+#include "wx/osx/private.h"
 
 /*
  * wxColourDialog
 
 /*
  * wxColourDialog
@@ -47,19 +48,23 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
 
 int wxColourDialog::ShowModal()
 {
 
 int wxColourDialog::ShowModal()
 {
+    WX_HOOK_MODAL_DIALOG();
+
     RGBColor currentColor ;
     RGBColor currentColor ;
-    
-    m_colourData.m_dataColour.GetRGBColor( currentColor );
+
+    m_colourData.m_dataColour.GetRGBColor( &currentColor );
     NColorPickerInfo info;
     OSStatus err ;
     memset(&info, 0, sizeof(info)) ;
     // TODO : use parent to determine better position and then kAtSpecifiedOrigin
     NColorPickerInfo info;
     OSStatus err ;
     memset(&info, 0, sizeof(info)) ;
     // TODO : use parent to determine better position and then kAtSpecifiedOrigin
-    info.placeWhere = kCenterOnMainScreen ; 
+    info.placeWhere = kCenterOnMainScreen ;
     info.flags = kColorPickerDialogIsMoveable | kColorPickerDialogIsModal ;
     info.theColor.color.rgb.red =  currentColor.red ;
     info.theColor.color.rgb.green =  currentColor.green ;
     info.theColor.color.rgb.blue =  currentColor.blue ;
     info.flags = kColorPickerDialogIsMoveable | kColorPickerDialogIsModal ;
     info.theColor.color.rgb.red =  currentColor.red ;
     info.theColor.color.rgb.green =  currentColor.green ;
     info.theColor.color.rgb.blue =  currentColor.blue ;
+    wxDialog::OSXBeginModalDialog();
     err = NPickColor(&info);
     err = NPickColor(&info);
+    wxDialog::OSXEndModalDialog();
     if ((err == noErr) && info.newColorChosen)
     {
         currentColor.red = info.theColor.color.rgb.red ;
     if ((err == noErr) && info.newColorChosen)
     {
         currentColor.red = info.theColor.color.rgb.red ;