more tests

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/wxUNIVERSAL@8590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-10-20 00:36:12 +00:00
parent e2f369c206
commit bef37c03db

View File

@@ -71,8 +71,11 @@ enum
LboxTest_Add,
LboxTest_AddText,
LboxTest_AddSeveral,
LboxTest_AddMany,
LboxTest_Clear,
LboxTest_ClearLog,
LboxTest_Change,
LboxTest_ChangeText,
LboxTest_Delete,
LboxTest_DeleteText,
LboxTest_DeleteSel,
@@ -109,12 +112,14 @@ protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);
void OnButtonCreate(wxCommandEvent& event);
void OnButtonChange(wxCommandEvent& event);
void OnButtonDelete(wxCommandEvent& event);
void OnButtonDeleteSel(wxCommandEvent& event);
void OnButtonClear(wxCommandEvent& event);
void OnButtonClearLog(wxCommandEvent& event);
void OnButtonAdd(wxCommandEvent& event);
void OnButtonAddSeveral(wxCommandEvent& event);
void OnButtonAddMany(wxCommandEvent& event);
void OnButtonQuit(wxCommandEvent& event);
void OnListbox(wxCommandEvent& event);
@@ -173,8 +178,9 @@ protected:
// the listbox for logging messages
wxListBox *m_lboxLog;
// the text entries for "Add string" and "Delete" buttons
// the text entries for "Add/change string" and "Delete" buttons
wxTextCtrl *m_textAdd,
*m_textChange,
*m_textDelete;
private:
@@ -192,6 +198,7 @@ public:
LboxLogger(wxListBox *lbox, wxLog *logOld)
{
m_lbox = lbox;
//m_lbox->Disable(); -- looks ugly under MSW
m_logOld = logOld;
}
@@ -225,7 +232,16 @@ private:
wxString msg;
TimeStamp(&msg);
msg += szString;
m_lbox->Append(msg);
#ifdef __WXUNIVERSAL__
m_lbox->AppendAndEnsureVisible(msg);
#else // other ports don't have this method yet
m_lbox->Append(msg);
// SetFirstItem() isn't implemented in wxGTK
#ifndef __WXGTK__
m_lbox->SetFirstItem(m_lbox->GetCount() - 1);
#endif
#endif
}
// the control we use
@@ -253,12 +269,14 @@ IMPLEMENT_APP(LboxTestApp)
BEGIN_EVENT_TABLE(LboxTestFrame, wxFrame)
EVT_BUTTON(LboxTest_Reset, LboxTestFrame::OnButtonReset)
EVT_BUTTON(LboxTest_Create, LboxTestFrame::OnButtonCreate)
EVT_BUTTON(LboxTest_Change, LboxTestFrame::OnButtonChange)
EVT_BUTTON(LboxTest_Delete, LboxTestFrame::OnButtonDelete)
EVT_BUTTON(LboxTest_DeleteSel, LboxTestFrame::OnButtonDeleteSel)
EVT_BUTTON(LboxTest_Clear, LboxTestFrame::OnButtonClear)
EVT_BUTTON(LboxTest_ClearLog, LboxTestFrame::OnButtonClearLog)
EVT_BUTTON(LboxTest_Add, LboxTestFrame::OnButtonAdd)
EVT_BUTTON(LboxTest_AddSeveral, LboxTestFrame::OnButtonAddSeveral)
EVT_BUTTON(LboxTest_AddMany, LboxTestFrame::OnButtonAddMany)
EVT_BUTTON(LboxTest_Quit, LboxTestFrame::OnButtonQuit)
EVT_TEXT_ENTER(LboxTest_AddText, LboxTestFrame::OnButtonAdd)
@@ -271,6 +289,8 @@ BEGIN_EVENT_TABLE(LboxTestFrame, wxFrame)
EVT_UPDATE_UI(LboxTest_Clear, LboxTestFrame::OnUpdateUIClearButton)
EVT_UPDATE_UI(LboxTest_DeleteText, LboxTestFrame::OnUpdateUIClearButton)
EVT_UPDATE_UI(LboxTest_Delete, LboxTestFrame::OnUpdateUIDeleteButton)
EVT_UPDATE_UI(LboxTest_Change, LboxTestFrame::OnUpdateUIDeleteSelButton)
EVT_UPDATE_UI(LboxTest_ChangeText, LboxTestFrame::OnUpdateUIDeleteSelButton)
EVT_UPDATE_UI(LboxTest_DeleteSel, LboxTestFrame::OnUpdateUIDeleteSelButton)
EVT_LISTBOX(LboxTest_Listbox, LboxTestFrame::OnListbox)
@@ -379,8 +399,18 @@ LboxTestFrame::LboxTestFrame(const wxString& title)
btn = new wxButton(panel, LboxTest_AddSeveral, _T("&Insert a few strings"));
sizerMiddle->Add(btn, 0, wxALL | wxGROW, 5);
btn = new wxButton(panel, LboxTest_AddMany, _T("Add &many strings"));
sizerMiddle->Add(btn, 0, wxALL | wxGROW, 5);
sizerRow = new wxBoxSizer(wxHORIZONTAL);
btn = new wxButton(panel, LboxTest_Delete, _T("&Delete panel item"));
btn = new wxButton(panel, LboxTest_Change, _T("C&hange current"));
m_textChange = new wxTextCtrl(panel, LboxTest_ChangeText, _T(""));
sizerRow->Add(btn, 0, wxRIGHT, 5);
sizerRow->Add(m_textChange, 1, wxLEFT, 5);
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
sizerRow = new wxBoxSizer(wxHORIZONTAL);
btn = new wxButton(panel, LboxTest_Delete, _T("&Delete this item"));
m_textDelete = new wxTextCtrl(panel, LboxTest_DeleteText, _T(""));
sizerRow->Add(btn, 0, wxRIGHT, 5);
sizerRow->Add(m_textDelete, 1, wxLEFT, 5);
@@ -504,7 +534,7 @@ void LboxTestFrame::CreateLbox()
delete m_lbox;
}
m_lbox = new wxListBox(this, -1,
m_lbox = new wxListBox(this, LboxTest_Listbox,
wxDefaultPosition, wxDefaultSize,
0, NULL,
flags);
@@ -534,6 +564,17 @@ void LboxTestFrame::OnButtonCreate(wxCommandEvent& WXUNUSED(event))
CreateLbox();
}
void LboxTestFrame::OnButtonChange(wxCommandEvent& WXUNUSED(event))
{
wxArrayInt selections;
int count = m_lbox->GetSelections(selections);
wxString s = m_textChange->GetValue();
for ( int n = 0; n < count; n++ )
{
m_lbox->SetString(selections[n], s);
}
}
void LboxTestFrame::OnButtonDelete(wxCommandEvent& WXUNUSED(event))
{
unsigned long n;
@@ -580,6 +621,15 @@ void LboxTestFrame::OnButtonAdd(wxCommandEvent& event)
m_lbox->Append(s);
}
void LboxTestFrame::OnButtonAddMany(wxCommandEvent& WXUNUSED(event))
{
// "many" means 1000 here
for ( size_t n = 0; n < 1000; n++ )
{
m_lbox->Append(wxString::Format(_T("item #%u"), n));
}
}
void LboxTestFrame::OnButtonAddSeveral(wxCommandEvent& event)
{
wxArrayString items;