]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/checklst.cpp
Fix horizontal mouse wheel scrolling in wxGTK.
[wxWidgets.git] / src / os2 / checklst.cpp
index f0a3ac723bc88e2b18527d57b4a673e2849e5885..1559397f579f5c8d5c10956ba6157720aa2bd7af 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      David Webster
 // Modified by:
 // Created:     10/13/99
-// RCS-ID:      $Id$
 // Copyright:   (c) David Webster
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 #define INCL_PM
 #include <os2.h>
 
+// ----------------------------------------------------------------------------
+// constants for base class
+// ----------------------------------------------------------------------------
+
+static const int CHECK_MARK_WIDTH = 15;
+
 // ----------------------------------------------------------------------------
 // private functions
 // ----------------------------------------------------------------------------
@@ -50,8 +55,6 @@
 // implementation
 // ============================================================================
 
-IMPLEMENT_DYNAMIC_CLASS(wxCheckListBox, wxListBox)
-
 // ----------------------------------------------------------------------------
 // declaration and implementation of wxCheckListBoxItem class
 // ----------------------------------------------------------------------------
@@ -81,6 +84,8 @@ public:
     void Check(bool bCheck);
     void Toggle(void) { Check(!IsChecked()); }
 
+    virtual wxString GetName() const { return m_pParent->GetString(m_nIndex); }
+
 private:
     bool            m_bChecked;
     wxCheckListBox* m_pParent;
@@ -101,7 +106,7 @@ wxCheckListBoxItem::wxCheckListBoxItem(wxCheckListBox* pParent, size_t nIndex)
     // done in OnMeasure while they are used only in OnDraw and we
     // know that there will always be OnMeasure before OnDraw
     //
-    SetMarginWidth(GetDefaultMarginWidth());
+    SetMarginWidth(CHECK_MARK_WIDTH);
 } // end of wxCheckListBoxItem::wxCheckListBoxItem
 
 
@@ -128,7 +133,7 @@ bool wxCheckListBoxItem::OnDrawItem ( wxDC& rDc,
     vRect.y -= 3;
     if (wxOwnerDrawn::OnDrawItem( rDc, vRect, eAct, eStat))
     {
-        size_t    nCheckWidth  = GetDefaultMarginWidth();
+        size_t    nCheckWidth  = CHECK_MARK_WIDTH;
         size_t    nCheckHeight = m_pParent->GetItemHeight();
         int       nParentHeight;
         int       nX = rRect.GetX();
@@ -208,7 +213,7 @@ void wxCheckListBoxItem::Check( bool bCheck )
     }
 
 
-    wxCommandEvent vEvent( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED,m_pParent->GetId());
+    wxCommandEvent vEvent( wxEVT_CHECKLISTBOX,m_pParent->GetId());
 
     vEvent.SetInt(m_nIndex);
     vEvent.SetEventObject(m_pParent);
@@ -333,7 +338,7 @@ long wxCheckListBox::OS2OnMeasure ( WXMEASUREITEMSTRUCT* pItem )
         //
         // Add place for the check mark
         //
-        pStruct->rclItem.xRight += wxOwnerDrawn::GetDefaultMarginWidth();
+        pStruct->rclItem.xRight += CHECK_MARK_WIDTH;
         return long(MRFROM2SHORT((USHORT)m_nItemHeight, (USHORT)(pStruct->rclItem.xRight - pStruct->rclItem.xLeft)));
     }
     return 0L;
@@ -374,7 +379,7 @@ void wxCheckListBox::OnLeftClick ( wxMouseEvent& rEvent )
     //
     // Clicking on the item selects it, clicking on the checkmark toggles
     //
-    if (rEvent.GetX() <= wxOwnerDrawn::GetDefaultMarginWidth())
+    if (rEvent.GetX() <= CHECK_MARK_WIDTH)
     {
         int                         nParentHeight;
         wxScreenDC                  vDc;