home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / os2 / bmpbuttn.h < prev    next >
C/C++ Source or Header  |  2002-12-27  |  3KB  |  97 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        bmpbuttn.h
  3. // Purpose:     wxBitmapButton class
  4. // Author:      David Webster
  5. // Modified by:
  6. // Created:     10/13/99
  7. // RCS-ID:      $Id: BMPBUTTN.H,v 1.7.2.1 2002/12/27 14:49:41 JS Exp $
  8. // Copyright:   (c) David Webster
  9. // Licence:     wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_BMPBUTTN_H_
  13. #define _WX_BMPBUTTN_H_
  14.  
  15. #include "wx/button.h"
  16.  
  17. WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
  18.  
  19. #define wxDEFAULT_BUTTON_MARGIN 4
  20.  
  21. class WXDLLEXPORT wxBitmapButton: public wxBitmapButtonBase
  22. {
  23. public:
  24.     inline wxBitmapButton()
  25.     {
  26.         m_marginX = wxDEFAULT_BUTTON_MARGIN;
  27.         m_marginY = wxDEFAULT_BUTTON_MARGIN;
  28.     }
  29.     inline wxBitmapButton( wxWindow*          pParent
  30.                           ,wxWindowID         vId
  31.                           ,const wxBitmap&    rBitmap
  32.                           ,const wxPoint&     rPos = wxDefaultPosition
  33.                           ,const wxSize&      rSize = wxDefaultSize
  34.                           ,long               lStyle = wxBU_AUTODRAW
  35.                           ,const wxValidator& rValidator = wxDefaultValidator
  36.                           ,const wxString&    rsName = wxButtonNameStr
  37.                          )
  38.     {
  39.         Create( pParent
  40.                ,vId
  41.                ,rBitmap
  42.                ,rPos
  43.                ,rSize
  44.                ,lStyle
  45.                ,rValidator
  46.                ,rsName
  47.               );
  48.     }
  49.  
  50.     bool Create( wxWindow*          pParent
  51.                 ,wxWindowID         vId
  52.                 ,const wxBitmap&    rBitmap
  53.                 ,const wxPoint&     rPos = wxDefaultPosition
  54.                 ,const wxSize&      rSize = wxDefaultSize
  55.                 ,long               lStyle = wxBU_AUTODRAW
  56.                 ,const wxValidator& rValidator = wxDefaultValidator
  57.                 ,const wxString&    rsName = wxButtonNameStr
  58.                );
  59.  
  60.     virtual void SetLabel(const wxBitmap& rBitmap)
  61.     {
  62.         SetBitmapLabel(rBitmap);
  63.     }
  64.  
  65. #if WXWIN_COMPATIBILITY
  66.     wxBitmap* GetBitmap(void) const
  67.     {
  68.         return (wxBitmap *)&m_buttonBitmap;
  69.     }
  70. #endif
  71.  
  72.     //
  73.     // Implementation
  74.     //
  75.     virtual void SetDefault();
  76.     virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* pItem);
  77.  
  78. private:
  79.  
  80.     virtual void DrawFace( wxClientDC& rDC
  81.                           ,bool        bSel
  82.                          );
  83.     virtual void DrawButtonFocus(wxClientDC& rDC);
  84.     virtual void DrawButtonDisable( wxClientDC& rDC
  85.                                    ,wxBitmap&   rBmp
  86.                                   );
  87.     DECLARE_DYNAMIC_CLASS(wxBitmapButton)
  88.  
  89.     virtual void SetLabel(const wxString& rsString)
  90.     {
  91.         wxButton::SetLabel(rsString);
  92.     }
  93. }; // end of CLASS wxBitmapButton
  94.  
  95. #endif // _WX_BMPBUTTN_H_
  96.  
  97.