Mercurial > mercurial > hgweb_searcher2.cgi
comparison src/preview.cpp @ 4:d924b09ea2f3
thumbnail by ListCtrl & ImageList.
| author | pyon@macmini |
|---|---|
| date | Sat, 09 Apr 2011 15:03:03 +0900 |
| parents | 75fefb53d983 |
| children | 0f566397974e |
comparison
equal
deleted
inserted
replaced
| 3:75fefb53d983 | 4:d924b09ea2f3 |
|---|---|
| 13 | 13 |
| 14 | 14 |
| 15 // constructor | 15 // constructor |
| 16 FramePreview::FramePreview( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) | 16 FramePreview::FramePreview( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) |
| 17 { | 17 { |
| 18 this->SetSize( 1600, 900 ); | 18 this->SetSize( 1600, 950 ); |
| 19 | 19 |
| 20 wxBoxSizer* bSizer; | 20 wxBoxSizer* bSizer; |
| 21 bSizer = new wxBoxSizer( wxHORIZONTAL ); | 21 bSizer = new wxBoxSizer( wxHORIZONTAL ); |
| 22 | 22 |
| 23 // LeftPain ( thumbnail ) | 23 // LeftPain ( thumbnail ) |
| 24 wxBoxSizer* bSizerL; | 24 wxBoxSizer* bSizerL; |
| 25 bSizerL = new wxBoxSizer( wxVERTICAL ); | 25 bSizerL = new wxBoxSizer( wxVERTICAL ); |
| 26 | 26 |
| 27 m_staticText1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); | 27 m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( 140, 900 ), wxLC_ICON|wxLC_SINGLE_SEL ); |
| 28 bSizerL->Add( m_staticText1, 0, wxTOP|wxALIGN_CENTRE, 5 ); | 28 bSizerL->Add( m_listCtrl, 1, wxEXPAND|wxALL|wxALIGN_CENTRE, 5 ); |
| 29 m_bitmap1 = new wxStaticBitmap( this, ID_IMG1, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 29 m_imageList = new wxImageList( 105, 148 ); |
| 30 bSizerL->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTRE, 5 ); | 30 m_listCtrl->AssignImageList( m_imageList, wxIMAGE_LIST_NORMAL ); |
| 31 m_staticText2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 32 bSizerL->Add( m_staticText2, 0, wxTOP|wxALIGN_CENTRE, 5 ); | |
| 33 m_bitmap2 = new wxStaticBitmap( this, ID_IMG2, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 34 bSizerL->Add( m_bitmap2, 0, wxALL|wxALIGN_CENTRE, 5 ); | |
| 35 m_staticText3 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 36 bSizerL->Add( m_staticText3, 0, wxTOP|wxALIGN_CENTRE, 5 ); | |
| 37 m_bitmap3 = new wxStaticBitmap( this, ID_IMG3, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 38 bSizerL->Add( m_bitmap3, 0, wxALL|wxALIGN_CENTRE, 5 ); | |
| 39 m_staticText4 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 40 bSizerL->Add( m_staticText4, 0, wxTOP|wxALIGN_CENTRE, 5 ); | |
| 41 m_bitmap4 = new wxStaticBitmap( this, ID_IMG4, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 42 bSizerL->Add( m_bitmap4, 0, wxALL|wxALIGN_CENTRE, 5 ); | |
| 43 m_staticText5 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 44 bSizerL->Add( m_staticText5, 0, wxTOP|wxALIGN_CENTRE, 5 ); | |
| 45 m_bitmap5 = new wxStaticBitmap( this, ID_IMG5, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 46 bSizerL->Add( m_bitmap5, 0, wxALL|wxALIGN_CENTRE, 5 ); | |
| 47 | 31 |
| 48 bSizer->Add( bSizerL, 0, wxEXPAND, 5 ); | 32 bSizer->Add( bSizerL, 0, wxEXPAND, 5 ); |
| 49 | 33 |
| 50 // MainPain ( preview ) | 34 // MainPain ( preview ) |
| 51 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); | 35 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); |
| 52 m_scrolledWindow->SetScrollRate( 5, 5 ); | 36 m_scrolledWindow->SetScrollbars( 10, 10, 83, 117 ); |
| 37 //m_scrolledWindow->SetScrollRate( 5, 5 ); | |
| 38 m_bitmap = new wxStaticBitmap( m_scrolledWindow, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | |
| 53 bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); | 39 bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); |
| 54 m_bitmap = new wxStaticBitmap( this, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 40 //bSizer->Add( m_bitmap, 0, wxALL, 5 ); |
| 55 bSizer->Add( m_bitmap, 0, wxALL, 5 ); | |
| 56 | 41 |
| 57 // RightPain ( manip ) | 42 // RightPain ( manip ) |
| 58 wxBoxSizer* bSizerR; | 43 wxBoxSizer* bSizerR; |
| 59 bSizerR = new wxBoxSizer( wxVERTICAL ); | 44 bSizerR = new wxBoxSizer( wxVERTICAL ); |
| 60 | 45 |
| 115 wxDir dir(path); | 100 wxDir dir(path); |
| 116 wxString file; | 101 wxString file; |
| 117 if ( !dir.IsOpened() ) return; | 102 if ( !dir.IsOpened() ) return; |
| 118 | 103 |
| 119 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); | 104 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); |
| 120 SetThumbnail( this->m_staticText1, this->m_bitmap1, path, file ); | 105 if ( cout ) { |
| 121 dir.GetNext( &file ); | 106 wxString mfile = path + wxFILE_SEP_PATH + file; |
| 122 SetThumbnail( this->m_staticText2, this->m_bitmap2, path, file ); | 107 wxImage img( mfile, wxBITMAP_TYPE_JPEG ); |
| 123 dir.GetNext( &file ); | 108 wxBitmap bmp( img.Scale( 640, 877, wxIMAGE_QUALITY_HIGH ) ); |
| 124 SetThumbnail( this->m_staticText3, this->m_bitmap3, path, file ); | 109 m_bitmap->SetBitmap( bmp); |
| 125 dir.GetNext( &file ); | 110 } |
| 126 SetThumbnail( this->m_staticText4, this->m_bitmap4, path, file ); | 111 int i=0; |
| 127 dir.GetNext( &file ); | 112 while ( cout ) { |
| 128 SetThumbnail( this->m_staticText5, this->m_bitmap5, path, file ); | 113 m_listCtrl->InsertItem( i, file, i ); |
| 114 file = path + wxFILE_SEP_PATH + file; | |
| 115 wxImage img( file, wxBITMAP_TYPE_JPEG ); | |
| 116 wxBitmap bmp( img.Scale( 105, 148, wxIMAGE_QUALITY_HIGH ) ); | |
| 117 m_imageList->Add( bmp ); | |
| 118 i++; | |
| 119 cout = dir.GetNext( &file ); | |
| 120 } | |
| 129 | 121 |
| 130 return; | 122 return; |
| 131 } | 123 } |
| 132 | 124 |
| 133 void FramePreview::SetThumbnail( wxStaticText* st, wxStaticBitmap* sb, wxString path, wxString file ) | |
| 134 { | |
| 135 st->SetLabel(file); | |
| 136 file = path + wxFILE_SEP_PATH + file; | |
| 137 wxImage img( file, wxBITMAP_TYPE_JPEG ); | |
| 138 wxBitmap bmp( img.Scale( 105, 148, wxIMAGE_QUALITY_HIGH ) ); | |
| 139 sb->SetBitmap( bmp ); | |
| 140 | 125 |
| 141 return; | |
| 142 } |
