]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/fl/newbmpbtn.cpp
Applied patch [ 795491 ] Multimon sample compatibility with various conditions
[wxWidgets.git] / contrib / src / fl / newbmpbtn.cpp
index b811e40c124e5e6e4f8b49fb63c7b9c137c5c8d8..73cd1c2740f29052b4eaba28d29eb6c9b2517a9f 100644 (file)
 #include "wx/fl/newbmpbtn.h"
 #include "wx/utils.h"     // import wxMin,wxMax macros
 
+#ifdef __WXMSW__
+#include "wx/msw/private.h"
+#endif
+
 ///////////// button-label rendering helpers //////////////////
 
 static int* create_array( int width, int height, int fill = 0 )
@@ -206,7 +210,8 @@ BEGIN_EVENT_TABLE( wxNewBitmapButton, wxPanel )
 
     EVT_LEFT_DOWN   ( wxNewBitmapButton::OnLButtonDown   )
     EVT_LEFT_UP     ( wxNewBitmapButton::OnLButtonUp     )
-    EVT_LEFT_DCLICK ( wxNewBitmapButton::OnLButtonDClick )
+//    EVT_LEFT_DCLICK ( wxNewBitmapButton::OnLButtonDClick )
+    EVT_LEFT_DCLICK ( wxNewBitmapButton::OnLButtonDown )
     EVT_ENTER_WINDOW( wxNewBitmapButton::OnMouseEnter    )
     EVT_LEAVE_WINDOW( wxNewBitmapButton::OnMouseLeave    )
 
@@ -266,11 +271,11 @@ wxNewBitmapButton::wxNewBitmapButton( const wxString& bitmapFileName,
                                       const wxString& labelText,
                                       int  alignText,
                                       bool isFlat,
-                                      int  firedEventType
-                                      int  marginX,
-                                      int  marginY,
-                                      int  textToLabelGap,
-                                      bool isSticky)
+                                      int  WXUNUSED(firedEventType)
+                                      int  WXUNUSED(marginX),
+                                      int  WXUNUSED(marginY),
+                                      int  WXUNUSED(textToLabelGap),
+                                      bool WXUNUSED(isSticky))
 
     :   mTextToLabelGap  ( 2 ),
         mMarginX( 2 ),
@@ -428,7 +433,7 @@ void wxNewBitmapButton::RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
         }
         else 
         {
-            wxFAIL_MSG("Unsupported FL alignment type detected in wxNewBitmapButton::RenderLabelImage()");
+            wxFAIL_MSG(wxT("Unsupported FL alignment type detected in wxNewBitmapButton::RenderLabelImage()"));
         }
     }
     else
@@ -516,7 +521,14 @@ void wxNewBitmapButton::RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
                  destBmp->GetHeight() + mMarginY*2, 0 
             );
     }
+    destDc.SelectObject( wxNullBitmap );
+    
+#if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
+    // Map to system colours
+    (void) wxToolBar::MapBitmap(destBmp->GetHBITMAP(), destBmp->GetWidth(), destBmp->GetHeight());
+#endif    
 }
+
 void wxNewBitmapButton::RenderAllLabelImages()
 {
     if ( !mIsCreated )
@@ -640,7 +652,7 @@ void wxNewBitmapButton::SetAlignments( int alignText,
 
 // event handlers
 
-void wxNewBitmapButton::OnLButtonDown( wxMouseEvent& event )
+void wxNewBitmapButton::OnLButtonDown( wxMouseEvent& WXUNUSED(event) )
 {
     mDragStarted      = TRUE;
     mIsPressed        = TRUE;
@@ -665,21 +677,6 @@ void wxNewBitmapButton::OnLButtonUp( wxMouseEvent& event )
     }
 }
 
-void wxNewBitmapButton::OnLButtonDClick( wxMouseEvent& event )
-{
-    if ( IsInWindow( event.m_x, event.m_y ) ) 
-    {
-        // fire event, if mouse was released
-        // within the bounds of button
-        wxCommandEvent cmd( mFiredEventType, GetId() );
-        GetParent()->ProcessEvent( cmd );
-
-        mDragStarted = FALSE;
-        mIsPressed   = FALSE;
-        Refresh();
-    }
-}
-
 bool wxNewBitmapButton::IsInWindow( int x, int y )
 {
     int width, height;
@@ -690,7 +687,7 @@ bool wxNewBitmapButton::IsInWindow( int x, int y )
              y < height );
 }
 
-void wxNewBitmapButton::OnMouseEnter( wxMouseEvent& event )
+void wxNewBitmapButton::OnMouseEnter( wxMouseEvent& WXUNUSED(event) )
 {
     bool prevIsInFocus = mIsInFocus;
 
@@ -704,7 +701,7 @@ void wxNewBitmapButton::OnMouseEnter( wxMouseEvent& event )
     }
 }
 
-void wxNewBitmapButton::OnMouseLeave( wxMouseEvent& event )
+void wxNewBitmapButton::OnMouseLeave( wxMouseEvent& WXUNUSED(event) )
 {
     bool prevIsInFocus = mIsInFocus;
     bool prevIsPressed = mIsPressed;
@@ -719,7 +716,7 @@ void wxNewBitmapButton::OnMouseLeave( wxMouseEvent& event )
     }
 }
 
-void wxNewBitmapButton::OnSize( wxSizeEvent& event )
+void wxNewBitmapButton::OnSize( wxSizeEvent& WXUNUSED(event) )
 {
         //Reshape();
 }
@@ -734,7 +731,7 @@ void wxNewBitmapButton::Reshape( )
         // in the case of loading button from stream, check if we
         // have non-empty image-file name, load if possible 
 
-        if ( mImageFileName != "" )
+        if ( mImageFileName != wxT("") )
         {
             mDepressedBmp.LoadFile( mImageFileName, mImageFileType );
 
@@ -778,7 +775,7 @@ void wxNewBitmapButton::DrawLabel( wxDC& dc )
     mdc.SelectObject( wxNullBitmap );
 }
 
-void wxNewBitmapButton::OnPaint( wxPaintEvent& event )
+void wxNewBitmapButton::OnPaint( wxPaintEvent& WXUNUSED(event) )
 {
     wxPaintDC dc(this);
 
@@ -790,15 +787,15 @@ void wxNewBitmapButton::OnPaint( wxPaintEvent& event )
     DrawDecorations( dc );
 }
 
-void wxNewBitmapButton::OnEraseBackground( wxEraseEvent& event )
+void wxNewBitmapButton::OnEraseBackground( wxEraseEvent& WXUNUSED(event) )
 {
     // do nothing
 }
 
-void wxNewBitmapButton::OnKillFocus( wxFocusEvent& event )
+void wxNewBitmapButton::OnKillFocus( wxFocusEvent& WXUNUSED(event) )
 {
     // useless
 
-    wxMessageBox("kill-focus for button!");
+    wxMessageBox(wxT("kill-focus for button!"));
 }