- MyFrame *frame = new MyFrame((wxFrame *) NULL, "wxListCtrl Test", 50, 50, 450, 340);
-
- // Give it an icon
- frame->SetIcon( wxICON(mondrian) );
-
- // Make an image list containing large icons
- m_imageListNormal = new wxImageList(32, 32, TRUE);
- m_imageListSmall = new wxImageList(16, 16, TRUE);
-
-#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 *menuFile = new wxMenu;
- menuFile->Append(LIST_ABOUT, "&About");
- menuFile->AppendSeparator();
-#if 0 // what is this for? (VZ)
- menuFile->Append(BUSY_ON, "&Busy cursor on");
- menuFile->Append(BUSY_OFF, "&Busy cursor off");
- menuFile->AppendSeparator();
-#endif
- menuFile->Append(LIST_QUIT, "E&xit\tAlt-X");
-
- wxMenu *menuView = new wxMenu;
- menuView->Append(LIST_LIST_VIEW, "&List view\tF1");
- menuView->Append(LIST_REPORT_VIEW, "&Report view\tF2");
- menuView->Append(LIST_ICON_VIEW, "&Icon view\tF3");
- menuView->Append(LIST_ICON_TEXT_VIEW, "Icon view with &text\tF4");
- menuView->Append(LIST_SMALL_ICON_VIEW, "&Small icon view\tF5");
- menuView->Append(LIST_SMALL_ICON_TEXT_VIEW, "Small icon &view with text\tF6");
-
- wxMenu *menuList = new wxMenu;
- menuList->Append(LIST_DESELECT_ALL, "&Deselect All\tCtrl-D");
- menuList->Append(LIST_SELECT_ALL, "S&elect All\tCtrl-A");
- menuList->AppendSeparator();
- menuList->Append(LIST_SORT, "&Sort\tCtrl-S");
- menuList->AppendSeparator();
- menuList->Append(LIST_DELETE_ALL, "Delete &all items");
-
- wxMenu *menuCol = new wxMenu;
- menuCol->Append(LIST_SET_FG_COL, "&Foreground colour...");
- menuCol->Append(LIST_SET_BG_COL, "&Background colour...");
-
- wxMenuBar *menubar = new wxMenuBar;
- menubar->Append(menuFile, "&File");
- menubar->Append(menuView, "&View");
- menubar->Append(menuList, "&List");
- menubar->Append(menuCol, "&Colour");
- frame->SetMenuBar(menubar);
-
- frame->m_listCtrl = new MyListCtrl(frame, LIST_CTRL, wxPoint(0, 0), wxSize(400, 200),
- wxLC_LIST|wxSUNKEN_BORDER|wxLC_EDIT_LABELS );
-// wxLC_LIST|wxLC_USER_TEXT|wxSUNKEN_BORDER); // wxLC_USER_TEXT requires app to supply all text on demand
-
- frame->m_logWindow = new wxTextCtrl(frame, -1, "", wxPoint(0, 0), wxSize(400, 200), wxTE_MULTILINE|wxSUNKEN_BORDER);
-
- wxLayoutConstraints *c = new wxLayoutConstraints;
- c->top.SameAs (frame, wxTop);
- c->left.SameAs (frame, wxLeft);
- c->right.SameAs (frame, wxRight);
- c->height.PercentOf (frame, wxHeight, 66);
- frame->m_listCtrl->SetConstraints(c);
-
- c = new wxLayoutConstraints;
- c->top.Below (frame->m_listCtrl);
- c->left.SameAs (frame, wxLeft);
- c->right.SameAs (frame, wxRight);
- c->bottom.SameAs (frame, wxBottom);
- frame->m_logWindow->SetConstraints(c);
- frame->SetAutoLayout(TRUE);
-
- wxString buf;
- for ( int i=0; i < 30; i++)
- {
- wxChar buf[20];
- wxSprintf(buf, _T("Item %d"), i);
- frame->m_listCtrl->InsertItem(i, buf);
- }
-
- frame->CreateStatusBar(3);