X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4e69ff22681b5625f52c2b4c7e47c1815df7c306..3570a1c6e596c358848c77c5b37d724097340ce8:/src/mac/carbon/colordlgosx.mm diff --git a/src/mac/carbon/colordlgosx.mm b/src/mac/carbon/colordlgosx.mm index f1246b418a..ea058c24f7 100644 --- a/src/mac/carbon/colordlgosx.mm +++ b/src/mac/carbon/colordlgosx.mm @@ -1,12 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: colordlg.cpp +// Name: src/mac/carbon/colordlg.mm // Purpose: wxColourDialog class. NOTE: you can use the generic class // if you wish, instead of implementing this. -// Author: Stefan Csomor +// Author: Ryan Norton // Modified by: -// Created: 1998-01-01 +// Created: 2004-11-16 // RCS-ID: $Id$ -// Copyright: (c) Stefan Csomor +// Copyright: (c) Ryan Norton // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -18,9 +18,7 @@ // headers // --------------------------------------------------------------------------- -#ifdef __GNUG__ -#pragma implementation "colordlg.h" -#endif +#include "wx/wxprec.h" #include "wx/mac/colordlg.h" #include "wx/fontdlg.h" @@ -32,9 +30,7 @@ //Mac OSX 10.2+ only #if USE_NATIVE_FONT_DIALOG_FOR_MACOSX -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog) -#endif // Cocoa headers #include "wx/cocoa/autorelease.h" @@ -73,8 +69,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog) - (BOOL)windowShouldClose:(id)sender { + wxUnusedVar(sender); + m_bIsClosed = true; - + [NSApp abortModal]; [NSApp stopModal]; return YES; @@ -104,7 +102,7 @@ wxColourDialog::wxColourDialog(wxWindow *parent, wxColourData *data) bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) { m_dialogParent = parent; - + if (data) m_colourData = *data; @@ -113,7 +111,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) // events and window stuff for cocoa for carbon // applications. // - // This is also the only call here that is + // This is also the only call here that is // 10.2+ specific (the rest is OSX only), // which, ironically, the carbon font // panel requires. @@ -127,21 +125,21 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) if(m_colourData.m_dataColour.Ok()) [[NSColorPanel sharedColorPanel] setColor: [NSColor colorWithCalibratedRed:m_colourData.m_dataColour.Red() / 255.0 - green:m_colourData.m_dataColour.Red() / 255.0 - blue:m_colourData.m_dataColour.Red() / 255.0 + green:m_colourData.m_dataColour.Green() / 255.0 + blue:m_colourData.m_dataColour.Blue() / 255.0 alpha:1.0] ]; else - [[NSColorPanel sharedColorPanel] setColor:[NSColor blackColor]]; - + [[NSColorPanel sharedColorPanel] setColor:[NSColor blackColor]]; + //We're done - free up the pool [thePool release]; - + return bOK; } int wxColourDialog::ShowModal() { - //Start the pool. Required for carbon interaction + //Start the pool. Required for carbon interaction //(For those curious, the only thing that happens //if you don't do this is a bunch of error //messages about leaks on the console, @@ -156,27 +154,27 @@ int wxColourDialog::ShowModal() //we can tell if a window has closed/open or not wxCPWCDelegate* theCPDelegate = [[wxCPWCDelegate alloc] init]; [theColorPanel setDelegate:theCPDelegate]; - + // // Start the color panel modal loop // NSModalSession session = [NSApp beginModalSessionForWindow:theColorPanel]; - for (;;) + for (;;) { [NSApp runModalSession:session]; - + //If the color panel is closed, return the font panel modal loop if ([theCPDelegate isClosed]) break; } [NSApp endModalSession:session]; - + //free up the memory for the delegates - we don't need them anymore [theCPDelegate release]; - + //Get the shared color panel along with the chosen color and set the chosen color NSColor* theColor = [[theColorPanel color] colorUsingColorSpaceName:NSCalibratedRGBColorSpace]; - + m_colourData.m_dataColour.Set( (unsigned char) ([theColor redComponent] * 255.0), (unsigned char) ([theColor greenComponent] * 255.0),