]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/colrdlgg.cpp
Fixed bug [ 754596 ] wxUSE_CONSTRAINTS 0 breaks AutoLayout() with sizers
[wxWidgets.git] / src / generic / colrdlgg.cpp
index 3639932630288cf5d94610a7634fae080ff0f9d1..494858f390672cc8e9112421cc6afb11eaf90e6d 100644 (file)
@@ -5,11 +5,11 @@
 // Modified by:
 // Created:     04/01/98
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:     wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma implementation "colrdlgg.h"
 #endif
 
@@ -174,6 +174,13 @@ void wxGenericColourDialog::OnMouseEvent(wxMouseEvent& event)
     int x = (int)event.GetX();
     int y = (int)event.GetY();
 
+#ifdef __WXPM__
+    // Handle OS/2's reverse coordinate system and account for the dialog title
+    int                             nClientHeight;
+
+    GetClientSize(NULL, &nClientHeight);
+    y = (nClientHeight - y) + 20;
+#endif
     if ((x >= standardColoursRect.x && x <= (standardColoursRect.x + standardColoursRect.width)) &&
         (y >= standardColoursRect.y && y <= (standardColoursRect.y + standardColoursRect.height)))
     {
@@ -199,7 +206,7 @@ void wxGenericColourDialog::OnMouseEvent(wxMouseEvent& event)
 
 void wxGenericColourDialog::OnPaint(wxPaintEvent& event)
 {
-#if !defined(__WXMOTIF__) && !defined(__WXMAC__) && !defined(__WXPM__)
+#if !defined(__WXMOTIF__) && !defined(__WXMAC__) && !defined(__WXPM__) && !defined(__WXCOCOA__)
   wxDialog::OnPaint(event);
 #endif
 
@@ -222,7 +229,11 @@ void wxGenericColourDialog::CalculateMeasurements()
   sectionSpacing = 15;
 
   standardColoursRect.x = 10;
+#ifdef __WXPM__
+  standardColoursRect.y = 15 + 20; /* OS/2 needs to account for dialog titlebar */
+#else
   standardColoursRect.y = 15;
+#endif
   standardColoursRect.width = (8*smallRectangleSize.x) + (7*gridSpacing);
   standardColoursRect.height = (6*smallRectangleSize.y) + (5*gridSpacing);
 
@@ -289,7 +300,7 @@ void wxGenericColourDialog::CreateWidgets()
 
 void wxGenericColourDialog::InitializeColours(void)
 {
-    int i;
+    size_t i;
 
     for (i = 0; i < WXSIZEOF(wxColourDialogNames); i++)
     {