merged 2.2 branch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -66,6 +66,8 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
 | 
			
		||||
    EVT_MENU(LIST_SET_FG_COL, MyFrame::OnSetFgColour)
 | 
			
		||||
    EVT_MENU(LIST_SET_BG_COL, MyFrame::OnSetBgColour)
 | 
			
		||||
    EVT_MENU(LIST_TOGGLE_MULTI_SEL, MyFrame::OnToggleMultiSel)
 | 
			
		||||
    EVT_MENU(LIST_SHOW_COL_INFO, MyFrame::OnShowColInfo)
 | 
			
		||||
    EVT_UPDATE_UI(LIST_SHOW_COL_INFO, MyFrame::OnUpdateShowColInfo)
 | 
			
		||||
END_EVENT_TABLE()
 | 
			
		||||
 | 
			
		||||
BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
 | 
			
		||||
@@ -82,6 +84,8 @@ BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
 | 
			
		||||
    EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown)
 | 
			
		||||
    EVT_LIST_ITEM_ACTIVATED(LIST_CTRL, MyListCtrl::OnActivated)
 | 
			
		||||
    EVT_LIST_COL_CLICK(LIST_CTRL, MyListCtrl::OnColClick)
 | 
			
		||||
 | 
			
		||||
    EVT_CHAR(MyListCtrl::OnChar)
 | 
			
		||||
END_EVENT_TABLE()
 | 
			
		||||
 | 
			
		||||
IMPLEMENT_APP(MyApp)
 | 
			
		||||
@@ -170,6 +174,7 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h)
 | 
			
		||||
    menuList->Append(LIST_TOGGLE_FIRST, "&Toggle first item\tCtrl-T");
 | 
			
		||||
    menuList->Append(LIST_DESELECT_ALL, "&Deselect All\tCtrl-D");
 | 
			
		||||
    menuList->Append(LIST_SELECT_ALL, "S&elect All\tCtrl-A");
 | 
			
		||||
    menuList->Append(LIST_SHOW_COL_INFO, "Show &column info\tCtrl-C");
 | 
			
		||||
    menuList->AppendSeparator();
 | 
			
		||||
    menuList->Append(LIST_SORT, "&Sort\tCtrl-S");
 | 
			
		||||
    menuList->AppendSeparator();
 | 
			
		||||
@@ -316,7 +321,7 @@ void MyFrame::OnReportView(wxCommandEvent& WXUNUSED(event))
 | 
			
		||||
    wxStopWatch sw;
 | 
			
		||||
 | 
			
		||||
    wxString buf;
 | 
			
		||||
    static const int NUM_ITEMS = 3000;
 | 
			
		||||
    static const int NUM_ITEMS = 30;//00;
 | 
			
		||||
    for ( int i = 0; i < NUM_ITEMS; i++ )
 | 
			
		||||
    {
 | 
			
		||||
        buf.Printf(_T("This is item %d"), i);
 | 
			
		||||
@@ -430,6 +435,22 @@ void MyFrame::OnSort(wxCommandEvent& WXUNUSED(event))
 | 
			
		||||
                                            sw.Time()));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyFrame::OnShowColInfo(wxCommandEvent& event)
 | 
			
		||||
{
 | 
			
		||||
    int count = m_listCtrl->GetColumnCount();
 | 
			
		||||
    wxLogMessage("%d columns:", count);
 | 
			
		||||
    for ( int c = 0; c < count; c++ )
 | 
			
		||||
    {
 | 
			
		||||
        wxLogMessage("\tcolumn %d has width %d", c,
 | 
			
		||||
                     m_listCtrl->GetColumnWidth(c));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyFrame::OnUpdateShowColInfo(wxUpdateUIEvent& event)
 | 
			
		||||
{
 | 
			
		||||
    event.Enable( (m_listCtrl->GetWindowStyleFlag() & wxLC_REPORT) != 0 );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyFrame::OnToggleMultiSel(wxCommandEvent& WXUNUSED(event))
 | 
			
		||||
{
 | 
			
		||||
    m_logWindow->WriteText("Current selection mode: ");
 | 
			
		||||
@@ -579,11 +600,21 @@ void MyListCtrl::OnActivated(wxListEvent& event)
 | 
			
		||||
void MyListCtrl::OnListKeyDown(wxListEvent& event)
 | 
			
		||||
{
 | 
			
		||||
    LogEvent(event, _T("OnListKeyDown"));
 | 
			
		||||
 | 
			
		||||
    event.Skip();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyListCtrl::OnChar(wxKeyEvent& event)
 | 
			
		||||
{
 | 
			
		||||
    wxLogMessage(_T("Got char event."));
 | 
			
		||||
 | 
			
		||||
    event.Skip();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MyListCtrl::LogEvent(const wxListEvent& event, const wxChar *eventName)
 | 
			
		||||
{
 | 
			
		||||
    wxLogMessage(_T("Item %ld: %s (item data = %ld)"),
 | 
			
		||||
                 event.GetIndex(), eventName, event.GetData());
 | 
			
		||||
    wxLogMessage(_T("Item %ld: %s (item text = %s, data = %ld)"),
 | 
			
		||||
                 event.GetIndex(), eventName,
 | 
			
		||||
                 event.GetText().c_str(), event.GetData());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user