]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/button.cpp
correct painting of the items with custom colours in TVIS_DROPHILITED state (patch...
[wxWidgets.git] / src / os2 / button.cpp
index 150685d88e693a16098b161543b9ad9b4f3da0f4..2e9a10d57821fe280818521f3d5b154b1cc321e1 100644 (file)
@@ -1,20 +1,21 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        button.cpp
+// Name:        src/os2/button.cpp
 // Purpose:     wxButton
 // Author:      David Webster
 // Modified by:
 // Created:     10/13/99
 // RCS-ID:      $Id$
 // Copyright:   (c) David Webster
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
+#include "wx/button.h"
+
 #ifndef WX_PRECOMP
     #include "wx/app.h"
-    #include "wx/button.h"
     #include "wx/brush.h"
     #include "wx/panel.h"
     #include "wx/bmpbuttn.h"
@@ -23,6 +24,7 @@
     #include "wx/scrolwin.h"
 #endif
 
+#include "wx/stockitem.h"
 #include "wx/os2/private.h"
 
 #define BUTTON_HEIGHT_FROM_CHAR_HEIGHT(cy) (11*EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy)/10)
@@ -40,17 +42,18 @@ IMPLEMENT_DYNAMIC_CLASS(wxButton, wxControl)
 
 // Button
 
-bool wxButton::Create(
-  wxWindow*                         pParent
-, wxWindowID                        vId
-, const wxString&                   rsLabel
-, const wxPoint&                    rPos
-, const wxSize&                     rSize
-, long                              lStyle
-, const wxValidator&                rValidator
-, const wxString&                   rsName
-)
+bool wxButton::Create( wxWindow*          pParent,
+                       wxWindowID         vId,
+                       const wxString&    rsLbl,
+                       const wxPoint&     rPos,
+                       const wxSize&      rSize,
+                       long               lStyle,
+                       const wxValidator& rValidator,
+                       const wxString&    rsName)
 {
+    wxString rsLabel(rsLbl);
+    if (rsLabel.empty() && wxIsStockID(vId))
+        rsLabel = wxGetStockLabel(vId);
 
     wxString                        sLabel = ::wxPMTextToLabel(rsLabel);
 
@@ -87,7 +90,7 @@ bool wxButton::Create(
                                       );
     if (m_hWnd == 0)
     {
-        return FALSE;
+        return false;
     }
 
     //
@@ -108,7 +111,7 @@ bool wxButton::Create(
             ,rSize.y
            );
     delete pButtonFont;
-    return TRUE;
+    return true;
 } // end of wxButton::Create
 
 wxButton::~wxButton()
@@ -137,6 +140,7 @@ wxSize wxButton::DoGetBestSize() const
     int                             nWidthButton;
     int                             nWidthChar;
     int                             nHeightChar;
+    wxFont                          vFont = (wxFont)GetFont();
 
     GetTextExtent( rsLabel
                   ,&nWidthButton
@@ -146,7 +150,7 @@ wxSize wxButton::DoGetBestSize() const
     wxGetCharSize( GetHWND()
                   ,&nWidthChar
                   ,&nHeightChar
-                  ,(wxFont*)&GetFont()
+                  ,&vFont
                  );
 
     //
@@ -237,12 +241,8 @@ void wxButton::SetDefault()
     //
     wxWindow*                       pWinOldDefault = pParent->SetDefaultItem(this);
 
-    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton)
-                    ,FALSE
-                   );
-    SetDefaultStyle( this
-                    ,TRUE
-                   );
+    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton), false);
+    SetDefaultStyle( this, true );
 } // end of wxButton::SetDefault
 
 void wxButton::SetTmpDefault()
@@ -254,12 +254,8 @@ void wxButton::SetTmpDefault()
     wxWindow*                       pWinOldDefault = pParent->GetDefaultItem();
 
     pParent->SetTmpDefaultItem(this);
-    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton)
-                    ,FALSE
-                   );
-    SetDefaultStyle( this
-                    ,TRUE
-                   );
+    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton), false);
+    SetDefaultStyle( this, true );
 } // end of wxButton::SetTmpDefault
 
 void wxButton::UnsetTmpDefault()
@@ -272,12 +268,8 @@ void wxButton::UnsetTmpDefault()
 
     wxWindow*                       pWinOldDefault = pParent->GetDefaultItem();
 
-    SetDefaultStyle( this
-                    ,FALSE
-                   );
-    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton)
-                    ,TRUE
-                   );
+    SetDefaultStyle( this, false );
+    SetDefaultStyle( wxDynamicCast(pWinOldDefault, wxButton), true );
 } // end of wxButton::UnsetTmpDefault
 
 void wxButton::SetDefaultStyle(
@@ -334,12 +326,9 @@ void wxButton::SetDefaultStyle(
 // event/message handlers
 // ----------------------------------------------------------------------------
 
-bool wxButton::OS2Command(
-  WXUINT                            uParam
-, WXWORD                            wId
-)
+bool wxButton::OS2Command(WXUINT uParam, WXWORD WXUNUSED(wId))
 {
-    bool                            bProcessed = FALSE;
+    bool bProcessed = false;
 
     switch (uParam)
     {
@@ -348,21 +337,20 @@ bool wxButton::OS2Command(
             bProcessed = SendClickEvent();
             break;
     }
+
     return bProcessed;
 } // end of wxButton::OS2Command
 
-WXHBRUSH wxButton::OnCtlColor(
-  WXHDC                             pDC
-, WXHWND                            pWnd
-, WXUINT                            nCtlColor
-, WXUINT                            uMessage
-, WXWPARAM                          wParam
-, WXLPARAM                          lParam
-)
+WXHBRUSH wxButton::OnCtlColor( WXHDC    WXUNUSED(pDC),
+                               WXHWND   WXUNUSED(pWnd),
+                               WXUINT   WXUNUSED(nCtlColor),
+                               WXUINT   WXUNUSED(uMessage),
+                               WXWPARAM WXUNUSED(wParam),
+                               WXLPARAM WXUNUSED(lParam) )
 {
-    wxBrush*                        pBackgroundBrush = wxTheBrushList->FindOrCreateBrush( GetBackgroundColour()
-                                                                                         ,wxSOLID
-                                                                                        );
+    wxBrush* pBackgroundBrush = wxTheBrushList->FindOrCreateBrush( GetBackgroundColour()
+                                                                  ,wxSOLID
+                                                                  );
 
     return (WXHBRUSH)pBackgroundBrush->GetResourceHandle();
 } // end of wxButton::OnCtlColor
@@ -403,11 +391,9 @@ WXDWORD wxButton::OS2GetStyle(
     return dwStyle;
 } // end of wxButton::OS2GetStyle
 
-MRESULT wxButton::WindowProc(
-  WXUINT                            uMsg
-, WXWPARAM                          wParam
-, WXLPARAM                          lParam
-)
+MRESULT wxButton::WindowProc( WXUINT   uMsg,
+                              WXWPARAM wParam,
+                              WXLPARAM lParam )
 {
     //
     // When we receive focus, we want to temporary become the default button in
@@ -450,4 +436,3 @@ MRESULT wxButton::WindowProc(
                                      ,lParam
                                     ));
 } // end of wxWindowProc
-