Mercurial > mercurial > hgweb_searcher2.cgi
changeset 4:d924b09ea2f3
thumbnail by ListCtrl & ImageList.
author | pyon@macmini |
---|---|
date | Sat, 09 Apr 2011 15:03:03 +0900 |
parents | 75fefb53d983 |
children | 0f566397974e |
files | TODO include/preview.h src/preview.cpp |
diffstat | 3 files changed, 47 insertions(+), 55 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TODO Sat Apr 09 15:03:03 2011 +0900 @@ -0,0 +1,17 @@ +=========================================================================== + TODO +=========================================================================== +* create Edit-button. +* change preview-image when listctrl is selected. +* implement print selected image. +* implement print all images. +* implement change-view-size by slidebar. + +--------------------------------------------------------------------------- + Memo +--------------------------------------------------------------------------- +2480 x 3509 ( orignal image size ) +1240 x 1755 ( half ) + 827 x 1170 ( 1/3 ) + 640 x 877 ( 1/4 ) +
--- a/include/preview.h Sat Apr 09 12:48:20 2011 +0900 +++ b/include/preview.h Sat Apr 09 15:03:03 2011 +0900 @@ -14,7 +14,7 @@ #include <wx/settings.h> #include <wx/bitmap.h> #include <wx/image.h> -#include <wx/icon.h> +#include <wx/imaglist.h> #include <wx/statbmp.h> #include <wx/sizer.h> #include <wx/scrolwin.h> @@ -22,6 +22,7 @@ #include <wx/slider.h> #include <wx/button.h> #include <wx/frame.h> +#include <wx/listctrl.h> /////////////////////////////////////////////////////////////////////////////// /// Class FramePreview @@ -30,18 +31,11 @@ { DECLARE_EVENT_TABLE() private: + wxImageList* m_imageList; + wxListItem* m_listItem; protected: - wxStaticText* m_staticText1; - wxStaticBitmap* m_bitmap1; - wxStaticText* m_staticText2; - wxStaticBitmap* m_bitmap2; - wxStaticText* m_staticText3; - wxStaticBitmap* m_bitmap3; - wxStaticText* m_staticText4; - wxStaticBitmap* m_bitmap4; - wxStaticText* m_staticText5; - wxStaticBitmap* m_bitmap5; + wxListCtrl* m_listCtrl; wxScrolledWindow* m_scrolledWindow; wxStaticBitmap* m_bitmap; @@ -62,8 +56,6 @@ void CloseFrame(wxCommandEvent&); void LoadImages(wxString); - void SetThumbnail(wxStaticText*, wxStaticBitmap*, wxString, wxString); - }; #endif //__PREVIEW__
--- a/src/preview.cpp Sat Apr 09 12:48:20 2011 +0900 +++ b/src/preview.cpp Sat Apr 09 15:03:03 2011 +0900 @@ -15,7 +15,7 @@ // constructor FramePreview::FramePreview( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style ) { - this->SetSize( 1600, 900 ); + this->SetSize( 1600, 950 ); wxBoxSizer* bSizer; bSizer = new wxBoxSizer( wxHORIZONTAL ); @@ -24,35 +24,20 @@ wxBoxSizer* bSizerL; bSizerL = new wxBoxSizer( wxVERTICAL ); - m_staticText1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_staticText1, 0, wxTOP|wxALIGN_CENTRE, 5 ); - m_bitmap1 = new wxStaticBitmap( this, ID_IMG1, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTRE, 5 ); - m_staticText2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_staticText2, 0, wxTOP|wxALIGN_CENTRE, 5 ); - m_bitmap2 = new wxStaticBitmap( this, ID_IMG2, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_bitmap2, 0, wxALL|wxALIGN_CENTRE, 5 ); - m_staticText3 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_staticText3, 0, wxTOP|wxALIGN_CENTRE, 5 ); - m_bitmap3 = new wxStaticBitmap( this, ID_IMG3, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_bitmap3, 0, wxALL|wxALIGN_CENTRE, 5 ); - m_staticText4 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_staticText4, 0, wxTOP|wxALIGN_CENTRE, 5 ); - m_bitmap4 = new wxStaticBitmap( this, ID_IMG4, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_bitmap4, 0, wxALL|wxALIGN_CENTRE, 5 ); - m_staticText5 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_staticText5, 0, wxTOP|wxALIGN_CENTRE, 5 ); - m_bitmap5 = new wxStaticBitmap( this, ID_IMG5, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizerL->Add( m_bitmap5, 0, wxALL|wxALIGN_CENTRE, 5 ); + m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( 140, 900 ), wxLC_ICON|wxLC_SINGLE_SEL ); + bSizerL->Add( m_listCtrl, 1, wxEXPAND|wxALL|wxALIGN_CENTRE, 5 ); + m_imageList = new wxImageList( 105, 148 ); + m_listCtrl->AssignImageList( m_imageList, wxIMAGE_LIST_NORMAL ); bSizer->Add( bSizerL, 0, wxEXPAND, 5 ); // MainPain ( preview ) m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); - m_scrolledWindow->SetScrollRate( 5, 5 ); + m_scrolledWindow->SetScrollbars( 10, 10, 83, 117 ); + //m_scrolledWindow->SetScrollRate( 5, 5 ); + m_bitmap = new wxStaticBitmap( m_scrolledWindow, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); - m_bitmap = new wxStaticBitmap( this, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); - bSizer->Add( m_bitmap, 0, wxALL, 5 ); + //bSizer->Add( m_bitmap, 0, wxALL, 5 ); // RightPain ( manip ) wxBoxSizer* bSizerR; @@ -117,26 +102,24 @@ if ( !dir.IsOpened() ) return; bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); - SetThumbnail( this->m_staticText1, this->m_bitmap1, path, file ); - dir.GetNext( &file ); - SetThumbnail( this->m_staticText2, this->m_bitmap2, path, file ); - dir.GetNext( &file ); - SetThumbnail( this->m_staticText3, this->m_bitmap3, path, file ); - dir.GetNext( &file ); - SetThumbnail( this->m_staticText4, this->m_bitmap4, path, file ); - dir.GetNext( &file ); - SetThumbnail( this->m_staticText5, this->m_bitmap5, path, file ); + if ( cout ) { + wxString mfile = path + wxFILE_SEP_PATH + file; + wxImage img( mfile, wxBITMAP_TYPE_JPEG ); + wxBitmap bmp( img.Scale( 640, 877, wxIMAGE_QUALITY_HIGH ) ); + m_bitmap->SetBitmap( bmp); + } + int i=0; + while ( cout ) { + m_listCtrl->InsertItem( i, file, i ); + file = path + wxFILE_SEP_PATH + file; + wxImage img( file, wxBITMAP_TYPE_JPEG ); + wxBitmap bmp( img.Scale( 105, 148, wxIMAGE_QUALITY_HIGH ) ); + m_imageList->Add( bmp ); + i++; + cout = dir.GetNext( &file ); + } return; } -void FramePreview::SetThumbnail( wxStaticText* st, wxStaticBitmap* sb, wxString path, wxString file ) -{ - st->SetLabel(file); - file = path + wxFILE_SEP_PATH + file; - wxImage img( file, wxBITMAP_TYPE_JPEG ); - wxBitmap bmp( img.Scale( 105, 148, wxIMAGE_QUALITY_HIGH ) ); - sb->SetBitmap( bmp ); - return; -}