]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.cpp
updated opengl
[wxWidgets.git] / samples / listctrl / listtest.cpp
index 229cad4224a366a4bf935223e0865d309b94e384..5ebd4f6568218228e0677142dbfd6cf48a2837ab 100644 (file)
@@ -40,6 +40,7 @@
     #include "bitmaps/small1.xpm"
 #endif
 
     #include "bitmaps/small1.xpm"
 #endif
 
+#include "wx/imaglist.h"
 #include "wx/listctrl.h"
 #include "wx/timer.h"           // for wxStopWatch
 #include "wx/colordlg.h"        // for wxGetColourFromUser
 #include "wx/listctrl.h"
 #include "wx/timer.h"           // for wxStopWatch
 #include "wx/colordlg.h"        // for wxGetColourFromUser
@@ -65,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_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)
 END_EVENT_TABLE()
 
 BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
@@ -81,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_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)
 END_EVENT_TABLE()
 
 IMPLEMENT_APP(MyApp)
@@ -169,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_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();
     menuList->AppendSeparator();
     menuList->Append(LIST_SORT, "&Sort\tCtrl-S");
     menuList->AppendSeparator();
@@ -315,7 +321,7 @@ void MyFrame::OnReportView(wxCommandEvent& WXUNUSED(event))
     wxStopWatch sw;
 
     wxString buf;
     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);
     for ( int i = 0; i < NUM_ITEMS; i++ )
     {
         buf.Printf(_T("This is item %d"), i);
@@ -429,6 +435,22 @@ void MyFrame::OnSort(wxCommandEvent& WXUNUSED(event))
                                             sw.Time()));
 }
 
                                             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: ");
 void MyFrame::OnToggleMultiSel(wxCommandEvent& WXUNUSED(event))
 {
     m_logWindow->WriteText("Current selection mode: ");
@@ -578,11 +600,21 @@ void MyListCtrl::OnActivated(wxListEvent& event)
 void MyListCtrl::OnListKeyDown(wxListEvent& event)
 {
     LogEvent(event, _T("OnListKeyDown"));
 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)
 {
 }
 
 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());
 }
 
 }