home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / include / wx / os2 / bmpbuttn.h < prev    next >
C/C++ Source or Header  |  2001-07-06  |  3KB  |  89 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.6 2001/07/06 21:43:33 DW 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.   DECLARE_DYNAMIC_CLASS(wxBitmapButton)
  24.  public:
  25.   inline wxBitmapButton() { m_marginX = wxDEFAULT_BUTTON_MARGIN; m_marginY = wxDEFAULT_BUTTON_MARGIN; }
  26.   inline wxBitmapButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
  27.            const wxPoint& pos = wxDefaultPosition,
  28.            const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
  29. #if wxUSE_VALIDATORS
  30.            const wxValidator& validator = wxDefaultValidator,
  31. #endif
  32.            const wxString& name = wxButtonNameStr)
  33.   {
  34.       Create(parent, id, bitmap, pos, size, style, validator, name);
  35.   }
  36.  
  37.   bool Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap,
  38.            const wxPoint& pos = wxDefaultPosition,
  39.            const wxSize& size = wxDefaultSize, long style = wxBU_AUTODRAW,
  40. #if wxUSE_VALIDATORS
  41.            const wxValidator& validator = wxDefaultValidator,
  42. #endif
  43.            const wxString& name = wxButtonNameStr);
  44.  
  45.   virtual void SetLabel(const wxBitmap& bitmap)
  46.   {
  47.     SetBitmapLabel(bitmap);
  48.   }
  49.  
  50.   virtual void SetBitmapLabel(const wxBitmap& bitmap);
  51.  
  52. #if WXWIN_COMPATIBILITY
  53.     wxBitmap *GetBitmap() const { return (wxBitmap *) & m_buttonBitmap; }
  54. #endif
  55.  
  56.   inline wxBitmap& GetBitmapLabel() const { return (wxBitmap&) m_buttonBitmap; }
  57.   inline wxBitmap& GetBitmapSelected() const { return (wxBitmap&) m_buttonBitmapSelected; }
  58.   inline wxBitmap& GetBitmapFocus() const { return (wxBitmap&) m_buttonBitmapFocus; }
  59.   inline wxBitmap& GetBitmapDisabled() const { return (wxBitmap&) m_buttonBitmapDisabled; }
  60.  
  61.   inline void SetBitmapSelected(const wxBitmap& sel) { m_buttonBitmapSelected = sel; };
  62.   inline void SetBitmapFocus(const wxBitmap& focus) { m_buttonBitmapFocus = focus; };
  63.   inline void SetBitmapDisabled(const wxBitmap& disabled) { m_buttonBitmapDisabled = disabled; };
  64.  
  65.   inline void SetMargins(int x, int y) { m_marginX = x; m_marginY = y; }
  66.   inline int GetMarginX() { return m_marginX; }
  67.   inline int GetMarginY() { return m_marginY; }
  68.  
  69.   virtual void SetDefault();
  70. //  virtual bool OS2OnDraw(WXDRAWITEMSTRUCT *item);
  71.   virtual void DrawFace( WXHDC dc, int left, int top, int right, int bottom, bool sel );
  72.   virtual void DrawButtonFocus( WXHDC dc, int left, int top, int right, int bottom, bool sel );
  73.   virtual void DrawButtonDisable( WXHDC dc, int left, int top, int right, int bottom, bool with_marg );
  74.  
  75.  protected:
  76.   wxBitmap m_buttonBitmap;
  77.   wxBitmap m_buttonBitmapSelected;
  78.   wxBitmap m_buttonBitmapFocus;
  79.   wxBitmap m_buttonBitmapDisabled;
  80.   int      m_marginX;
  81.   int      m_marginY;
  82. private:
  83.   virtual void SetLabel(const wxString& string)
  84.   { wxButton::SetLabel(string); };
  85. };
  86.  
  87. #endif
  88.     // _WX_BMPBUTTN_H_
  89.