wxArrayString m_strings;
wxChoiceDataArray m_datas ;
wxMenu* m_popUpMenu ;
+
+private:
+ // This should be called when the number of items in the control changes.
+ void DoAfterItemCountChange();
};
#endif
// adding/deleting items to/from the list
// ----------------------------------------------------------------------------
+void wxChoice::DoAfterItemCountChange()
+{
+ InvalidateBestSize();
+
+ GetPeer()->SetMaximum( GetCount() );
+}
+
int wxChoice::DoInsertItems(const wxArrayStringsAdapter & items,
unsigned int pos,
void **clientData, wxClientDataType type)
AssignNewItemClientData(idx, clientData, i, type);
}
- GetPeer()->SetMaximum( GetCount() );
+ DoAfterItemCountChange();
return pos - 1;
}
m_strings.RemoveAt( n ) ;
m_datas.RemoveAt( n ) ;
- GetPeer()->SetMaximum( GetCount() ) ;
+ DoAfterItemCountChange();
}
void wxChoice::DoClear()
m_strings.Empty() ;
m_datas.Empty() ;
- GetPeer()->SetMaximum( 0 ) ;
+ DoAfterItemCountChange();
}
// ----------------------------------------------------------------------------