X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9576ca53db96b462ed4c0b4bdf47d64c40203e4..ffbf7f6634ebdce1055ec21256c4fd3e3bd410c8:/src/mac/carbon/colordlg.cpp diff --git a/src/mac/carbon/colordlg.cpp b/src/mac/carbon/colordlg.cpp index 2275a9a39d..377276d0c4 100644 --- a/src/mac/carbon/colordlg.cpp +++ b/src/mac/carbon/colordlg.cpp @@ -2,23 +2,25 @@ // Name: colordlg.cpp // Purpose: wxColourDialog class. NOTE: you can use the generic class // if you wish, instead of implementing this. -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "colordlg.h" -#endif +#include "wx/wxprec.h" + +#include "wx/mac/colordlg.h" +#include "wx/fontdlg.h" -#include "wx/stubs/colordlg.h" -#if !USE_SHARED_LIBRARY +#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX + IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog) -#endif + +#include "wx/mac/private.h" /* * wxColourDialog @@ -37,17 +39,37 @@ wxColourDialog::wxColourDialog(wxWindow *parent, wxColourData *data) bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) { m_dialogParent = parent; - + if (data) m_colourData = *data; - return TRUE; + return true; } int wxColourDialog::ShowModal() { - /* TODO: implement dialog - */ + RGBColor 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 + 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 ; + err = NPickColor(&info); + if ((err == noErr) && info.newColorChosen) + { + currentColor.red = info.theColor.color.rgb.red ; + currentColor.green = info.theColor.color.rgb.green ; + currentColor.blue = info.theColor.color.rgb.blue ; + m_colourData.m_dataColour = currentColor; + return wxID_OK; + } return wxID_CANCEL; } +#endif