]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.cpp
Added possibility of 2-step initialisation, and wxWIZARD_EX_HELPBUTTON style.
[wxWidgets.git] / samples / listctrl / listtest.cpp
index d1c8d7d4af8d20c7d7e64cbb6871aa4e6dfc4a49..8fc8a10781223d1a445d5d7293bfb9a9b87c25f5 100644 (file)
@@ -60,6 +60,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(LIST_SMALL_ICON_TEXT_VIEW, MyFrame::OnSmallIconTextView)
     EVT_MENU(LIST_VIRTUAL_VIEW, MyFrame::OnVirtualView)
 
+    EVT_MENU(LIST_FOCUS_LAST, MyFrame::OnFocusLast)
     EVT_MENU(LIST_TOGGLE_FIRST, MyFrame::OnToggleFirstSel)
     EVT_MENU(LIST_DESELECT_ALL, MyFrame::OnDeselectAll)
     EVT_MENU(LIST_SELECT_ALL, MyFrame::OnSelectAll)
@@ -113,7 +114,7 @@ int wxCALLBACK MyCompareFunction(long item1, long item2, long sortData)
 bool MyApp::OnInit()
 {
   // Create the main frame window
-  MyFrame *frame = new MyFrame("wxListCtrl Test", 50, 50, 450, 340);
+  MyFrame *frame = new MyFrame(wxT("wxListCtrl Test"), 50, 50, 450, 340);
 
   // Show the frame
   frame->Show(TRUE);
@@ -180,6 +181,7 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h)
     menuView->Append(LIST_VIRTUAL_VIEW, _T("Virtual view\tF7"));
 
     wxMenu *menuList = new wxMenu;
+    menuList->Append(LIST_FOCUS_LAST, _T("&Make last item current\tCtrl-L"));
     menuList->Append(LIST_TOGGLE_FIRST, _T("&Toggle first item\tCtrl-T"));
     menuList->Append(LIST_DESELECT_ALL, _T("&Deselect All\tCtrl-D"));
     menuList->Append(LIST_SELECT_ALL, _T("S&elect All\tCtrl-A"));
@@ -252,6 +254,18 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
     dialog.ShowModal();
 }
 
+void MyFrame::OnFocusLast(wxCommandEvent& WXUNUSED(event))
+{
+    long index = m_listCtrl->GetItemCount() - 1;
+    if ( index == -1 )
+    {
+        return;
+    }
+
+    m_listCtrl->SetItemState(index, wxLIST_STATE_FOCUSED, wxLIST_STATE_FOCUSED);
+    m_listCtrl->EnsureVisible(index);
+}
+
 void MyFrame::OnToggleFirstSel(wxCommandEvent& WXUNUSED(event))
 {
     m_listCtrl->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
@@ -483,10 +497,10 @@ void MyFrame::OnShowSelInfo(wxCommandEvent& event)
 void MyFrame::OnShowColInfo(wxCommandEvent& event)
 {
     int count = m_listCtrl->GetColumnCount();
-    wxLogMessage("%d columns:", count);
+    wxLogMessage(wxT("%d columns:"), count);
     for ( int c = 0; c < count; c++ )
     {
-        wxLogMessage("\tcolumn %d has width %d", c,
+        wxLogMessage(wxT("\tcolumn %d has width %d"), c,
                      m_listCtrl->GetColumnWidth(c));
     }
 }
@@ -504,7 +518,7 @@ void MyFrame::OnToggleMultiSel(wxCommandEvent& WXUNUSED(event))
     else
         flags |= wxLC_SINGLE_SEL;
 
-    m_logWindow->WriteText(wxString::Format("Current selection mode: %sle\n",
+    m_logWindow->WriteText(wxString::Format(wxT("Current selection mode: %sle\n"),
                            (flags & wxLC_SINGLE_SEL) ? "sing" : "multip"));
 
     RecreateList(flags);
@@ -554,35 +568,35 @@ void MyFrame::OnDeleteAll(wxCommandEvent& WXUNUSED(event))
 
 void MyListCtrl::OnCacheHint(wxListEvent& event)
 {
-    wxLogMessage( "OnCacheHint: cache items %ld..%ld",
+    wxLogMessage( wxT("OnCacheHint: cache items %ld..%ld"),
                   event.GetCacheFrom(), event.GetCacheTo() );
 }
 
 void MyListCtrl::OnColClick(wxListEvent& event)
 {
-    wxLogMessage( "OnColumnClick at %d.", event.GetColumn() );
+    wxLogMessage( wxT("OnColumnClick at %d."), event.GetColumn() );
 }
 
 void MyListCtrl::OnBeginDrag(wxListEvent& event)
 {
-    wxLogMessage( "OnBeginDrag at %d,%d.",
+    wxLogMessage( wxT("OnBeginDrag at %d,%d."),
                   event.m_pointDrag.x, event.m_pointDrag.y );
 }
 
 void MyListCtrl::OnBeginRDrag(wxListEvent& event)
 {
-    wxLogMessage( "OnBeginRDrag at %d,%d.",
+    wxLogMessage( wxT("OnBeginRDrag at %d,%d."),
                   event.m_pointDrag.x, event.m_pointDrag.y );
 }
 
 void MyListCtrl::OnBeginLabelEdit(wxListEvent& event)
 {
-    wxLogMessage("OnBeginLabelEdit: %s", event.m_item.m_text.c_str());
+    wxLogMessage( wxT("OnBeginLabelEdit: %s"), event.m_item.m_text.c_str());
 }
 
 void MyListCtrl::OnEndLabelEdit(wxListEvent& event)
 {
-    wxLogMessage("OnEndLabelEdit: %s", event.m_item.m_text.c_str());
+    wxLogMessage( wxT("OnEndLabelEdit: %s"), event.m_item.m_text.c_str());
 }
 
 void MyListCtrl::OnDeleteItem(wxListEvent& event)
@@ -640,12 +654,12 @@ void MyListCtrl::OnSelected(wxListEvent& event)
         info.m_mask = wxLIST_MASK_TEXT;
         if ( GetItem(info) )
         {
-            wxLogMessage("Value of the 2nd field of the selected item: %s",
+            wxLogMessage(wxT("Value of the 2nd field of the selected item: %s"),
                          info.m_text.c_str());
         }
         else
         {
-            wxFAIL_MSG("wxListCtrl::GetItem() failed");
+            wxFAIL_MSG(wxT("wxListCtrl::GetItem() failed"));
         }
     }
 }