From e42e45a9ddf8b220a91ede9f81acbb9b6e333678 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Wed, 31 Oct 2001 16:22:33 +0000 Subject: [PATCH] removed subprojects for ldef and cdef, changed to in-proc ldef git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/mac/uma.h | 15 ++- src/mac/aga.cpp | 2 +- src/mac/carbon/aga.cpp | 2 +- src/mac/carbon/corersrc.r | 2 +- src/mac/carbon/listbox.cpp | 182 +++++++++++++++++++++++++++---------- src/mac/cdef/extcdef.c | 29 ------ src/mac/cdef/extcdef.h | 21 ----- src/mac/cdef/extcdef.mcp | Bin 100791 -> 0 bytes src/mac/cdef/extcdef6.mcp | Bin 123569 -> 0 bytes src/mac/corersrc.r | 2 +- src/mac/ldef/extldef.c | 91 ------------------- src/mac/ldef/extldef.h | 65 ------------- src/mac/ldef/extldef.mcp | Bin 100471 -> 0 bytes src/mac/ldef/extldef6.mcp | Bin 164845 -> 0 bytes src/mac/listbox.cpp | 182 +++++++++++++++++++++++++++---------- 15 files changed, 281 insertions(+), 312 deletions(-) delete mode 100644 src/mac/cdef/extcdef.c delete mode 100644 src/mac/cdef/extcdef.h delete mode 100644 src/mac/cdef/extcdef.mcp delete mode 100644 src/mac/cdef/extcdef6.mcp delete mode 100644 src/mac/ldef/extldef.c delete mode 100644 src/mac/ldef/extldef.h delete mode 100644 src/mac/ldef/extldef.mcp delete mode 100644 src/mac/ldef/extldef6.mcp diff --git a/include/wx/mac/uma.h b/include/wx/mac/uma.h index faf1206158..c0260916c9 100644 --- a/include/wx/mac/uma.h +++ b/include/wx/mac/uma.h @@ -228,12 +228,23 @@ void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ; #define GetPortVisibleRegion( p, r ) CopyRgn( p->visRgn , r ) #define GetQDGlobalsWhite( a ) (&((*a) = qd.white)) #define GetQDGlobalsBlack( a ) (&((*a) = qd.black)) -#define GetQDGlobalsScreenBits( a ) (*a) = qd.screenBits +#define GetQDGlobalsScreenBits( a ) ((*a) = qd.screenBits) #define GetQDGlobalsArrow( a ) (&((*a) = qd.arrow)) #define GetControlBounds( c , b ) &((*b) = (**c).contrlRect ) #define GetPortBitMapForCopyBits( p ) ((BitMap*) &(((CGrafPtr)p)->portPixMap )) -#define GetControlOwner( control ) (**control).contrlOwner +#define GetControlOwner( control ) ((**control).contrlOwner) #define InvalWindowRgn( window , rgn ) InvalRgn( rgn ) +#define GetPortPenMode( p ) (p->pnMode) +#define SetPortPenMode( p , mode ) (p->pnMode = mode ) +// control manager + +#define GetControlReference( control ) ((**control).contrlRfCon) + +// list manager + +#define SetListSelectionFlags( list , options ) (**list).selFlags = options +#define GetListRefCon( list ) (**list).refCon + #endif #if TARGET_CARBON #define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn ) diff --git a/src/mac/aga.cpp b/src/mac/aga.cpp index 76e2d9505b..64827558b0 100644 --- a/src/mac/aga.cpp +++ b/src/mac/aga.cpp @@ -4,7 +4,7 @@ #if 0 // TO BE REMOVED SOON -#include +//#include #include pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param); diff --git a/src/mac/carbon/aga.cpp b/src/mac/carbon/aga.cpp index 76e2d9505b..64827558b0 100644 --- a/src/mac/carbon/aga.cpp +++ b/src/mac/carbon/aga.cpp @@ -4,7 +4,7 @@ #if 0 // TO BE REMOVED SOON -#include +//#include #include pascal SInt32 AGAProgressBarDefProc (SInt16 procID, ControlHandle theControl, ControlDefProcMessage message, SInt32 param); diff --git a/src/mac/carbon/corersrc.r b/src/mac/carbon/corersrc.r index 0bc5febd8c..4171a8faec 100644 --- a/src/mac/carbon/corersrc.r +++ b/src/mac/carbon/corersrc.r @@ -391,7 +391,7 @@ resource 'ldes' ( 128 ) 0 , hasVertScroll , noHorizScroll , - 128 , + 0 , noGrowSpace , } } ; diff --git a/src/mac/carbon/listbox.cpp b/src/mac/carbon/listbox.cpp index 502394e18a..f6c1403b1c 100644 --- a/src/mac/carbon/listbox.cpp +++ b/src/mac/carbon/listbox.cpp @@ -21,7 +21,7 @@ #include "wx/utils.h" #ifndef __DARWIN__ - #include "extldef.h" +// #include "extldef.h" #endif #if !USE_SHARED_LIBRARY @@ -34,6 +34,96 @@ END_EVENT_TABLE() #include "wx/mac/uma.h" + +typedef struct { + unsigned short instruction; + void (*function)(); +} ldefRec, *ldefPtr, **ldefHandle; + +extern "C" +{ +static pascal void wxMacListDefinition( short message, Boolean isSelected, Rect *drawRect, + Cell cell, short dataOffset, short dataLength, + ListHandle listHandle ) ; +} + +static pascal void wxMacListDefinition( short message, Boolean isSelected, Rect *drawRect, + Cell cell, short dataOffset, short dataLength, + ListHandle listHandle ) +{ + FontInfo fontInfo; + GrafPtr savePort; + GrafPtr grafPtr; + RgnHandle savedClipRegion; + SInt32 savedPenMode; + wxListBox* list; + GetPort(&savePort); + SetPort((**listHandle).port); + grafPtr = (**listHandle).port ; + // typecast our refCon + list = (wxListBox*) GetControlReference( (ControlHandle) GetListRefCon(listHandle) ); + + // Calculate the cell rect. + + switch( message ) { + case lInitMsg: + break; + + case lCloseMsg: + break; + + case lDrawMsg: + { + const wxString text = list->m_stringArray[cell.v] ; + + // Save the current clip region, and set the clip region to the area we are about + // to draw. + + savedClipRegion = NewRgn(); + GetClip( savedClipRegion ); + ClipRect( drawRect ); + EraseRect( drawRect ); + + + MoveTo(drawRect->left + 4 , drawRect->top + 10 ); + ::TextFont( kFontIDMonaco ) ; + ::TextSize( 9 ); + ::TextFace( 0 ) ; + + DrawText(text, 0 , text.Length()); + // If the cell is hilited, do the hilite now. Paint the cell contents with the + // appropriate QuickDraw transform mode. + + if( isSelected ) { + savedPenMode = GetPortPenMode( grafPtr ); + SetPortPenMode( grafPtr, hilitetransfermode ); + PaintRect( drawRect ); + SetPortPenMode( grafPtr, savedPenMode ); + } + + // Restore the saved clip region. + + SetClip( savedClipRegion ); + DisposeRgn( savedClipRegion ); + } + break; + case lHiliteMsg: + + // Hilite or unhilite the cell. Paint the cell contents with the + // appropriate QuickDraw transform mode. + + GetPort( &grafPtr ); + savedPenMode = GetPortPenMode( grafPtr ); + SetPortPenMode( grafPtr, hilitetransfermode ); + PaintRect( drawRect ); + SetPortPenMode( grafPtr, savedPenMode ); + break; + default : + break ; + } + SetPort(savePort); +} + extern "C" void MacDrawStringCell(Rect *cellRect, Cell lCell, ListHandle theList, long refCon) ; const short kwxMacListWithVerticalScrollbar = 128 ; @@ -49,6 +139,8 @@ wxListBox::wxListBox() m_macList = NULL ; } +static ListDefUPP macListDefUPP = NULL ; + bool wxListBox::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, @@ -65,12 +157,16 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; -#if TARGET_CARBON ListDefSpec listDef; - OptionBits options; + listDef.defType = kListDefUserProcType; + if ( macListDefUPP == NULL ) + { + macListDefUPP = NewListDefUPP( wxMacListDefinition ); + } + listDef.u.userProc = macListDefUPP ; +#if TARGET_CARBON Size asize; - listDef.defType = kListDefStandardTextType; CreateListBoxControl( parent->GetMacRootWindow(), &bounds, false, 0, 1, false, true, 14, 14, false, &listDef, &m_macControl ); @@ -81,7 +177,32 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, SetControlReference(m_macControl, (long) this); SetControlVisibility(m_macControl, false, false); - options = 0; +#else + long result ; + + m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , + kwxMacListWithVerticalScrollbar , 0 , 0, + kControlListBoxProc , (long) this ) ; + ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , + sizeof( ListHandle ) , (char*) &m_macList , &result ) ; + + HLock( (Handle) m_macList ) ; + ldefHandle ldef ; + ldef = (ldefHandle) NewHandle( sizeof(ldefRec) ) ; + if ( (**m_macList).listDefProc != NULL ) + { + (**ldef).instruction = 0x4EF9; /* JMP instruction */ + (**ldef).function = (void(*)()) listDef.u.userProc; + (**m_macList).listDefProc = (Handle) ldef ; + } + + Point pt = (**m_macList).cellSize ; + pt.v = 14 ; + LCellSize( pt , m_macList ) ; + + LAddColumn( 1 , 0 , m_macList ) ; +#endif + OptionBits options = 0; if ( style & wxLB_MULTIPLE ) { options += lNoExtend ; @@ -95,52 +216,12 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, options = lOnlyOne ; } SetListSelectionFlags(m_macList, options); - -#else - long result ; - - m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , - kwxMacListWithVerticalScrollbar , 0 , 0, - kControlListBoxProc , (long) this ) ; - ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , - sizeof( ListHandle ) , (char*) &m_macList , &result ) ; - - HLock( (Handle) m_macList ) ; - NewExtLDEFInfo( m_macList , MacDrawStringCell , (long) this ) ; - - (**m_macList).selFlags = 0 ; - if ( style & wxLB_MULTIPLE ) - { - (**m_macList).selFlags += lNoExtend ; - } - else if ( style & wxLB_EXTENDED ) - { - (**m_macList).selFlags += lExtendDrag ; - } - else - { - (**m_macList).selFlags = lOnlyOne ; - } - - Point pt = (**m_macList).cellSize ; - pt.v = 14 ; - LCellSize( pt , m_macList ) ; - - LAddColumn( 1 , 0 , m_macList ) ; - - ControlFontStyleRec controlstyle ; - controlstyle.flags = kControlUseFontMask + kControlUseSizeMask ; - //controlstyle.font = kControlFontSmallSystemFont ; - controlstyle.font = kFontIDMonaco ; - controlstyle.size = 9 ; - //::UMASetControlFontStyle( m_macControl , &controlstyle ) ; -#endif MacPostControlCreate() ; for ( int i = 0 ; i < n ; i++ ) { - Append( choices[i] ) ; + Append( choices[i] ) ; } LSetDrawingMode( true , m_macList ) ; @@ -154,7 +235,8 @@ wxListBox::~wxListBox() if ( m_macList ) { #if !TARGET_CARBON - DisposeExtLDEFInfo( m_macList ) ; + DisposeHandle( (**m_macList).listDefProc ) ; + (**m_macList).listDefProc = NULL ; #endif m_macList = NULL ; } @@ -559,7 +641,7 @@ void wxListBox::MacInsert( int n , const char * text) Cell cell = { 0 , 0 } ; cell.v = n ; LAddRow( 1 , cell.v , m_macList ) ; - LSetCell(text, strlen(text), cell, m_macList); +// LSetCell(text, strlen(text), cell, m_macList); Refresh(); } @@ -568,7 +650,7 @@ void wxListBox::MacAppend( const char * text) Cell cell = { 0 , 0 } ; cell.v = (**m_macList).dataBounds.bottom ; LAddRow( 1 , cell.v , m_macList ) ; - LSetCell(text, strlen(text), cell, m_macList); + // LSetCell(text, strlen(text), cell, m_macList); Refresh(); } @@ -637,7 +719,7 @@ void wxListBox::MacSet( int n , const char * text ) // so we just have to redraw Cell cell = { 0 , 0 } ; cell.v = n ; - LSetCell(text, strlen(text), cell, m_macList); +// LSetCell(text, strlen(text), cell, m_macList); Refresh(); } diff --git a/src/mac/cdef/extcdef.c b/src/mac/cdef/extcdef.c deleted file mode 100644 index 0e21b457a1..0000000000 --- a/src/mac/cdef/extcdef.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "extcdef.h" - -/************************************************************************* - - main - -*************************************************************************/ - -pascal SInt32 main(SInt16 varCode , ControlHandle theControl , ControlDefProcMessage message, SInt32 param ) -{ - long returnValue = 0L; - char state = HGetState((Handle)theControl); - - if ( message != initCntl ) - { - ExtCDEFInfo* info = (ExtCDEFInfo* ) (**theControl).contrlRfCon ; - if ( info ) - { - returnValue = info->defProc( info->procID, theControl, message, param) ; - } - } - else - { - (**theControl).contrlRfCon = NULL ; - } - HSetState((Handle)theControl,state); - - return(returnValue); /* tell them what happened */ -} diff --git a/src/mac/cdef/extcdef.h b/src/mac/cdef/extcdef.h deleted file mode 100644 index 2c7bf88d3b..0000000000 --- a/src/mac/cdef/extcdef.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include - -#define kExtCDEFID 128 // resource id of our CDEF resource -const long kExtCDEFMagic = 0xFEEDFEED ; -typedef struct ExtCDEFInfo -{ - ControlDefProcPtr defProc ; // this must always be the lowest element - long magic ; - long contrlRfCon ; - ControlHandle containerControl ; - Handle children ; - ControlFontStyleRec fontStyle ; - Boolean hasFocus ; - SInt16 procID ; - long privateData ; -} ExtCDEFInfo ; - -void NewExtCDEFInfo( ControlHandle theControl , ControlDefProcPtr defproc , SInt16 procID , long refcon ) ; -void DisposeExtCDEFInfo( ControlHandle theControl) ; diff --git a/src/mac/cdef/extcdef.mcp b/src/mac/cdef/extcdef.mcp deleted file mode 100644 index 498155838122239fd537d7da3de2073f202700ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100791 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 diff --git a/src/mac/cdef/extcdef6.mcp b/src/mac/cdef/extcdef6.mcp deleted file mode 100644 index 5a6cfa5ed7e57ad878c3ad2c30b3a55ba3bc4c0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123569 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 diff --git a/src/mac/corersrc.r b/src/mac/corersrc.r index 0bc5febd8c..4171a8faec 100644 --- a/src/mac/corersrc.r +++ b/src/mac/corersrc.r @@ -391,7 +391,7 @@ resource 'ldes' ( 128 ) 0 , hasVertScroll , noHorizScroll , - 128 , + 0 , noGrowSpace , } } ; diff --git a/src/mac/ldef/extldef.c b/src/mac/ldef/extldef.c deleted file mode 100644 index 8e53fbf046..0000000000 --- a/src/mac/ldef/extldef.c +++ /dev/null @@ -1,91 +0,0 @@ -#include "extldef.h" - -/************************************************************************* - - function prototypes - -*************************************************************************/ - -void DrawMsg(Boolean fSelect, Rect *r, Cell cell, ListHandle lh); -void HiliteMsg(Boolean fSelect, Rect *r); - -/************************************************************************* - - main - -*************************************************************************/ - -pascal void main(short message, Boolean fSelect, Rect *r, Cell cell, - short dataOffset, short dataLen, ListHandle lh) -{ - - switch(message) { - case lInitMsg: - break; - - case lDrawMsg: - DrawMsg(fSelect, r, cell, lh); - break; - - case lHiliteMsg: - HiliteMsg(fSelect, r); - break; - - case lCloseMsg: - break; - - default: - break; - } -} - -/************************************************************************* - - DrawMsg - -*************************************************************************/ - -void DrawMsg(Boolean fSelect, Rect *r, Cell cell, ListHandle lh) -{ - ExtLDEFInfo* info = (ExtLDEFInfo*) (**lh).refCon ; - GrafPtr savePort; - - // set up the port - GetPort(&savePort); - SetPort((**lh).port); - PenNormal(); - ForeColor( blackColor ) ; - BackColor( whiteColor ) ; - - EraseRect(r); - if ( info ) - { - if ( info->drawProc) - { - CallExtLDEFDrawProc(info->drawProc, r, cell, lh, info->refCon ); - } - - } - // hilite if selected - if (fSelect) - HiliteMsg(fSelect, r); - - SetPort(savePort); - -} - -/************************************************************************* - - HiliteMsg - -*************************************************************************/ - -void HiliteMsg(Boolean fSelect, Rect *r) -{ - unsigned char hMode; - - hMode = LMGetHiliteMode(); - BitClr((Ptr)(&hMode),(long)pHiliteBit); - LMSetHiliteMode(hMode); - InvertRect(r); -} diff --git a/src/mac/ldef/extldef.h b/src/mac/ldef/extldef.h deleted file mode 100644 index c678fafe58..0000000000 --- a/src/mac/ldef/extldef.h +++ /dev/null @@ -1,65 +0,0 @@ -#pragma once - -#if defined(__UNIX__) - #include -#else - #include -#endif -#include - -#define kExtLDEFID 128 // resource id of our LDEF resource - -typedef void (*ExtLDEFDrawProcType)(Rect *r, Cell cell, ListHandle lh, long refcon); - -enum { - uppExtLDEFDrawProcInfo = kCStackBased - | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Rect *))) - | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Cell))) - | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(ListHandle))) - | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) -}; - -#if USESROUTINEDESCRIPTORS -typedef UniversalProcPtr ExtLDEFDrawProcUPP; - -#define CallExtLDEFDrawProc(userRoutine, r, cell, lh , refcon ) \ - CallUniversalProc((UniversalProcPtr)(userRoutine), uppExtLDEFDrawProcInfo, r, cell, lh , refcon ) -#define NewExtLDEFDrawProc(userRoutine) \ - (ExtLDEFDrawProcUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppExtLDEFDrawProcInfo, GetCurrentISA()) - -#else -typedef ExtLDEFDrawProcType ExtLDEFDrawProcUPP; - -#define CallExtLDEFDrawProc(userRoutine, r, cell, lh , refcon) \ - (*(userRoutine))(r, cell, lh, refcon) -#define NewExtLDEFDrawProc(userRoutine) \ - (ExtLDEFDrawProcUPP)(userRoutine) -#endif - -typedef struct -{ - long refCon ; - ExtLDEFDrawProcUPP drawProc ; -} ExtLDEFInfo ; - -static void NewExtLDEFInfo( ListHandle lh , ExtLDEFDrawProcType drawproc , long refcon ) ; -static void NewExtLDEFInfo( ListHandle lh , ExtLDEFDrawProcType drawproc , long refcon ) -{ - ExtLDEFInfo* info = (ExtLDEFInfo* ) malloc( sizeof( ExtLDEFInfo ) ) ; - info->drawProc = NewExtLDEFDrawProc( drawproc ) ; - info->refCon = refcon ; - (**lh).refCon = (long) info ; -} - -static void DisposeExtLDEFInfo( ListHandle lh) ; -static void DisposeExtLDEFInfo( ListHandle lh) -{ - ExtLDEFInfo* info = (ExtLDEFInfo* ) (**lh).refCon ; - if ( info ) - { - #if !TARGET_CARBON - DisposeRoutineDescriptor( (RoutineDescriptor*) info->drawProc ) ; - #endif - free( (void*) (**lh).refCon ) ; - } -} diff --git a/src/mac/ldef/extldef.mcp b/src/mac/ldef/extldef.mcp deleted file mode 100644 index 458d375486533b0c7a60cbfdfad3c4debcb529d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100471 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

2pFZoi6npAvY^>V0V7-R*jYP-0h* z%J~GLw92`M&lXAu^yvv4;ePVqepZABL9Pc89+AWGsWhIus3~^Oz8w?O+xdV*Kf>_r zJ+Nt`pRI9M>4tHSPYb-ygFL4zd^}`dqmtV{kuAFX`nJ2C+IU1s8^i2n8WWhMc3m^z zWvhoCYTC1;s+?yI`U#asEU(L=#~_|Ez0PAR&kk8#^uknpdW>pKdTS>O^v9>iXX4|f zcdGh3kJ?I{pgWcD>lhkixyrL&ohMg(!pFyNp3|^QksJtb_c}xJ3OpbgUh^Q&V-w&M zI7b%ob_{uLFKKTVT&Fg(WNmr0Hg3C|ZPDEJxWqimaX*r!oFB=2zjLd&vmLI}!w$#O ztqxz?wzKW7A5Y-!Y!)guZ*skU(Zwrh3;2#BkY%u4q)rwpsZQ>2sgs-fscO5V^;`L% zxt;fMWE40yGCUrOELxpCFxcBgmTK=PSwl*2)sUOELSYL<)=OT2^^)PWUh)d9mz)CY zCBtjIy$;v0UWenc zUWc!(*V%U0&uhIbRBXNEdac*RbF5eLU~sm5*xNmwy`yA@yR6qPXV(f(+Ka50yaMYb!)v|d6jnMIAUcW8Cnn+1(2v|bkRSg&L`?-{tPmph8B*Wo(W>u@~Q>+rSpI@|90 zd99a)imjJiul2fkj`d2O%X;nYB6XIuUc0nQowoJbyWCYTuwE7@uwF7e)=QS#dhP8Z z>$P{3>~NR$+U4w8p+vaZpVmVV=RBre5p~H1#(cs6Yd-{0d4h!J@p!(7$I}f~_-6s#F7b z`JC@W0SaD3t5l3Bzw|V~HxZ}e6VpqtWfioj=p9UXtyCbu6fM@kjW=d<@l39G$NX`$ z)0@8&nll*sG!zy;jg~E z5iC)Mx3#MPv`75-P%Zn{)7G=oXHeSSK3L^r^{RQegD!~Q7=J}yu{#tma9u7?Z$#p!$H3X{4BfA6c-1+D3z65uP%uduXk zmU%`~QO}&D5gNN#=JsGW-?obm^Se%4B_@XkTy{}|k47NEmq50LE`0YvZmO4e%f8O3 z4rTaWFt)iQ$|bAq0H5E81?b%o(bO!LMAJ)z={gi-E9G~b4*k!QtP9(4xBSC3V%1~M zI3=1s{-{HH2$a8vtjNiiJTQtJkMSo(736eHX0xI#!A~*z)(0OrWV-~veaJcx^7Yy9 z0JjHrbahvwK5`bL3hf%{**Vg-YY*$`+pdC7Ia! zN0@WF1~+eo#Rs>`^U=@QfVT96ZVXxovuzhr$9t*s)U z-^0sEh}NpeNmolwx+?8T9tf0U>(-s;^?ZpO;iR5-XGG%3hA#^1#rs6_edqpZ#M*Ch z`>2;+u#)Q^80_xFBs`WoPNwBM0NGUL0QSFN-Em}xmAq7b3`)w`Bhu+P=$WtRNjVc^ zlOmu#!-E5WEh`(_ta#B1nm5F}ew5#k^-1IF!&Q-! z*fW=Y&$o-s3LH@auP;YVM#QrL?c&I7e>E5?l~7VY+2nXoyX<4#d0vjo4sQ{uAUoVV zk;SK~r5UF932A(SqreVlaRM0uw4p))cId8$O}pze3Z{$zsvsx3XL6Tlg8>ET+4IR| zS*3h^lpSVsGgXm8;cZaTT>5JWGIS*2zub(DBwn}-E%ChqWm7##zUA&nV(xM(j3k`p zMDq1{Rgr|h92rT>y2Pl`uMvQw9iMxYun|C6IUyr}vT{O30OjQbj@(XU zQ%=rejR1Vw_1Z-M`3iZj_sSxGa&kgO0C_P5_wKXsm8w1=BY<*pLPP-gTmcuRjM;9w zq<*r&kp!v%F`~SjDntM~y9RNmmkAtkS*F(xZM2TO?NX5hF0eU{Un-KAyPOIm38&}1 z?W!=6@RdV*s755QQh$8PcYd)}T6{vrh7YQHlpFK2iw)1n#YVIc=bI%A4tbBlS{B@+ zsCx^4ImP!D1#)H~Pu53Ss;`_9v1*YV)=g^g$p&9JEaQcIyRLkNvDmg0z6KQp*1*6} zWp8hnkk$cSxrtzLgq%MradaiDQ52Rl!Id0TqAcZf4Ze3@iCqOOd*-Zw>DiDo${wC~ zGmMQ-Y1s>Im2D1P`Uba;P`7N(!FKGz&6yAji7RJbPFmFV&5pr z$k8oC*`OknL(ntjYNJFNrd?7FXUYR0jGS^4<>L5-=IP}9Z9uEJtJF-n_mBb3l$U`} za(I6`M;OKNa;ChDoKiF8-a{6or%QNiS-1^LEt<(IETKIw?~?-{yqw?)g_jd}0n$T- zY?t5fx>aLC%i(?U96^mt!9vQ_#~GQ*)CO{jW~RMomi6JxbO3~xgZt6|DA%r89INUh z?@N6pg_o0_@fCs{<=QoiGSwQnr5w(1&k+{dh%4_W%e1M~%(V9qc|Yl8dbY#J;UV&F z$a8EZn?oq<`jlSjL+cmX$h{y(rYgj|)rt+nSZe96F65S7A%C&Qbk1B&VY_inR2I|u z%c)XKw;(M(IP}TKEWX;QFcvE-C%8h+SXx$2aIjH=QLz{r7yzgRpEU%6d`1vh zLWok&2)u_Z@|do4hoO-b#&o`NsIO|oboi?98_tipJ_GFSh!$xX!45O;!6C>iz}{AJ zLf%c6l@nYc$77b26X2mc6yjPTWXX@_WM^5FQ*GCXKO?mLJp0}Kwke=5^ z%&b$Nke;`!oUop^v>>NGc$ql}V2ARv-9crfo--wWr0+V2LXuhiSk=Y%lGX4Cl-V{p zvCAvlz3rN%EUh42xD9U;x{veHgS+WkG-Xr5bS`U ztwTLq+V-XcXXwMosm41MY*#gAwcc^QErRJ6+srT&EO=>oo9DTIhDo@f{D|gO+{A ztxUh$%|*hcNFJ^60j7dQOASsIEfW9K%S;G4H@=WtPlBzlUChCzf;U zOj-X?r1SO;%t?zp=JkCRY2JaE=2Az#F_Ij+fT! zVHL;;6ck#{e8-qR`l&p|^brItO8W^NW0sQ>@=2_Zm|3SjA)mySl@s@TJJuy9Zmx`-k8nBGjb`6a0gVsl=(hL^>u0_E=>&_rIzlt7ujB# zjWn$?8Za6#8VI3*qL?tmF-x?FjE2n@LzigpzWQb@`!9z2-zG+dc-tXrwm7x*?fzJo z>nkXYTQ{d>rpNGpo?WmozZ@Vrd{WY&KIC)=r`plCt$TWAaxSZs6`sg!84WCE4ftQ2 zi@8;%?v-kwxzYnn`K6|T?%w{9)dR^~Cbd7A*_V~SFPNS#{qr5aw)aivl9}mbF4l7( zJ(cCepN!(VI~Fr&(1>oHT`YHPp}^=h(s&KJXL|BMKCPzFk905`DFcw1^F;Q1Zz zMAfUg)+~M_2oxPyr06N+hZij89++Rz#;1Jr-{C#$f|tH#UDsfD&$`&U?#_`;WJ7&j zBkLA?t*cl;e&l?v5aIXYs{^P^jSx-S2Dfz%^tAQt>?tj_gKT+HBz9i9XaHAz?w#$g z>EKntg&zWnn_bIC12hWrx%cJM-(g#7+eHU|;E%1w=*BbRxtq+2k#iCkUc?0UFZRs(?{#>%GoRB}4EGx(7MJ?S3=Vy-PW{MfusPiZT86Dn7Jp7K;i{ zk?Z5NzJ_QPi}F|CsNPkLg-y+3QT}>H^kaWkJzyyt=@G(?Oy%U5#iD$_B&bHXkRy|i zo@de7ww$0(5|-=tyd1MwRH^G{NHZ7I2j!x8>zgkPEpw>j`%+R5cuCrT(Li1U{8_|Q zd}2D!S%wsTQjzx(B~}$`z||xFWx2-kKQt((L-!96s`2v!*Ut-lR-ltVb|_b^O7^b| zU05oV`pxTD6#Ai}7ua1TL!ZVJEY!ej|4Su%&?&5!*)ke18Yt3$Sk_A*)ke73vMl6128Q=JQ^^!nTJQOi%lxVn$`S*bJt`%n@wih_Qs1|M7p+b zC^oR;S~bfpCsP{-l9};jY%plSi6BKdb3mLQsqOCHvNN%7Vr(dr+Phn zl?yO(Cd$oRLQ9))jEmqe9F#9t&*cmx#n`t*&LnH7m3&qs~6OP0c%}!+Rbh-DqH;YM?NrDXe9=>!Z{#?|+PYk9$RHbx!w6 zUG9=WHIhMwT({~>7AsiAs2VFg6`tE{84VZ>7!4Q=ED{aG)9J~x0M1Rj=Vr20Ge-JF zY|qs64AQa5aish4icV}#CXqwBdn|)Abu&_aPr*P54d4ZnMX?%aiKI zr~&u`|JN6nqe4uZjRuScmaPViKU}t5ZyIhiU^L*-fboYOg_upF0i%KCtAX`xLbQmf zY|gXvgY}dUjpR=j>ZbXi!0H0vdzMaZLV2+s{E5QyE&qa59<=v3!o*DMfq$Gies-{xEAgFaXBpZh#$JtJuC0=-r7@BJody(EJ5BSpjI?i=;u7|1QfMK`!{zm*&5SwumFi#bJ*lIZKtl z;X%+R00HY)A&E`pvec(*isBfwH##(xOMCcD)YXcq++?b-e3Psj%2UrSIh)#qsOz7~ zjYE!GZ>N3@Dmi;9oke*!fAv4(_>Q6eY);gj{6o;E0RgMfzji;m%b%D4|1O+2i`;eI zwRdBCg=}xl6J4NB2LhTmBB_=9+U;vVuO%1!W0AB>#l4^KUiC2e&rHRo9#~Mr>fIoY zQ*s_kgJypNE<-&V(u)5T_Td{OTlD@P=t1>wZI=Chf#ToZEyQ{2W%=mjcfq?*@sA!x zbLy3x|IrH`>ka7tFX$_#_`moYFfNj8v3eG{k{|8hVz8SOzd3K8(RCjH?_$MYeIIhA zpW45^26VgPx6oczsrp=sg{s9RihueqQJ*?>-gk4o4cZ)_C5GfO#eeE~&~F3+T5dq1 z<(&Qq=*!3zV(28u`Js}3&YfV;Mgdp-5$!r(@h=<)qk~)_u6qu4sO&jf*8oPRWQ(;Q zg`5_3-v9Lqc$*bJ{(Y3cPVt|m&9LtQEwp1LzxGEz2MxUw#?cS;BkH{4FM-h`*<$)G z)JON%-}6}Z0pOTxk?d0PUwQ}VE#wNZqY23-CFiuKKwkj_tlf!ZrQ*N-?V$U}g`B@b zqUGN~9c(2R_51`9s4(nP7F{vyeQa&&zfVkPH5=p`T+_ zJ^$gGU~H3Yanl3HKcmWTrhWz$|HKW*mA{IP-vU}Kts^qfQ$(FN8v8f!uhQjV58_lM z=j3+K+ZF$e-y+xT`mYayh8+{u;um20dWj}K4tj)KAx@&LYWWu*0DU#NLgaYBH63X8~+069poZI`KZwTDx!EyucMq|4dtpm;L5U`eZq3kNU znl^hQx!@;}X#HRH0_ag7VC_vv)b(5Y$j3m($ra-Hdr%+c2cp;afU!%m#kwbuYd`SW zM?ohPf9>0lYd_HP51_{s|9c;X9OVaU?`0X*1Mq`%-Va=I9~iqOTm0x@#}Cwg>%W0F zuJ}K}d9@#iw(}a@qxe5R#_MCBQ9NB-+nxqdlXa2)_j1_5&03VC<7@@zcM} z`+@tu2Oj#5aLcEVC_fNAg?%+eE==tQNVFfgWE1FVa)r442qfAMwEi<_j-P;aFCtO> z6}@yFXtbZO?iD234}6Sv#r^>7*o;K`fdkN?psfIY_YEZfsO;@e^gV1R;P)SZev}`G z?j$cK+2W&n5_P>qyY2){9|XAlBqX|B|4KdFO0E$9LAzFdAbJjU@D_5x z{|yr52WlVVc*JYK0qqBB9EK*eA8_$c;`M9$0T+KY>u>u37heg|e!#{58QZSg^?vr( zZK~uSaoyK;D1UV;uMyfh;FbFwKTsz>xH2o*Rs_1W{lM3L3*PODANzasqlyQjU;I6I zZ&&KbtSSxB@W_~ze%eh0b2I{lAGwI4WiCg^vP zEvz$Yk*e#r?$T30{~6ifABjZ!fp5PXoVyf%?Xk#}ABaA24(NAj{x!(8ANbe{pm_{L ztQ|w5{6O@%qriEO;;+BV@dI_6phNLq#c##+VaEgSrVYGL@y~_b*?!3E=SH*_oBulO6OALR$?wsH)CUjtYdqYkzo_+B?SxPHjrIqvv@x;6BN_bUEHMs}b~v$QIT`yl!-V{SN06A0``owp;aA-I*_g z{&TXy=YHK^?_--jLN@phBUOGN`Ye4m>+!!7^&vJ KG6ebyWdDElGqXAX diff --git a/src/mac/ldef/extldef6.mcp b/src/mac/ldef/extldef6.mcp deleted file mode 100644 index bac8c6a5c441d548181c2ee40cc0f16c23fea4ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164845 zcmeHw3t$w*{r~K}a=C;gB2Ps*5dj4fK#CC`1QMPm<^()W1xZK_5=e5_yF?TUokd9ra#0;EYXzbswgaSQB*i*VEvdy zdQ<1~hao9>P7d}Rds8=$qRb}7295_Y4gOa6>F@>ch42pe7vOJ!p8;P4UkpD5{&(24!j%wr|=&5zrb&W z_rjBsRKah9e;)oe_$T3Sg5M557rq+)W%%3Ssb=%x7r@^QzX<;S;O~LI7yeH8SK$}J zFNVJlehK^?@Q=ga1@D7j3jYlJGWg~2E8t&)UkSeo{(kre;9rN|48I=!XYi}x{|f(e z_;=xd0sl+*HSq7jzYmYLWxs}h5dK5>SKuFl-vD0&|9AM`z&{MX1%563I`~K6e+z#F zd?x&r@WbJ+f*%6E3H~SWSHoWee=YoA_($P~!4HKW0sjo{kbo8?WhW@lvg z@6Tg!Vk`6(6_)X{iOzWp0!MnwnIk)Y%$UGDY$!}XmU)Fm`IG1(Yi?=99H)n6S9vR4 z<<{$*x6gHXioI-PQIXT@Meda)UN*VVGs{_No#d>nEUlR3Wn)UqoYuTTx0|1hswyoj zwvMi@^b~qoj&nxUtXWQvRk?;KWzBY#yKxP~@S@}9QlVrt*#;36&N3#d;ZG>e{VA!a zbYB|lte`qtb4tC1Uazx!2IWeOv1P6qz#-pVSz2B?PcTL0C>{Xtbm|QaJOCx613Ba_ z%IK~vpNSTlR9T#jh8SB`<-}Ruq+DyBZHm>&s|m*Sc~eGL7dau$RgqrgW}d1FNT#I7 znGG*1cFuIWi_$$#FB_J59U${~3Bg(A&WcJlyfEEWRmlR{nbJ`HqK){e+S1}gKtg8$ ztx2cDN!LJdX(%BHr!wY(3e<%i)K@ldUJaPWJ<{<0Ik8_K`gz`%m_f?g3;g z$>!1hg6t^SJk{ROeT3{|7ChNOx?hl8BwI>$knAhjKeDG}hljwE{UzHheMquB&_Di2}O3p4>l=R{hmu<$zaASn%DOYLAIh2UrMK1mjjY#+)-&r=v& z%OOWI?~lZUqYg>|KPm@`=l`6YBH}tUbX2-6$LNgwF;6_|QMpnl6y8>tT}C4gZ~E*) zPiQ_jkGEO#rrd1fd`Ur!${SEXo*OqR0nESzg1!tPS=oq=nua$I3RCSjDs+ej~3Dlm(1G}+3?E|GI>SjraiB*cI4K7Q@rWW#22Dl- zPAb5Gu7{I;ii1!(=^oJZxCAHNj|1K6;Uwyobi0R>eusmVDA0ev;UZ2lX*0rJf_?|# z#e)7AA+-UVv=@g8S2QImvWXcN)&Y z>0ZErhIMed_i&)$9h~l;I8Zs@bh~l5l9NpL8A2Kw!s$N8frejjx-W3Jnv+cTH9{H^ z!s$t`ujM4ulkSWVG__Bbpb3wWf~NdN2|6EPwxEj;k{-b6-8hWqq;`lO0a%7;mMWT% z5pW}Iwp{cLpTid|b@X`3&!6f>X_b_yo9{p8gyai8kNZrut#M~`=4U`%mhLr*R*X&` z?FiG^vP43jngiGZ6d_GV^5}U74kHdSoei$Xn+lC+y0`UdNT*!TkkX$H8qJ18OBZ^b zcCI0yA)p~}#v_2Ifkuy>3WuIf`14!96APX}h^su023S-g$u9qR&KM+`pT+P%8tvhe zZZ3U!jn(W89F0*lp(V?;J5;t7o^=RZ3Waaz0*YQ_D|&JK#k-!(lW+_2Mc; zFP74?uIA201QHaTXi$vigHT>rTEY0C`Pa6}6^f0EFDo79DAgIo_;MmBo0#^d_p~uO zJbyNGqMMJ0q~M`WV3YbMg99vpC=3mn8j_01)&@q5MQ-oOXb`Cj#y3KhqYpWQ0oI{e z#I$eYT!Yu73>UBdt$C&1qJX6=R=idjKDxNH(&Y)|j&Wh7LzrB|YLSrG&_yUA(Lrlc zLgIoJp@hWIA_jHYLlaR!t00<)7mG-mh*6hAghYj`d1*4%zpy1VR#{mQ!llz^toaGKZc<^n8%vy&^&}y2Q%Wl)(pn_3S|}v8I&)Y!U8AU`b%|oa z=u+s?s}OO)E3wo*%DK6v-bUST{KS9-QXyG!9aGlTgd)tN?0KPVWqnbe6N|%|hRVOZ zM=S;lkx2cr(TbyxG-LcL#6lu?na~R5c$Z1AIzvmx6XX_F%&NjW&n6?4^7~h{H6b9! zRTQpaNKK;^p4!#FNQ@TK(Mq=vF_flJK4erwjUn-ZEFdvL)q{8;Iss0Qaik=n4MV&@ zE2*9b^;4DEWNGQ@hShdFGgYJMx)77t!19|P&QgpYkqzxmXN?=%&-J&kpA*uoe!kFc z|9N2fNI+m?Q=-P|P25ns7{Cjv3;2FRz|-Ko5uB8$NjNDY08Tm;3mAuUT9`Y~blza& zh!JGih!JA3h(%hb-Wb&LMw+TdG+9E*A)thGssajKXr#Tw3({U*U$B9ub&g5 zy?(yXUjKPu`9igq5;fLd;)ZH(0MDx1Sj;PvG%H|1K^}|q`hiXV9^oR zpuLnJNPCG9qP@fl)L!+xk@l()O*VLd_NwXBQejbRBkd(#koFQIRC|dRti8ku(q3YO zYA^9n20z^Dc@W$xvr%Q#2m!Zx8dRBJ?WH6k+RIt~CA|UKOA(E=*U$B9ub&g5y?(yX zUjKPu`9igq5;fLd;)ZH(0MDUkqLo77%4bpV{I_Nq~VMGw+mN)V*I#0b$| zVg+iidfrHT)rck=JV1NZbZV(kq6Q69S5*@;c!f48yGfr6%szF*pMG6u~j6i{O-h@D62MHubh(KaB5=d1J5=e|d zfpp%4Kw<|8Bu0opVl@&-)wc2e$A7kg-(+wQ!B))?e&$hBGBDrIR!#%&{FGR56^p3Y z`QThR0*!N3*}=Jna7C`XPQkfyR^wb%c5tpCT#+kBz~gc|J(ahkR(ND0jvWiT@w*P| z_==e>r8+@LsDMF9c-}!th!d2g@dS&;(GWQO5m09gX`WD>U!*0H>N=w_pw)#-#h}#} z&v%2y%XIG6;;1gIeFe0-w3e1h(sCnm-@=QDaEX?Dilwy@E%6jfYo+m^#nM`77HF}w zR=NW;Esuob%T(!lqMya#98NN6J3_IvRyqt?EUneib+oJ$PDe{cJ9CohNLCj?mm(BP zYjspFv9wnAYtUk8t?qfyVri}JL(u2L!|`RFVvbc$brnl%^?gB$rM3D|pnJl@>8Ijg zB?|Oh94_J{)BgftFG2qi;l+afGs512-i7cIL7zY0+D7ih6$(lifr7CfAZmH?0BBr`pXklG2(vJX}Hn4pfkL(-Gb*XfMKB1pR*q32Qhr>F_j8GV_xNZx!^*2@NM_4B4R}hv9 z`a^_tJzU~m97u=Y62HU2%}HiSMEFxdQ(yN8nsk{kg0oQBDmlq4)IL>$rn=rHXi7U* z(2EdO3;LG`NhjbeRL*&vWR@)m=L?$JdV!z`&pQNt4B?#$os^8QM$i`^^a*+}!i9n+ zeZNc4q%U_1ny{oY!6i|-sJ-Emmg7K}!X^D4hkH56l1L{P3;NFp?-TS6gi8c{5aCim ze~WOLLMIy#QoeA>)b1-d$&v>kTq)=rgk)dflBt~cbCM;KUOXUZ!t7^)rt4M<`cZ^G z7xaq=Ne|$X|AGTy4VU~W4r@5clD|RtD~0YrW&5?D(-1x=Xe+{p1WkDUM$n@Wl1+i@ za3cTTZeLgeR31uEPsBJjO}Z;XQ=E6ZC%&QaZQ}U*SOd z0hdDMT+d0C(jDOwg6@xy`XpS+)i`Y6BumLd_>`b;MfkL!N#CClv=8A%K@;Aa1Wo0A zR?vSyNFFZbuQ>dXlPu*EgwF~3bA+THaH%>RsBUnn=i)%^0hf9)4li+%r4C2O?VpsB8#1x;zU2zndBHw0aW@J&GEO;eABPV)$i|H*jw9*59KV>q?d#R>P1Ydh{s$QT@ zWI00hqCHhrt4lKwQ1v2E!PLry7VZZ|?%|Kz+ICyKMc3N+(S{edP zA%NjgQ|z;cN6#2y%c--c(ppW!B9O>*NwlMyy7ySvgyAD5P8yvvani(A>sYkk8}kWy zP5#6`d|6r;lc22Dr@LibZu)dDUe{N~l}B6`)6XE)H%CNb?(|06_;k0&IkU7nQqFWC zfdJ1hlQ2a^vsBuTBTE$0$Rz7y+Hi?9Z;yh(Wz5%0w{RggvbQ=Sue z`4lN$etj8o^B~o1tRcEjr z6nQfsYK1eo^?uN@YpWFiFIFowbNgw3n}~g{ zl^a#m<($f0iSAATFV4lzCCZ>l&6ua8Z^Xihdzq0XCDATK>J~_9(%`Uz@+#nZ*~Mb(IzATnBg zqFqn%7;sd@k}jS!1-RJb^%TXEM=aNp9CGPJ^rc#bZtBLce$JS_v@-9BlkGnZ3Z9B~{zDL>COW404> z9Zy;(Pl^$!fMh;ZPL$Sx9*A9%!*tYuJj0Q^KJLN@BM3hBY9%>E5nCu;y>7s*s3el* zX*D^K)w)&2#=L#J&ROBwueJDG4(*i|!Hp{QVxL@_$BC)DBB$4j&j2;c`H;H3jlsPo zWiz6Ifc@~}9*1}K`6s=D2#M^MO80%vL0&T1xh-JVSyv3U{G;^%qaye}@ z)<3Jq;9**))yLp*%ZY3<{P*0rVm58{?tj8;&&+iAh=qwWlE#YK8iU3l#-b$LPL@=bN1W(x zoOKW(wXXG-}-Mxp|u2 zbm|zsY;(3h7qGpcK|p4Z}*6S+eE z=e4-yM1CM>ML7`#wVIr^T3-|E^I8krCr#D2h^X=BLh-y7Mi41(6sJ6Q#QMAzubg(a z9wp}IwU*)LL)-E8X@fBlmlN@q0r>oUE3A9b)}ut}kWEAvfEUYHGGOg_%M^~}w6pan zQ%Wl?A7ZV}92R~NL7H-JZvyxLmj51wtOD46vem~Bam$Hu3=y}S$Tz9h!!5=+-+1d2 z>%F~&a+-f{49n(Oq;@wV)TB4S(2_KT8MGYx^55YT!;OfYGQ+A#vu2ef_=O9Sf}OXSNCt@%|g ze1@TKIrI5G?0ao0OpkB5THx0kVkv(+Of$S4)=8^UGY~N3H9~V{FR!>vJlq%Hr7>B2bJ*YY3d#2sGL0&g?2_rEdWOsp1;tTT}Wh z`pgx+F{KT9TYzOdyoAgI-9i!Q@TciTJ8a{YR7ur~ESgRwy~vxCtJ#c}AlbgI3D65Y zv#393$Nn;5SA@2&`fIh(5C}vd%+5-IN!m9}V@WuyOVVx+?YpI8tDTW0oMGGYc5I8E zEC4*IEk2b?a>kAyGc$cwX~b=8CybmZeh%V{vbePAX3qk9f^GEJ^x5u+pMh!(Ic>3B zF5%YVmuO8x6pkzLrT1}eIT39eTN2LYw72bY%Ok3FIL!V0m~o5JE23>J7A>9%)D}yw zAx4UCU4|dJXaqePV99mFo#9w(*aI%7tv)f_26mL!XSO@y9(1jS+YkK7WO^-wUsdE! zqOSsnem37v~QQluRNV3lOI~yJ*`pM}VnCQG_kGfpN}z#Uh-`X#<;nI@!QjaEX>i z(fvrf`>+eo^5^y@Hd~2?suHhl&m0?0fvE~`(xx^e@?&AcwmV_8Almqu>c;C+6yvr# zam$HZA^&q>+;Sp6NVTGzh=N*8&gu4?+rsu~{&Q{^L8Q1*9M@}itk1de%8BtgH;kBQ z{nUrLD)ou+IX7-Ou|DU95fr6u{Pk&rF%ict;s%b|_ROKpRRG56G?vu1XAW*5n>bC6 z@;u!dpQk5L>FwxwI)-hn&r!xi!I+1h`S0yvHZP54(5yV=Ufl8?X#N=E5{96D@M97UOn(3b5%~Hp4xhHVjX*h=|GXd zK%Bom+V)5N2D>~dlpOU5lH;t;Q4EE&I?h=Tn0_ITx-Zu598tWO#gR2>tA z>T2M5ytw%S~BV%^qZH4LHs*3a?S9ylp<0`Hys`O^eE}oMyIDK#i z7KnK>3f-j{?WyLXF4zxBb4?(?f0-lroYpqnY62yVr6CXp0)d?@j%>6`&u|22d#!k# zuJv}4L}9QqrRDnk>qq8|P9N&BJ(XQaZtl%S0g3nD=>7$FH?mVSJ7RGHld2m zMNgN&^dhT<7HObDrC>CjP6KK+#VsJEhXXlN8>L85+FH5Ba-(g0y4&NNSy~;Mw{ouJ z3=zR~G?9#^uQ(gIDal7SDfKp{rK~Pl6*%+J;k$0zo5I9D^U=gC8>Npn)8<1ORZdJZ zA92fx{MLz0vDyl~MTKSbtxc*xGo26Vd404MKg~q0ZGM$sfKs*9OinX@LDMpYLw%b0 z3z`kN3u~a;0rP$ezfUu`u1$(vNfyUj7etFv;iGLY(-Ve-~!T=0<6il&G5@ zoTKCmK9BqC^cz-%R*9zLR0sO*z@fvm;9I_b z8;*@99U5+EP35ccVnN`v_&AA<&zA6c2DE9U2?uSA5lf?LX*2{h1T+NNB?4_b#%Pxi z##AXjx=K)H4dNbY{rJO-;1@DfA@Yr9IOzRS+|`WgMWxeI;jFZdu6CEXJT3c#StDRI#uIhID(E33vuwqs)k#Fp8&2Q;iYX3TFOz)Tq@!6C4FMZlqHN)2?RYWPjch+ao z&%Hrwqk!;`olP9sLKya=|h>y0dd-xDI&O3KT#McEG}at5))W+4&1)wAZ7R?G?iUaDhT zd`A&Qkw)V8qOp`a&NR~4@ndGD&nk`h?T!f}CyMXQh6g56IkFHr!8Uqq`fT^CNas^3(c#CHRV^V_SjyshSPN-E3aQMzby{QF_gMn`L^wt|OU zp(17#F;e8g>r)<4ts|5`iHccH6zeq6IWMBDXz_G$TYMiJVx+d%-H7B+oze@dC7a33m6j77Iu`^XSUlJ$&j`hZu3grAyo`IjTbkv2iS@}e^TUU z!k%q$&n-Y%+Txx|a`N(WMKomoxV}Y1jq97(`7?~5$lZd+ zDsp1|7IVCEV*DOp7%|cMkI#==jNf98TTbMiS)tc)wU56(Z7|m7df<&X#N+xB@1ZT8 zDGE@?ws@u>InCTLHH^j~qbRPKJEpc+4i%#F>YYz7^E!u-Paru)r&Zg25U+0A@zZ@HW{dTwu* zHY4(5VZ-xUnAV9ley0A|tmoXg16!KK~6h*o{r(m zE$1j>B0@O4^WWR6Glw;mDw<8FYnnCoid#;MW3Ra7L>v+|j9KHC6H!pBwNJ4#z6Bml zDMtv8>p@8fGvqYh`ZRy+6{dkg%GJ~O%#U`ouW)id#;s zW3MoRnre^$p1(exsP+J+GQRa^95;_M!m1d?NQl!b21NnoY%bYmbJ%625#QSftf^>O z1Br^KyJpOeghBp{+3HBL#d0veRx&W3J|h@*f~|YIn_tVhDK`?X6c^Bj3PjN^Xd*r@ zcYJf!-?Us#^Va#aT#hX_>hn#j;MN}J3nQD_hA|PfP7}|C(e6>Ce%#g;#kgK2ZaI-F z%3Roa>`1*mDHPl7-vJa z%9to}{?XQIM~kQ2+uOPes#AKT1^tL`jr$Lm1Mn#Pp&aP}x%A@O%OZ^?Tdh7()?KuU z9PLZx)TCsA2IhlENf~jN7}&9ff2mxdm1BqcIkkc3M7PCniV7g7E#8w-eaOzSD7~ol z#tGWEhcH)N?Bm5Be%!;L2kF|lM{OD&Mr$7*Qt@#@I~w;e6a65I|0K&81cr8U)+0dQ z!zeGrcW2LLr$3u3uhsoDKtTI0&1ujGS`khQ1o%MZv?z&I2n_)Z0S$p42LbK7G(QgR zr;$|cyELuS7}|GfS_j87JQr2oOESG6% z+Ajhnm6h({85y*{VY;`fBE85}p5gYmimQq$y&1EM=VS~{ADn>|4Bm`FcWFjD!~rwq z+P9icuXfeG(r|jUN1K->@<; zX1PB9`jL5~(?>hPJg8+6bV$e#YDlNea@uNCWH?81<{OLPS)W~wGT*Kopl>cA-A5R_ocIosH zn;$tYAKkfay8IHtjqFX2nFL%~&`{wmi;IEy&MLv4;*0r*{Mt<#R z_Rc#q4u9%8ewQq}zLq!1E3c4cx4b|eA@`JDkY79X(;E5d4JS_?MYi(1qsQgW)8v{X zC%^qy|G&ucyYeadot-=7>Z2#Wo3>May{CNV=IM~P`^B$b8(JgRzjgHMqvPexvW)WN zt*zg@PCh9ouaq|)ljX0Hb{?0%{r;jA!0;NdFQ;% zn~z+z^XQ15$|sNJC;eCMA)oyInw|AKdw(lG-*sD!{Js4B$<+Ft$Jfcnzgf0Tp1bC# zeDv{+HJg9_^>^QYuvR{`{ks$2zq@(hh=0gO>-(;h<=f@sUnTa;m+R#Eqpz>s_}Y%6 z$4^XfZJz#weDdTy_4SnBkp=Rp`a`n(?c=gMeG1BBI)0)2(2Gase=y?U>t6X4xkLTV zq$BbU`R)hhniKLT`>)-&x#t1-u)MJT#hSy%zy5ZFymRN*^1n|0{MMQ~%TInMU$C)8 zK6dfmyPW?f? zf9-pC82m$f>Z9_pjDs83W}P}F4_LcxXYKLt zUU?7Azg3oxjq&2XWx_yyOjV-|yvS#BAa)lhiLf`{BJpGixXG3LWY zrR+v#XHzUSJ=~TBbv#)rV+BN5W*^E#U`S16Kc#bWmIX_)EO!hj;3srm(_;tG2)7Cz z|K%9TWj>!^QDB)0xxe=_Hn6AI)9guHcffMTz;48c+${_!pZVEdGoCUu*$yS4r_WnmWKFromJHdA0 zI%~$sbSkSMza#q}#b?wUdVw?)eZ)gWRk!OMG$b#u{%HN9BJzjOJ=R@})f;IF^_5taqH*5uW` zaX9zAH4{h3#he%312OhQ61#|9%r2SLhh1T*>D4KaAT!ht9J?j8=;$NO;KEm0v%-56B-8_rcLhgyR z$60?mU;Jy}QPV5yl~?}#A;R?|CM=Px|S3{>CLlf6pl z{K9(H57!;`tzYIh%|J3;*Aaw+Wr3{J*POJ3<$!PAa0lCH zskxXPtjSnH`9V%E3W4)_1dpxEU_%gEFF>ronaZ7Yq73IX7a!QUlInf2W4z4U$2?~W z&Qae*%YFREAeL+Bhy0cWuinO{;JS<6SvRnpMRMoVT!a>7=A^Z#SIxz>Ws6t=!tGm@G3vyYTd%+rSJY z7yA4>&e=P6vyl|`O<>({-QiR@gYQ-DN@A0Ue@p!#^liw^XH*{P5wa zCR|st;f_K5z)$P>=|^1dweq3uI5(_Z%PfdL{OeQs4yx~j+20-lpXJGHG58<8yMZl7 z_;${$bDjo!ob&S%E96?2C;HB#bRA}qzM&tej~HlxUM$8=ATrr zbMjZSBubz9zeBepFywEe{&`8sWhVxFp|tOV)f9ivQsf4{FP9}F%$$Ec*Q>Em`+-xtqGnYzx@tzd^sKeUm%;vT)9NuVq{#A390a z5B-R8HL_lJ&SArl?}u~bUz8C)bt6lsaK3!#E(8YX>l#ZN=gx@b-RFmQF|U`*jIVr9EasdR*h) zt+O&|x5?h6AJb19P$$_t`;2=1mK6Irlfg(vlBdwnX>*xjug>1Nqz;E2d!Y%5yFgjz zu%x>U24*)}cQfm5oxNk)0m;Yy~zpQsyf|ubISHG^Db#f;zHe+&XAG3P)fVufKFm- zP|_}YpoRtsNp~a}uASJJgk{V$cR`(@OViWsA2R6nNzy@7tLt;SbW(5RZf3W3J;0JX9%ecHSD||S zANw7(f`mrfuLHZzgtW}w&2X14k+(v()y(qnQ$VO&CnMAEO19&2FxbRySV+LfFLYaX9dD{it z-3Qd^%`-kmo`!BG4ieHGdA85(l`MZk;ktLi1uvoHx)~1XOhb=>>OKIO`z5V@6U}bW zv5DQw_E8fgF4G-D6PTz8?A;daO~n2#xDF8mpb9`mG>G{(b!L0_b>?U9OH0%3OR#rG z^7Cw&yN%{&|6X8_c3VbHeV^I8Z#O^t%Jx0RA>)}o70l~q96?S8kTmmAq};WhQgS9t zqxL>W>GaxBLqJ17LqJ17LqJ17LqJ17LqJ17LqJ17L*PtBKngCnW$I&F1ZO+VaCJY3 zIRi`u+lzOlTBhE^Ml*@dE#O~+`5$I4n_AEGd-RwaDc;A19AdrpvmqvqsY$pM|cyhojs)UO9kzLXm7wU{1=n9@8T?FWSvm9cD!ArMY}Yq`XXbl23Fa zC{XH!_c^GS-CN=>k7eqkZo79imFIn(-Fp}lHy`(=@_4t<#7#p{?!vr{cL&~l(7esf ziw^1ZeQSyO_yCov(z?$`K^A+-KTmVBGEaka49WIllE%Pi&GNfr*34F7>Hck+GL4p> zdBD)^i+vaBc6UNTE@63ne4Yc#u5^?ped^ye(1o!rHjOzSJl=!ebQ&O1YOmp zI$h@_pYkb2KJmrdav`;)0v>X&qY1{UW4tYIGh=qkpv-Pfym?VApV1=lF~xX&Pt0iD z)`NBXY%7Y}y^9gbcH2E#2R^gt1I*pICo6ifnCpeYt_#+SiKG{EUuE{{s}0gFt`|T;(TnOdK*sfg zec)UVy|8Bvcv|R10s8Rgte>J6ofku3b(y973!xX6AZ;~uHK7*}y-#PqW9lyHnN83O z_aY;odcNVnuEb}clWsm2iYEL_XTKfOq59tINHt1MJZdnrtRacJnEfWqrJQ{_4ihOhR&2gdLnh0fX+0p2QwXa^WMeA zzekLz#y@vGqA>E_1ETZUBPbqSpq#${2s6FGuh%2_f?{TxpQgm;()A18W@%q;)hQQT zSEuXtWgnE4pLU?^?ijEKy$AK5H?&rFAy77$&)Kz(;GCC3szuYqD6Mp%gudgcWcGQl z60G~u?DL?XFZ&w$_B)7s>>%|}`@GzGmiZTiA7cuAcM@64BsVhhvaC8LJ%=8`y8REe zkcMsDmkLmseSQwR?zfr74-O2<+-3H$>z*IVM&6Zt$ZVhg6ib_*n@ZBJDn`21TzZ0i z{sQBYl*2=I8!X)qZz7qqa}QCYUwBAAdH!=l_9ftV6Zip%Ebo_0BxHUavoA2H3+Xcd1kQ`!Q))T!$yNKz_60de)`GckWlhH4Ev681`B03qD1jvV7(4`lA=_U`6f%-{RQ`I0XKPDdx|mpF_yox%n4mF8LwqT?XSopV_J{!Qjhh1C$7 z?_9_75A;5ikY+4qj?TH)?xKqiblh;wV)L^W) zefM8V+1hUz*UK^Jedf44E7>vVh-vD7#$Acp4BD6I_(>+!CdI(O-+SKJy*kHWYhA~G zjUPuQa(P#JU$(4xzm(LMZZEGL(oI=Dbhp*GU&oF3^c8D#rjKoG+7(A6+~Iejz3*}i zF0M;Sdh=DK@F=#Ffi^8RFS4?J?yh<>sK6$79T@uyt6=__tl!8?NkDA4qKMK+6`$t z58Q<5PGq@c5F57y6FU10jwRj95}0+&+<_9Tn!$9GpoBS=WFkR=V~Gv&wq)+c{Q3WO zsF~;~%{ruUBaP0nWN{JZ6lrR2#@kAgbU)yQ-PP z3M{rbR-oATD8)8AR`f$h*v_PjJHOViA?p<=_X;<3spKtgGL+h^a1cgN^c|KBYYqgV zGNgbdA2K*rpv=(a73(eiU+b5H`c3_GBf8MDWUf4QuO{X%k~2FA>%;w>mi?~A(~0% zXIGan$Nl}7>5a)KD-YwkiL?iMy~W*#uqCCq0D zRKm=+OfYuLzQRyqa{R2C8FW6B-GwX@~<(CS?u$f`BePBT9;P9<9?+1#yp~1B3M=%c9v> z1r*K35)Sb?&Bn%y;F*2BW@Cfej|?pN?wqUH-ym=TPY5J!j2nnZ%V^F1whXuSa@ARH zfBBFWo0!bvEh^+CgoREx~nR!W6BC=d6{G@ESgg|%jr>LZMJM{ zwrhOFOjkNKxAs=DY*(>!th2(JS6Eas5Sv?3f}B!sq1WpypHb%YD4elnt{H`8)_iwm zX?f{9tRuzHI@_9CS}{jWpO}*ak^mwsdx0NcW@}`tlOr%Py z*;Ho^!x^tNljtP4y2Ke>UF1YnT@_w66XFJg06WC5RzaW?Hc=}AQKgxocn#}jP6n@` zqCkWho>>BZ2c!$AGVzOlMd^d;&WOLE59?t*w<#2G&9CX2ATUsL$hZgBbZi0^C{Xc( zxF#h8o(k|EVx7!MR38;4@P31Q(ufy?RvC2AQ2a2nnmbWkBix>Tr5obcs`0@HLUok* zb&zMF>jjqixaJYH41OHBx-VK~DDAL;NJDAncFt;pLrG<&dw531?84g$)4f#{=|!&c z40jnclre9{?BY2YgVP6R6uXMN8HMiBcKir#8Hatq^yvKRlQm&494S>J zTdg)|meWjxRn*@a)ZM(5p3;h0))J>DjtSV)tfoyD=YsV^1`Qfy9aCCS4ExMY@Yz#& zf<(PDmo|-0EZl%Qb1calr=hO-13MBxZ)XsgsP_+_S5`XXG#ZwlMn(C7TjKP}K0q(9 zVHxzoT`}v&XbW*?KE1&CF-oJ|nFZ?FomsmxlPc)`(eiG1Cfu1@Ub}`XJFvOcxSv~x zWzMmBoMp~JZ|jX)e~i09L(O8PUOaZ>FOt0HhF-kFWp`f^P7WIU+*B6EwO zq?fgee&Jmbd-2=<_m+O)Z$TWcds@HnBM_^9@q7JUKb6=ETW-qN-{s+)C-rxERZb;1 zPyg|he&IU0FN;yS_ROrz8EDVUXX!ID>xZ4WJF#-i6a<@^tHHPUz^6IJ04Ht1k~ZR3 z1TaAwvvBAKe#q0eu>^C4B7gmXhHKLBZ3BbIKaih@^peOwkT3PawHCL>Ig^>Xo&YU+ zutYoK4^sHsp8?I6pdfk%=m`q{fvuqR@Nm*oICN6@AN?0JcBm(pbTtm?3SWN&bQ*EN zpN)fA;eSkN@P!6)Nrac+9~c3;BXMyVeUafZCH<}IK=*)$>z9IqwY<_xc#5(UzbkMs z+R7{4A$$vAm0Vs~<_b=4;blX5!Z{$H3sDABZh7S_rk1&> zbc|8k!=(~_Llpj}`#=MCa(_?8zVtpt?yMtV@Gny^HV^$vFWT!h(g|t-uNpvNivJ`RK(6n^)+K#y1WsU-+S{&y1w69j(&LdBjK)_x26 zI>EmOp`y=*cZij%@Ov*s__mNs^~zKDeSQsmx+&#+eJgm^EBu|%Q~h=&{V2jGU*V^b zolxwRaTb03!KU!%qJ4FWT%&bAcsD5gG{U==l21?4or!{9j8N3;)XzXeZ^)%pZywKv>BFZ!?0 z!}>?SfWDIZa$AEPSVL`iGiS4-d(ibulzQns;N8Oc(v_VX?7(d=fHzf1f5)AEJ77Hj z4)CTa{4~N-;Qx7F(6=i53$8(^=#?>*bauMn6D{z+p%!!jJlqA;Zc6_(Jo+H$LgJ!% zhWYJ)aT@iN8Jx{7p*9kBV8dgeixmC^2N4Q8koG!g(hs;jz);u$!vi&7I5}H#%xbU$ zSFHwbrox~0jo%I!-uo+fNJp;jQ@_y-oW+giGyMXjMwi6 zjeZU%%|P3!cAzu?oH+`AAo`zb2Uh_GJ|K$EV(*{{ao zU8TQ#N45w02PX|eI}1BtbP%sn;k%)?svYQm8+cWm&-(rWVY-sf&k0Y8Ll)kz8|=XB zr@@)a`K)g(Ld6ak-aG)B`Y>FdpW-0uHT!eWWK$^k76)MmvKN6S8wA&n`jn{Ge+h^A z#AVX3Ivf={U>rz!l6?gK3M!Xk2MoVY0*&@)aKaAg8#oFj>_7njLedA-4g~O1-vnQ^ z0|9(BA3pvG;Ll4#jHuU2YA^IpIH^j8*~n4)_53HnsZsdzvi)|zlsODMpThUSo~d?V z^OxW)RQS(t_S*sDCbR{+OX0t=({Be%`Gm>coX_T6hEU-Db$`%=HQba@I0!qi^;OXS zM_hF8cX1GQK)w|8J;X)xT#JL!e@$0k1o~d$GHJw5a8Skr#%)W$S*-A{s70vQ0ppVc zLEp#uY#!MW*mhbxGxbj`>a>QqOuFG*92GlY{Bt4bUlE&0 z|K5g!G9EDANp=6V!vAD{gB^GrV^>CXL()ttk75Umi^#q`L~JJg_r(S~u!#EUZxnte zwXb3aOgbt9$)J45{weh`4SfnU+8a*FB>h$Tiz)3j(CgsAA3PUFQLj(QPCi0xCS_fP zqhbe4w^5qk5*t6Dd<#d#4j6y64)mk&a0`dxkcQ_zvZv4u;iO#y(I1s@WB)s;k37a> zq>&@gzY4e>_J0>xvEM2Dz1R5D59ma?@Oydse#-GwhD3BQcJN-{e3nXjC(5&c>;Uu?PS?FiEl-VH`!YB$Df~;( z?rM3mE&=@~g@0MshVnc>xtUr^tzbaK4oF8A5^2`8R-m zL-3Cy?7?x9denn{Q{j)l9ihPan;SvD#reANClSt2aNhSn&~GdJ3DZ&hLkj2C$zdd1#KcTpbO6n-JfrKbPu0PslXkbdS({`Bmhq-!54{L&(SdTH+U;E^pu`tq;+ M>816Q&qu`m|CUUtjQ{`u diff --git a/src/mac/listbox.cpp b/src/mac/listbox.cpp index 502394e18a..f6c1403b1c 100644 --- a/src/mac/listbox.cpp +++ b/src/mac/listbox.cpp @@ -21,7 +21,7 @@ #include "wx/utils.h" #ifndef __DARWIN__ - #include "extldef.h" +// #include "extldef.h" #endif #if !USE_SHARED_LIBRARY @@ -34,6 +34,96 @@ END_EVENT_TABLE() #include "wx/mac/uma.h" + +typedef struct { + unsigned short instruction; + void (*function)(); +} ldefRec, *ldefPtr, **ldefHandle; + +extern "C" +{ +static pascal void wxMacListDefinition( short message, Boolean isSelected, Rect *drawRect, + Cell cell, short dataOffset, short dataLength, + ListHandle listHandle ) ; +} + +static pascal void wxMacListDefinition( short message, Boolean isSelected, Rect *drawRect, + Cell cell, short dataOffset, short dataLength, + ListHandle listHandle ) +{ + FontInfo fontInfo; + GrafPtr savePort; + GrafPtr grafPtr; + RgnHandle savedClipRegion; + SInt32 savedPenMode; + wxListBox* list; + GetPort(&savePort); + SetPort((**listHandle).port); + grafPtr = (**listHandle).port ; + // typecast our refCon + list = (wxListBox*) GetControlReference( (ControlHandle) GetListRefCon(listHandle) ); + + // Calculate the cell rect. + + switch( message ) { + case lInitMsg: + break; + + case lCloseMsg: + break; + + case lDrawMsg: + { + const wxString text = list->m_stringArray[cell.v] ; + + // Save the current clip region, and set the clip region to the area we are about + // to draw. + + savedClipRegion = NewRgn(); + GetClip( savedClipRegion ); + ClipRect( drawRect ); + EraseRect( drawRect ); + + + MoveTo(drawRect->left + 4 , drawRect->top + 10 ); + ::TextFont( kFontIDMonaco ) ; + ::TextSize( 9 ); + ::TextFace( 0 ) ; + + DrawText(text, 0 , text.Length()); + // If the cell is hilited, do the hilite now. Paint the cell contents with the + // appropriate QuickDraw transform mode. + + if( isSelected ) { + savedPenMode = GetPortPenMode( grafPtr ); + SetPortPenMode( grafPtr, hilitetransfermode ); + PaintRect( drawRect ); + SetPortPenMode( grafPtr, savedPenMode ); + } + + // Restore the saved clip region. + + SetClip( savedClipRegion ); + DisposeRgn( savedClipRegion ); + } + break; + case lHiliteMsg: + + // Hilite or unhilite the cell. Paint the cell contents with the + // appropriate QuickDraw transform mode. + + GetPort( &grafPtr ); + savedPenMode = GetPortPenMode( grafPtr ); + SetPortPenMode( grafPtr, hilitetransfermode ); + PaintRect( drawRect ); + SetPortPenMode( grafPtr, savedPenMode ); + break; + default : + break ; + } + SetPort(savePort); +} + extern "C" void MacDrawStringCell(Rect *cellRect, Cell lCell, ListHandle theList, long refCon) ; const short kwxMacListWithVerticalScrollbar = 128 ; @@ -49,6 +139,8 @@ wxListBox::wxListBox() m_macList = NULL ; } +static ListDefUPP macListDefUPP = NULL ; + bool wxListBox::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, @@ -65,12 +157,16 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, MacPreControlCreate( parent , id , "" , pos , size ,style, validator , name , &bounds , title ) ; -#if TARGET_CARBON ListDefSpec listDef; - OptionBits options; + listDef.defType = kListDefUserProcType; + if ( macListDefUPP == NULL ) + { + macListDefUPP = NewListDefUPP( wxMacListDefinition ); + } + listDef.u.userProc = macListDefUPP ; +#if TARGET_CARBON Size asize; - listDef.defType = kListDefStandardTextType; CreateListBoxControl( parent->GetMacRootWindow(), &bounds, false, 0, 1, false, true, 14, 14, false, &listDef, &m_macControl ); @@ -81,7 +177,32 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, SetControlReference(m_macControl, (long) this); SetControlVisibility(m_macControl, false, false); - options = 0; +#else + long result ; + + m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , + kwxMacListWithVerticalScrollbar , 0 , 0, + kControlListBoxProc , (long) this ) ; + ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , + sizeof( ListHandle ) , (char*) &m_macList , &result ) ; + + HLock( (Handle) m_macList ) ; + ldefHandle ldef ; + ldef = (ldefHandle) NewHandle( sizeof(ldefRec) ) ; + if ( (**m_macList).listDefProc != NULL ) + { + (**ldef).instruction = 0x4EF9; /* JMP instruction */ + (**ldef).function = (void(*)()) listDef.u.userProc; + (**m_macList).listDefProc = (Handle) ldef ; + } + + Point pt = (**m_macList).cellSize ; + pt.v = 14 ; + LCellSize( pt , m_macList ) ; + + LAddColumn( 1 , 0 , m_macList ) ; +#endif + OptionBits options = 0; if ( style & wxLB_MULTIPLE ) { options += lNoExtend ; @@ -95,52 +216,12 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id, options = lOnlyOne ; } SetListSelectionFlags(m_macList, options); - -#else - long result ; - - m_macControl = ::NewControl( parent->GetMacRootWindow() , &bounds , title , false , - kwxMacListWithVerticalScrollbar , 0 , 0, - kControlListBoxProc , (long) this ) ; - ::GetControlData( m_macControl , kControlNoPart , kControlListBoxListHandleTag , - sizeof( ListHandle ) , (char*) &m_macList , &result ) ; - - HLock( (Handle) m_macList ) ; - NewExtLDEFInfo( m_macList , MacDrawStringCell , (long) this ) ; - - (**m_macList).selFlags = 0 ; - if ( style & wxLB_MULTIPLE ) - { - (**m_macList).selFlags += lNoExtend ; - } - else if ( style & wxLB_EXTENDED ) - { - (**m_macList).selFlags += lExtendDrag ; - } - else - { - (**m_macList).selFlags = lOnlyOne ; - } - - Point pt = (**m_macList).cellSize ; - pt.v = 14 ; - LCellSize( pt , m_macList ) ; - - LAddColumn( 1 , 0 , m_macList ) ; - - ControlFontStyleRec controlstyle ; - controlstyle.flags = kControlUseFontMask + kControlUseSizeMask ; - //controlstyle.font = kControlFontSmallSystemFont ; - controlstyle.font = kFontIDMonaco ; - controlstyle.size = 9 ; - //::UMASetControlFontStyle( m_macControl , &controlstyle ) ; -#endif MacPostControlCreate() ; for ( int i = 0 ; i < n ; i++ ) { - Append( choices[i] ) ; + Append( choices[i] ) ; } LSetDrawingMode( true , m_macList ) ; @@ -154,7 +235,8 @@ wxListBox::~wxListBox() if ( m_macList ) { #if !TARGET_CARBON - DisposeExtLDEFInfo( m_macList ) ; + DisposeHandle( (**m_macList).listDefProc ) ; + (**m_macList).listDefProc = NULL ; #endif m_macList = NULL ; } @@ -559,7 +641,7 @@ void wxListBox::MacInsert( int n , const char * text) Cell cell = { 0 , 0 } ; cell.v = n ; LAddRow( 1 , cell.v , m_macList ) ; - LSetCell(text, strlen(text), cell, m_macList); +// LSetCell(text, strlen(text), cell, m_macList); Refresh(); } @@ -568,7 +650,7 @@ void wxListBox::MacAppend( const char * text) Cell cell = { 0 , 0 } ; cell.v = (**m_macList).dataBounds.bottom ; LAddRow( 1 , cell.v , m_macList ) ; - LSetCell(text, strlen(text), cell, m_macList); + // LSetCell(text, strlen(text), cell, m_macList); Refresh(); } @@ -637,7 +719,7 @@ void wxListBox::MacSet( int n , const char * text ) // so we just have to redraw Cell cell = { 0 , 0 } ; cell.v = n ; - LSetCell(text, strlen(text), cell, m_macList); +// LSetCell(text, strlen(text), cell, m_macList); Refresh(); }