More OS/2 update to fix some owner drawn things
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -24,7 +24,7 @@ class wxCheckListBoxItem; // fwd decl, define in checklst.cpp
 | 
			
		||||
class WXDLLEXPORT wxCheckListBox : public wxListBox
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // Ctors
 | 
			
		||||
    //
 | 
			
		||||
    wxCheckListBox();
 | 
			
		||||
@@ -41,7 +41,7 @@ public:
 | 
			
		||||
                   ,const wxString&    rsName = wxListBoxNameStr
 | 
			
		||||
                  );
 | 
			
		||||
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // Override base class virtuals
 | 
			
		||||
    //
 | 
			
		||||
    virtual void Delete(int n);
 | 
			
		||||
@@ -52,7 +52,7 @@ public:
 | 
			
		||||
 | 
			
		||||
    virtual bool SetFont(const wxFont &rFont);
 | 
			
		||||
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // Items may be checked
 | 
			
		||||
    //
 | 
			
		||||
    bool IsChecked(size_t uiIndex) const;
 | 
			
		||||
@@ -60,20 +60,20 @@ public:
 | 
			
		||||
               ,bool   bCheck = TRUE
 | 
			
		||||
              );
 | 
			
		||||
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // Accessors
 | 
			
		||||
    //
 | 
			
		||||
    size_t GetItemHeight(void) const { return m_nItemHeight; }
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // We create our items ourselves and they have non-standard size,
 | 
			
		||||
    // so we need to override these functions
 | 
			
		||||
    //
 | 
			
		||||
    virtual wxOwnerDrawn* CreateItem(size_t n);
 | 
			
		||||
    virtual bool          OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
 | 
			
		||||
    virtual long          OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
 | 
			
		||||
 | 
			
		||||
    // 
 | 
			
		||||
    //
 | 
			
		||||
    // Pressing space or clicking the check box toggles the item
 | 
			
		||||
    //
 | 
			
		||||
    void OnChar(wxKeyEvent& rEvent);
 | 
			
		||||
@@ -89,7 +89,7 @@ private:
 | 
			
		||||
                                  ,const wxItemResource*  pParentResource
 | 
			
		||||
                                  ,const wxResourceTable* pTable = (const wxResourceTable *) NULL
 | 
			
		||||
                                 )
 | 
			
		||||
    { 
 | 
			
		||||
    {
 | 
			
		||||
        return(wxWindowBase::CreateItem( pChildResource
 | 
			
		||||
                                        ,pParentResource
 | 
			
		||||
                                        ,pTable
 | 
			
		||||
 
 | 
			
		||||
@@ -73,7 +73,7 @@ public:
 | 
			
		||||
    // For ownerdraw items
 | 
			
		||||
    //
 | 
			
		||||
    virtual bool OS2OnDraw(WXDRAWITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; };
 | 
			
		||||
    virtual bool OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return FALSE; };
 | 
			
		||||
    virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* WXUNUSED(pItem)) { return 0L; };
 | 
			
		||||
 | 
			
		||||
    wxArrayLong&     GetSubcontrols() { return m_aSubControls; }
 | 
			
		||||
    void             OnEraseBackground(wxEraseEvent& rEvent);
 | 
			
		||||
 
 | 
			
		||||
@@ -121,7 +121,7 @@ public:
 | 
			
		||||
    // wxCheckListBox support
 | 
			
		||||
    //
 | 
			
		||||
#if wxUSE_OWNER_DRAWN
 | 
			
		||||
    bool                  OS2OnMeasure(WXMEASUREITEMSTRUCT *item);
 | 
			
		||||
    long                  OS2OnMeasure(WXMEASUREITEMSTRUCT *item);
 | 
			
		||||
    bool                  OS2OnDraw(WXDRAWITEMSTRUCT *item);
 | 
			
		||||
 | 
			
		||||
    virtual wxOwnerDrawn* CreateItem(size_t n);
 | 
			
		||||
 
 | 
			
		||||
@@ -367,7 +367,7 @@ public:
 | 
			
		||||
    virtual bool OS2OnDrawItem( int               nId
 | 
			
		||||
                               ,WXDRAWITEMSTRUCT* pItem
 | 
			
		||||
                              );
 | 
			
		||||
    virtual bool OS2OnMeasureItem( int                  nId
 | 
			
		||||
    virtual long OS2OnMeasureItem( int                  nId
 | 
			
		||||
                                  ,WXMEASUREITEMSTRUCT* pItem
 | 
			
		||||
                                 );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -112,6 +112,9 @@ bool wxCheckListBoxItem::OnDrawItem (
 | 
			
		||||
{
 | 
			
		||||
    wxRect                          vRect = rRect;
 | 
			
		||||
 | 
			
		||||
    ::WinQueryWindowRect( m_pParent->GetHWND()
 | 
			
		||||
                         ,&rDc.m_vRclPaint
 | 
			
		||||
                        );
 | 
			
		||||
    if (IsChecked())
 | 
			
		||||
        eStat = (wxOwnerDrawn::wxODStatus)(eStat | wxOwnerDrawn::wxODChecked);
 | 
			
		||||
 | 
			
		||||
@@ -141,9 +144,6 @@ bool wxCheckListBoxItem::OnDrawItem (
 | 
			
		||||
        m_pParent->GetSize( NULL
 | 
			
		||||
                           ,&nParentHeight
 | 
			
		||||
                          );
 | 
			
		||||
        ::WinQueryWindowRect( m_pParent->GetHWND()
 | 
			
		||||
                             ,&rDc.m_vRclPaint
 | 
			
		||||
                            );
 | 
			
		||||
 | 
			
		||||
        nY = nParentHeight - nY - nCheckHeight;
 | 
			
		||||
        vPenBack = wxPen(vColour, 1, wxSOLID);
 | 
			
		||||
@@ -372,7 +372,7 @@ wxOwnerDrawn* wxCheckListBox::CreateItem (
 | 
			
		||||
// Return item size
 | 
			
		||||
// ----------------
 | 
			
		||||
//
 | 
			
		||||
bool wxCheckListBox::OS2OnMeasure (
 | 
			
		||||
long wxCheckListBox::OS2OnMeasure (
 | 
			
		||||
  WXMEASUREITEMSTRUCT*             pItem
 | 
			
		||||
)
 | 
			
		||||
{
 | 
			
		||||
@@ -391,9 +391,9 @@ bool wxCheckListBox::OS2OnMeasure (
 | 
			
		||||
        // Add place for the check mark
 | 
			
		||||
        //
 | 
			
		||||
        pStruct->rclItem.xRight += wxOwnerDrawn::GetDefaultMarginWidth();
 | 
			
		||||
        return TRUE;
 | 
			
		||||
        return long(MRFROM2SHORT((USHORT)m_nItemHeight, (USHORT)(pStruct->rclItem.xRight - pStruct->rclItem.xLeft)));
 | 
			
		||||
    }
 | 
			
		||||
    return FALSE;
 | 
			
		||||
    return 0L;
 | 
			
		||||
} // end of wxCheckListBox::CreateItem
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
 
 | 
			
		||||
@@ -279,6 +279,9 @@ int wxListBox::DoAppend(
 | 
			
		||||
    if (m_windowStyle & wxLB_OWNERDRAW)
 | 
			
		||||
    {
 | 
			
		||||
        wxOwnerDrawn*               pNewItem = CreateItem(nIndex); // dummy argument
 | 
			
		||||
        wxScreenDC                  vDc;
 | 
			
		||||
        wxCoord                     vHeight;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        pNewItem->SetName(rsItem);
 | 
			
		||||
        m_aItems.Insert(pNewItem, nIndex);
 | 
			
		||||
@@ -809,7 +812,7 @@ bool wxListBox::OS2Command(
 | 
			
		||||
//
 | 
			
		||||
#define OWNER_DRAWN_LISTBOX_EXTRA_SPACE    (1)
 | 
			
		||||
 | 
			
		||||
bool wxListBox::OS2OnMeasure(
 | 
			
		||||
long wxListBox::OS2OnMeasure(
 | 
			
		||||
  WXMEASUREITEMSTRUCT*              pItem
 | 
			
		||||
)
 | 
			
		||||
{
 | 
			
		||||
@@ -827,21 +830,21 @@ bool wxListBox::OS2OnMeasure(
 | 
			
		||||
    vDc.SetFont(GetFont());
 | 
			
		||||
 | 
			
		||||
    wxCoord                         vHeight;
 | 
			
		||||
    wxCoord                         vWidth;
 | 
			
		||||
 | 
			
		||||
    pMeasureStruct->rclItem.xRight = 0;
 | 
			
		||||
    GetSize( &vWidth
 | 
			
		||||
            ,NULL
 | 
			
		||||
           );
 | 
			
		||||
 | 
			
		||||
    pMeasureStruct->rclItem.xRight = (USHORT)vWidth;
 | 
			
		||||
    pMeasureStruct->rclItem.xLeft  = 0;
 | 
			
		||||
    pMeasureStruct->rclItem.yTop   = 0;
 | 
			
		||||
    pMeasureStruct->rclItem.yBottom = 0;
 | 
			
		||||
 | 
			
		||||
    vHeight = vDc.GetCharHeight() * 2.5;
 | 
			
		||||
    pMeasureStruct->rclItem.yTop  = vHeight;
 | 
			
		||||
    pMeasureStruct->rclItem.yTop  = (USHORT)vHeight;
 | 
			
		||||
 | 
			
		||||
    ::WinSendMsg( GetHWND()
 | 
			
		||||
                 ,LM_SETITEMHEIGHT
 | 
			
		||||
                 ,MPFROMLONG(vHeight)
 | 
			
		||||
                 ,MPFROMLONG(pMeasureStruct->idItem)
 | 
			
		||||
                );
 | 
			
		||||
    return TRUE;
 | 
			
		||||
    return long(MRFROM2SHORT((USHORT)vHeight, (USHORT)vWidth));
 | 
			
		||||
} // end of wxListBox::OS2OnMeasure
 | 
			
		||||
 | 
			
		||||
bool wxListBox::OS2OnDraw (
 | 
			
		||||
 
 | 
			
		||||
@@ -2841,8 +2841,9 @@ MRESULT wxWindowOS2::OS2WindowProc(
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    bProcessed = OS2OnMeasureItem(nIdCtrl,
 | 
			
		||||
                                                 (WXMEASUREITEMSTRUCT *)lParam);
 | 
			
		||||
                    return MRFROMLONG(OS2OnMeasureItem( nIdCtrl
 | 
			
		||||
                                                       ,(WXMEASUREITEMSTRUCT *)lParam
 | 
			
		||||
                                                      ));
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if ( bProcessed )
 | 
			
		||||
@@ -3807,7 +3808,7 @@ bool wxWindowOS2::OS2OnDrawItem(
 | 
			
		||||
    return FALSE;
 | 
			
		||||
} // end of wxWindowOS2::OS2OnDrawItem
 | 
			
		||||
 | 
			
		||||
bool wxWindowOS2::OS2OnMeasureItem(
 | 
			
		||||
long wxWindowOS2::OS2OnMeasureItem(
 | 
			
		||||
  int                               lId
 | 
			
		||||
, WXMEASUREITEMSTRUCT*              pItemStruct
 | 
			
		||||
)
 | 
			
		||||
@@ -3833,13 +3834,16 @@ bool wxWindowOS2::OS2OnMeasureItem(
 | 
			
		||||
                                         ,&nHeight
 | 
			
		||||
                                        ))
 | 
			
		||||
            {
 | 
			
		||||
                MRESULT             mRc;
 | 
			
		||||
 | 
			
		||||
                pMeasureStruct->rclItem.xRight  = nWidth;
 | 
			
		||||
                pMeasureStruct->rclItem.xLeft   = 0L;
 | 
			
		||||
                pMeasureStruct->rclItem.yTop    = nHeight;
 | 
			
		||||
                pMeasureStruct->rclItem.yBottom = 0L;
 | 
			
		||||
                return TRUE;
 | 
			
		||||
                mRc = MRFROM2SHORT(nHeight, nWidth);
 | 
			
		||||
                return LONGFROMMR(mRc);
 | 
			
		||||
            }
 | 
			
		||||
            return FALSE;
 | 
			
		||||
            return 0L;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    wxWindow*                      pItem = FindItem(lId);
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@ DATA MULTIPLE NONSHARED READWRITE LOADONCALL
 | 
			
		||||
CODE LOADONCALL
 | 
			
		||||
 | 
			
		||||
EXPORTS
 | 
			
		||||
;From library:  H:\Dev\Wx2\WxWindows\lib\wx.lib
 | 
			
		||||
;From library:  H:\DEV\WX2\WXWINDOWS\LIB\wx.lib
 | 
			
		||||
  ;From object file:  dummy.cpp
 | 
			
		||||
    ;PUBDEFs (Symbols available from object file):
 | 
			
		||||
      wxDummyChar
 | 
			
		||||
@@ -11902,6 +11902,8 @@ EXPORTS
 | 
			
		||||
      SetFont__14wxCheckListBoxFRC6wxFont
 | 
			
		||||
      ;wxCheckListBox::OnLeftClick(wxMouseEvent&)
 | 
			
		||||
      OnLeftClick__14wxCheckListBoxFR12wxMouseEvent
 | 
			
		||||
      ;wxCheckListBox::OS2OnMeasure(void**)
 | 
			
		||||
      OS2OnMeasure__14wxCheckListBoxFPPv
 | 
			
		||||
  ;From object file:  ..\os2\choice.cpp
 | 
			
		||||
    ;PUBDEFs (Symbols available from object file):
 | 
			
		||||
      ;wxChoice::DoGetItemClientData(int) const
 | 
			
		||||
@@ -14230,11 +14232,19 @@ EXPORTS
 | 
			
		||||
      GetValue__10wxSpinCtrlCFv
 | 
			
		||||
  ;From object file:  ..\os2\statbmp.cpp
 | 
			
		||||
    ;PUBDEFs (Symbols available from object file):
 | 
			
		||||
      ;wxStaticBitmap::OnPaint(wxPaintEvent&)
 | 
			
		||||
      OnPaint__14wxStaticBitmapFR12wxPaintEvent
 | 
			
		||||
      ;wxStaticBitmap::sm_eventTable
 | 
			
		||||
      sm_eventTable__14wxStaticBitmap
 | 
			
		||||
      ;wxStaticBitmap::sm_eventTableEntries
 | 
			
		||||
      sm_eventTableEntries__14wxStaticBitmap
 | 
			
		||||
      __vft14wxStaticBitmap8wxObject
 | 
			
		||||
      ;wxStaticBitmap::Free()
 | 
			
		||||
      Free__14wxStaticBitmapFv
 | 
			
		||||
      ;wxStaticBitmap::Create(wxWindow*,int,const wxGDIImage&,const wxPoint&,const wxSize&,long,const wxString&)
 | 
			
		||||
      Create__14wxStaticBitmapFP8wxWindowiRC10wxGDIImageRC7wxPointRC6wxSizelRC8wxString
 | 
			
		||||
      ;wxStaticBitmap::GetEventTable() const
 | 
			
		||||
      GetEventTable__14wxStaticBitmapCFv
 | 
			
		||||
      ;wxStaticBitmap::sm_classwxStaticBitmap
 | 
			
		||||
      sm_classwxStaticBitmap__14wxStaticBitmap
 | 
			
		||||
      ;wxStaticBitmap::SetImage(const wxGDIImage&)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user