]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.cpp
New configure
[wxWidgets.git] / samples / listctrl / listtest.cpp
index 24ee28c00b5c968a0566076ffbf5604f583f6991..6e4b55f5eef2540f9cbff34baab66230ce8fedd4 100644 (file)
@@ -37,6 +37,8 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
        EVT_MENU(LIST_ICON_TEXT_VIEW, MyFrame::OnIconTextView)
        EVT_MENU(LIST_SMALL_ICON_VIEW, MyFrame::OnSmallIconView)
        EVT_MENU(LIST_SMALL_ICON_TEXT_VIEW, MyFrame::OnSmallIconTextView)
+       EVT_MENU(LIST_DESELECT_ALL, MyFrame::OnDeselectAll)
+       EVT_MENU(LIST_SELECT_ALL, MyFrame::OnSelectAll)
 END_EVENT_TABLE()
 
 BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
@@ -58,7 +60,7 @@ IMPLEMENT_APP(MyApp)
 bool MyApp::OnInit(void)
 {
   // Create the main frame window
-  MyFrame *frame = new MyFrame(NULL, "wxListCtrl Test", 50, 50, 450, 340);
+  MyFrame *frame = new MyFrame((wxFrame *) NULL, (char *) "wxListCtrl Test", 50, 50, 450, 340);
 
   // This reduces flicker effects - even better would be to define OnEraseBackground
   // to do nothing. When the list control's scrollbars are show or hidden, the
@@ -66,48 +68,55 @@ bool MyApp::OnInit(void)
   frame->SetBackgroundColour(wxColour(255, 255, 255));
 
   // Give it an icon
-#ifdef __WINDOWS__
+#ifdef __WXMSW__
   frame->SetIcon(wxIcon("mondrian"));
-#endif
-#ifdef __X__
-  frame->SetIcon(wxIcon("aiai.xbm"));
+#else
+#include "mondrian.xpm"
+  frame->SetIcon(wxIcon(mondrian_xpm));
 #endif
 
   // Make an image list containing large icons
   m_imageListNormal = new wxImageList(32, 32, TRUE);
   m_imageListSmall = new wxImageList(16, 16, TRUE);
 
-  wxIcon *icon = new wxIcon("icon1", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon2", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon3", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon4", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon5", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon6", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon7", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon8", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-  icon = new wxIcon("icon9", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListNormal->Add(*icon);
-  delete icon;
-
-  icon = new wxIcon("iconsmall", wxBITMAP_TYPE_ICO_RESOURCE);
-  m_imageListSmall->Add(*icon);
-  delete icon;
+#ifdef __WXMSW__
+  m_imageListNormal->Add( wxIcon("icon1", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon2", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon3", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon4", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon5", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon6", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon7", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon8", wxBITMAP_TYPE_ICO_RESOURCE) );
+  m_imageListNormal->Add( wxIcon("icon9", wxBITMAP_TYPE_ICO_RESOURCE) );
+  
+  m_imageListSmall->Add( wxIcon("iconsmall", wxBITMAP_TYPE_ICO_RESOURCE) );
+  
+#else
+
+  #include "bitmaps/toolbrai.xpm"
+  m_imageListNormal->Add( wxIcon( toolbrai_xpm ) );
+  #include "bitmaps/toolchar.xpm"
+  m_imageListNormal->Add( wxIcon( toolchar_xpm ) );
+  #include "bitmaps/tooldata.xpm"
+  m_imageListNormal->Add( wxIcon( tooldata_xpm ) );
+  #include "bitmaps/toolnote.xpm"
+  m_imageListNormal->Add( wxIcon( toolnote_xpm ) );
+  #include "bitmaps/tooltodo.xpm"
+  m_imageListNormal->Add( wxIcon( tooltodo_xpm ) );
+  #include "bitmaps/toolchec.xpm"
+  m_imageListNormal->Add( wxIcon( toolchec_xpm ) );
+  #include "bitmaps/toolgame.xpm"
+  m_imageListNormal->Add( wxIcon( toolgame_xpm ) );
+  #include "bitmaps/tooltime.xpm"
+  m_imageListNormal->Add( wxIcon( tooltime_xpm ) );
+  #include "bitmaps/toolword.xpm"
+  m_imageListNormal->Add( wxIcon( toolword_xpm ) );
+  
+  #include "bitmaps/small1.xpm"
+  m_imageListSmall->Add( wxIcon( small1_xpm) );
+  
+#endif
 
   // Make a menubar
   wxMenu *file_menu = new wxMenu;
@@ -118,6 +127,8 @@ bool MyApp::OnInit(void)
   file_menu->Append(LIST_ICON_TEXT_VIEW,       "Icon view with &text");
   file_menu->Append(LIST_SMALL_ICON_VIEW,      "&Small icon view");
   file_menu->Append(LIST_SMALL_ICON_TEXT_VIEW,         "Small icon &view with text");
+  file_menu->Append(LIST_DESELECT_ALL, "&Deselect All");
+  file_menu->Append(LIST_SELECT_ALL, "S&elect All");
   file_menu->AppendSeparator();
   file_menu->Append(LIST_ABOUT, "&About");
   file_menu->Append(LIST_QUIT, "E&xit");
@@ -168,8 +179,8 @@ bool MyApp::OnInit(void)
 MyFrame::MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h):
   wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h))
 {
-       m_listCtrl = NULL;
-       m_logWindow = NULL;
+       m_listCtrl = (MyListCtrl *) NULL;
+       m_logWindow = (wxTextCtrl *) NULL;
 }
 
 MyFrame::~MyFrame(void)
@@ -178,12 +189,12 @@ MyFrame::~MyFrame(void)
        delete wxGetApp().m_imageListSmall;
 }
 
-void MyFrame::OnQuit(wxCommandEvent& event)
+void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 {
   Close(TRUE);
 }
 
-void MyFrame::OnAbout(wxCommandEvent& event)
+void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
   wxMessageDialog dialog(this, "List test sample\nJulian Smart (c) 1997",
        "About list test", wxOK|wxCANCEL);
@@ -191,13 +202,29 @@ void MyFrame::OnAbout(wxCommandEvent& event)
   dialog.ShowModal();
 }
 
-void MyFrame::OnListView(wxCommandEvent& event)
+void MyFrame::OnDeselectAll(wxCommandEvent& WXUNUSED(event))
+{
+   int n = m_listCtrl->GetItemCount();
+   int i;
+   for(i = 0; i < n; i++)
+      m_listCtrl->SetItemState(i,0,wxLIST_STATE_SELECTED);
+}
+
+void MyFrame::OnSelectAll(wxCommandEvent& WXUNUSED(event))
+{
+   int n = m_listCtrl->GetItemCount();
+   int i;
+   for(i = 0; i < n; i++)
+      m_listCtrl->SetItemState(i,wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
+}
+
+void MyFrame::OnListView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();
        m_listCtrl->SetSingleStyle(wxLC_LIST);
-    m_listCtrl->SetImageList(NULL, wxIMAGE_LIST_NORMAL);
-    m_listCtrl->SetImageList(NULL, wxIMAGE_LIST_SMALL);
+    m_listCtrl->SetImageList((wxImageList *) NULL, wxIMAGE_LIST_NORMAL);
+    m_listCtrl->SetImageList((wxImageList *) NULL, wxIMAGE_LIST_SMALL);
 
        for ( int i=0; i < 30; i++)
        {
@@ -207,12 +234,12 @@ void MyFrame::OnListView(wxCommandEvent& event)
        }
 }
 
-void MyFrame::OnReportView(wxCommandEvent& event)
+void MyFrame::OnReportView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();
        m_listCtrl->SetSingleStyle(wxLC_REPORT);
-    m_listCtrl->SetImageList(NULL, wxIMAGE_LIST_NORMAL);
+    m_listCtrl->SetImageList((wxImageList *) NULL, wxIMAGE_LIST_NORMAL);
     m_listCtrl->SetImageList(wxGetApp().m_imageListSmall, wxIMAGE_LIST_SMALL);
 
        m_listCtrl->InsertColumn(0, "Column 1", wxLIST_FORMAT_LEFT, 140);
@@ -229,7 +256,7 @@ void MyFrame::OnReportView(wxCommandEvent& event)
        }
 }
 
-void MyFrame::OnIconView(wxCommandEvent& event)
+void MyFrame::OnIconView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();
@@ -243,7 +270,7 @@ void MyFrame::OnIconView(wxCommandEvent& event)
        }
 }
 
-void MyFrame::OnIconTextView(wxCommandEvent& event)
+void MyFrame::OnIconTextView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();
@@ -259,7 +286,7 @@ void MyFrame::OnIconTextView(wxCommandEvent& event)
        }
 }
 
-void MyFrame::OnSmallIconView(wxCommandEvent& event)
+void MyFrame::OnSmallIconView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();
@@ -273,7 +300,7 @@ void MyFrame::OnSmallIconView(wxCommandEvent& event)
        }
 }
 
-void MyFrame::OnSmallIconTextView(wxCommandEvent& event)
+void MyFrame::OnSmallIconTextView(wxCommandEvent& WXUNUSED(event))
 {
        m_logWindow->Clear();
        m_listCtrl->DeleteAllItems();