switching from native rtti to wxrtti
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -487,12 +487,13 @@ Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint& pos , const wxS
|
||||
|
||||
ControlActionUPP GetwxMacLiveScrollbarActionProc();
|
||||
|
||||
class wxMacControl
|
||||
class wxMacControl : public wxObject
|
||||
{
|
||||
public :
|
||||
wxMacControl( wxWindow* peer , bool isRootControl = false );
|
||||
wxMacControl( wxWindow* peer , ControlRef control );
|
||||
wxMacControl( wxWindow* peer , WXWidget control );
|
||||
wxMacControl() ;
|
||||
virtual ~wxMacControl();
|
||||
|
||||
void Init();
|
||||
@@ -656,6 +657,7 @@ protected :
|
||||
wxWindow* m_peer;
|
||||
bool m_needsFocusRect;
|
||||
bool m_isRootControl;
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacControl)
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
@@ -669,6 +671,7 @@ class wxMacDataBrowserControl : public wxMacControl
|
||||
{
|
||||
public :
|
||||
wxMacDataBrowserControl( wxWindow* peer, const wxPoint& pos, const wxSize& size, long style);
|
||||
wxMacDataBrowserControl() {}
|
||||
|
||||
OSStatus SetCallbacks( const DataBrowserCallbacks *callbacks );
|
||||
|
||||
@@ -793,6 +796,7 @@ protected :
|
||||
virtual Boolean CompareItems(DataBrowserItemID itemOneID,
|
||||
DataBrowserItemID itemTwoID,
|
||||
DataBrowserPropertyID sortProperty) = 0;
|
||||
DECLARE_ABSTRACT_CLASS(wxMacDataBrowserControl)
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
@@ -903,7 +907,7 @@ class wxMacDataItemBrowserControl : public wxMacDataBrowserControl, public wxMac
|
||||
{
|
||||
public :
|
||||
wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style);
|
||||
|
||||
wxMacDataItemBrowserControl() {}
|
||||
// create a list item (can be a subclass of wxMacListBoxItem)
|
||||
|
||||
virtual wxMacDataItem* CreateItem();
|
||||
@@ -1030,6 +1034,7 @@ protected:
|
||||
private :
|
||||
|
||||
bool m_suppressSelection;
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataItemBrowserControl)
|
||||
};
|
||||
|
||||
class wxMacDataItemBrowserSelectionSuppressor
|
||||
@@ -1066,6 +1071,7 @@ class wxMacDataBrowserListControl : public wxMacDataItemBrowserControl
|
||||
{
|
||||
public:
|
||||
wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style );
|
||||
wxMacDataBrowserListControl() {}
|
||||
virtual ~wxMacDataBrowserListControl();
|
||||
|
||||
virtual wxMacDataItem* CreateItem();
|
||||
@@ -1074,6 +1080,7 @@ public:
|
||||
|
||||
wxWindow * GetPeer() const;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListControl)
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
|
@@ -37,14 +37,18 @@ class wxMacDataBrowserCheckListControl : public wxMacDataBrowserListControl , pu
|
||||
{
|
||||
public:
|
||||
wxMacDataBrowserCheckListControl( wxListBox *peer, const wxPoint& pos, const wxSize& size, long style );
|
||||
wxMacDataBrowserCheckListControl() {}
|
||||
virtual ~wxMacDataBrowserCheckListControl();
|
||||
|
||||
virtual wxMacDataItem* CreateItem();
|
||||
|
||||
virtual bool MacIsChecked(unsigned int n) const;
|
||||
virtual void MacCheck(unsigned int n, bool bCheck = true);
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserCheckListControl)
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxMacDataBrowserCheckListControl , wxMacDataBrowserListControl )
|
||||
|
||||
void wxCheckListBox::Init()
|
||||
{
|
||||
}
|
||||
@@ -124,7 +128,8 @@ void wxCheckListBox::Check(unsigned int item, bool check)
|
||||
|
||||
wxMacCheckListControl* wxCheckListBox::GetPeer() const
|
||||
{
|
||||
return dynamic_cast<wxMacCheckListControl*>(m_peer);
|
||||
wxMacDataBrowserCheckListControl *lb = wxDynamicCast(m_peer,wxMacDataBrowserCheckListControl);
|
||||
return lb ? wx_static_cast(wxMacCheckListControl*,lb) : 0 ;
|
||||
}
|
||||
|
||||
const short kCheckboxColumnId = 1026;
|
||||
@@ -256,14 +261,14 @@ wxMacDataItem* wxMacDataBrowserCheckListControl::CreateItem()
|
||||
|
||||
void wxMacDataBrowserCheckListControl::MacCheck( unsigned int n, bool bCheck)
|
||||
{
|
||||
wxMacCheckListBoxItem* item = dynamic_cast<wxMacCheckListBoxItem*>( GetItemFromLine( n) );
|
||||
wxMacCheckListBoxItem* item = wx_static_cast(wxMacCheckListBoxItem*, GetItemFromLine( n) );
|
||||
item->Check( bCheck);
|
||||
UpdateItem(wxMacDataBrowserRootContainer, item , kCheckboxColumnId);
|
||||
}
|
||||
|
||||
bool wxMacDataBrowserCheckListControl::MacIsChecked( unsigned int n) const
|
||||
{
|
||||
wxMacCheckListBoxItem * item = dynamic_cast<wxMacCheckListBoxItem*>( GetItemFromLine( n ) );
|
||||
wxMacCheckListBoxItem * item = wx_static_cast( wxMacCheckListBoxItem*, GetItemFromLine( n ) );
|
||||
return item->IsChecked();
|
||||
}
|
||||
|
||||
|
@@ -58,7 +58,8 @@ bool wxListBox::Create(
|
||||
|
||||
wxMacListControl* wxListBox::GetPeer() const
|
||||
{
|
||||
return dynamic_cast<wxMacListControl*>(m_peer);
|
||||
wxMacDataBrowserListControl *lb = wxDynamicCast(m_peer,wxMacDataBrowserListControl);
|
||||
return lb ? wx_static_cast(wxMacListControl*,lb) : 0 ;
|
||||
}
|
||||
|
||||
bool wxListBox::Create(
|
||||
@@ -463,7 +464,7 @@ void wxMacListBoxItem::Notification(wxMacDataItemBrowserControl *owner ,
|
||||
DataBrowserItemNotification message,
|
||||
DataBrowserItemDataRef itemData ) const
|
||||
{
|
||||
wxMacDataBrowserListControl *lb = dynamic_cast<wxMacDataBrowserListControl*>(owner);
|
||||
wxMacDataBrowserListControl *lb = wxDynamicCast(owner,wxMacDataBrowserListControl);
|
||||
|
||||
// we want to depend on as little as possible to make sure tear-down of controls is safe
|
||||
|
||||
@@ -522,6 +523,8 @@ void wxMacListBoxItem::Notification(wxMacDataItemBrowserControl *owner ,
|
||||
}
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxMacDataBrowserListControl , wxMacDataItemBrowserControl )
|
||||
|
||||
wxMacDataBrowserListControl::wxMacDataBrowserListControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style)
|
||||
: wxMacDataItemBrowserControl( peer, pos, size, style )
|
||||
{
|
||||
|
@@ -208,6 +208,7 @@ class wxMacDataBrowserListCtrlControl : public wxMacDataItemBrowserControl
|
||||
{
|
||||
public:
|
||||
wxMacDataBrowserListCtrlControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style );
|
||||
wxMacDataBrowserListCtrlControl() {}
|
||||
virtual ~wxMacDataBrowserListCtrlControl();
|
||||
|
||||
// create a list item (can be a subclass of wxMacListBoxItem)
|
||||
@@ -273,7 +274,7 @@ protected:
|
||||
|
||||
wxClientDataType m_clientDataItemsType;
|
||||
bool m_isVirtual;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxMacDataBrowserListCtrlControl)
|
||||
};
|
||||
|
||||
class wxMacListCtrlEventDelegate : public wxEvtHandler
|
||||
@@ -512,7 +513,8 @@ END_EVENT_TABLE()
|
||||
|
||||
wxMacListControl* wxListCtrl::GetPeer() const
|
||||
{
|
||||
return dynamic_cast<wxMacListControl*>(m_peer);
|
||||
wxMacDataBrowserListCtrlControl *lb = wxDynamicCast(m_peer,wxMacDataBrowserListCtrlControl);
|
||||
return lb ? wx_static_cast(wxMacListControl*,lb) : 0 ;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -2207,7 +2209,7 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
|
||||
DataBrowserItemDataRef itemData ) const
|
||||
{
|
||||
|
||||
wxMacDataBrowserListCtrlControl *lb = dynamic_cast<wxMacDataBrowserListCtrlControl*>(owner);
|
||||
wxMacDataBrowserListCtrlControl *lb = wxDynamicCast(owner, wxMacDataBrowserListCtrlControl);
|
||||
|
||||
// we want to depend on as little as possible to make sure tear-down of controls is safe
|
||||
if ( message == kDataBrowserItemRemoved)
|
||||
@@ -2285,6 +2287,8 @@ void wxMacListCtrlItem::Notification(wxMacDataItemBrowserControl *owner ,
|
||||
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxMacDataBrowserListCtrlControl, wxMacDataItemBrowserControl )
|
||||
|
||||
wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer, const wxPoint& pos, const wxSize& size, long style)
|
||||
: wxMacDataItemBrowserControl( peer, pos, size, style )
|
||||
{
|
||||
@@ -2370,7 +2374,7 @@ pascal Boolean wxMacDataBrowserListCtrlControl::DataBrowserEditTextProc(
|
||||
Boolean *shrinkToFit)
|
||||
{
|
||||
Boolean result = false;
|
||||
wxMacDataBrowserListCtrlControl* ctl = dynamic_cast<wxMacDataBrowserListCtrlControl*>( wxMacControl::GetReferenceFromNativeControl( browser ) );
|
||||
wxMacDataBrowserListCtrlControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserListCtrlControl);
|
||||
if ( ctl != 0 )
|
||||
{
|
||||
result = ctl->ConfirmEditText(itemID, property, theString, maxEditTextRect, shrinkToFit);
|
||||
@@ -2398,7 +2402,7 @@ pascal void wxMacDataBrowserListCtrlControl::DataBrowserDrawItemProc(
|
||||
SInt16 gdDepth,
|
||||
Boolean colorDevice)
|
||||
{
|
||||
wxMacDataBrowserListCtrlControl* ctl = dynamic_cast<wxMacDataBrowserListCtrlControl*>( wxMacControl::GetReferenceFromNativeControl( browser ) );
|
||||
wxMacDataBrowserListCtrlControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserListCtrlControl);
|
||||
if ( ctl != 0 )
|
||||
{
|
||||
ctl->DrawItem(itemID, property, itemState, itemRect, gdDepth, colorDevice);
|
||||
@@ -2916,7 +2920,7 @@ void wxMacDataBrowserListCtrlControl::MacSetColumnInfo( unsigned int row, unsign
|
||||
wxASSERT_MSG( dataItem, _T("could not obtain wxMacDataItem for row in MacSetColumnInfo. Is row a valid wxListCtrl row?") );
|
||||
if (item)
|
||||
{
|
||||
wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem);
|
||||
wxMacListCtrlItem* listItem = wx_static_cast(wxMacListCtrlItem*,dataItem);
|
||||
bool hasInfo = listItem->HasColumnInfo( column );
|
||||
listItem->SetColumnInfo( column, item );
|
||||
UpdateState(dataItem, item);
|
||||
@@ -2958,7 +2962,7 @@ void wxMacDataBrowserListCtrlControl::MacGetColumnInfo( unsigned int row, unsign
|
||||
// CS should this guard against dataItem = 0 ? , as item is not a pointer if (item) is not appropriate
|
||||
//if (item)
|
||||
{
|
||||
wxMacListCtrlItem* listItem = dynamic_cast<wxMacListCtrlItem*>(dataItem);
|
||||
wxMacListCtrlItem* listItem =wx_static_cast(wxMacListCtrlItem*,dataItem);
|
||||
|
||||
if (!listItem->HasColumnInfo( column ))
|
||||
return;
|
||||
|
@@ -821,6 +821,13 @@ OSStatus wxMacCarbonEvent::SetParameter(EventParamName inName, EventParamType in
|
||||
// Control Access Support
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxMacControl , wxObject )
|
||||
|
||||
wxMacControl::wxMacControl()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
wxMacControl::wxMacControl(wxWindow* peer , bool isRootControl )
|
||||
{
|
||||
Init();
|
||||
@@ -1287,13 +1294,15 @@ wxMacControl* wxMacControl::GetReferenceFromNativeControl(ControlRef control)
|
||||
// basing on DataBrowserItemIDs
|
||||
//
|
||||
|
||||
IMPLEMENT_ABSTRACT_CLASS( wxMacDataBrowserControl , wxMacControl )
|
||||
|
||||
pascal void wxMacDataBrowserControl::DataBrowserItemNotificationProc(
|
||||
ControlRef browser,
|
||||
DataBrowserItemID itemID,
|
||||
DataBrowserItemNotification message,
|
||||
DataBrowserItemDataRef itemData )
|
||||
{
|
||||
wxMacDataBrowserControl* ctl = dynamic_cast<wxMacDataBrowserControl*>( wxMacControl::GetReferenceFromNativeControl( browser ) );
|
||||
wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl);
|
||||
if ( ctl != 0 )
|
||||
{
|
||||
ctl->ItemNotification(itemID, message, itemData);
|
||||
@@ -1308,7 +1317,7 @@ pascal OSStatus wxMacDataBrowserControl::DataBrowserGetSetItemDataProc(
|
||||
Boolean changeValue )
|
||||
{
|
||||
OSStatus err = errDataBrowserPropertyNotSupported;
|
||||
wxMacDataBrowserControl* ctl = dynamic_cast<wxMacDataBrowserControl*>( wxMacControl::GetReferenceFromNativeControl( browser ) );
|
||||
wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl);
|
||||
if ( ctl != 0 )
|
||||
{
|
||||
err = ctl->GetSetItemData(itemID, property, itemData, changeValue);
|
||||
@@ -1322,7 +1331,7 @@ pascal Boolean wxMacDataBrowserControl::DataBrowserCompareProc(
|
||||
DataBrowserItemID itemTwoID,
|
||||
DataBrowserPropertyID sortProperty)
|
||||
{
|
||||
wxMacDataBrowserControl* ctl = dynamic_cast<wxMacDataBrowserControl*>( wxMacControl::GetReferenceFromNativeControl( browser ) );
|
||||
wxMacDataBrowserControl* ctl = wxDynamicCast(wxMacControl::GetReferenceFromNativeControl( browser ), wxMacDataBrowserControl);
|
||||
if ( ctl != 0 )
|
||||
{
|
||||
return ctl->CompareItems(itemOneID, itemTwoID, sortProperty);
|
||||
@@ -1678,7 +1687,7 @@ bool wxMacDataItem::IsLessThan(wxMacDataItemBrowserControl *owner ,
|
||||
const wxMacDataItem* rhs,
|
||||
DataBrowserPropertyID sortProperty) const
|
||||
{
|
||||
const wxMacDataItem* otherItem = dynamic_cast<const wxMacDataItem*>(rhs);
|
||||
const wxMacDataItem* otherItem = wx_const_cast(wxMacDataItem*,rhs);
|
||||
bool retval = false;
|
||||
|
||||
if ( sortProperty == m_colId ){
|
||||
@@ -1729,6 +1738,7 @@ void wxMacDataItem::Notification(wxMacDataItemBrowserControl *owner ,
|
||||
{
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS( wxMacDataItemBrowserControl , wxMacDataBrowserControl )
|
||||
|
||||
wxMacDataItemBrowserControl::wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style) :
|
||||
wxMacDataBrowserControl( peer, pos, size, style )
|
||||
|
Reference in New Issue
Block a user