annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
1 // Filename : preview.cpp
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
2 // Last Change: 09-Apr-2011.
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
3 //
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
4
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
5 #include "preview.h"
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
6
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
7 // for all others, include the necessary headers (this file is usually all you
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
8 // need because it includes almost all "standard" wxWidgets headers)
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
9 #ifndef WX_PRECOMP
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
10 #include "wx/utils.h"
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
11 #include "wx/dir.h"
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
12 #endif
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
13
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
14
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
15 // constructor
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
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 )
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
17 {
4
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
18 this->SetSize( 1600, 950 );
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
19
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
20 wxBoxSizer* bSizer;
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
21 bSizer = new wxBoxSizer( wxHORIZONTAL );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
22
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
23 // LeftPain ( thumbnail )
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
24 wxBoxSizer* bSizerL;
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
25 bSizerL = new wxBoxSizer( wxVERTICAL );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
26
4
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
27 m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxSize( 140, 900 ), wxLC_ICON|wxLC_SINGLE_SEL );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
28 bSizerL->Add( m_listCtrl, 1, wxEXPAND|wxALL|wxALIGN_CENTRE, 5 );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
29 m_imageList = new wxImageList( 105, 148 );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
30 m_listCtrl->AssignImageList( m_imageList, wxIMAGE_LIST_NORMAL );
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
31
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
32 bSizer->Add( bSizerL, 0, wxEXPAND, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
33
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
34 // MainPain ( preview )
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
35 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
4
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
36 m_scrolledWindow->SetScrollbars( 10, 10, 83, 117 );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
37 //m_scrolledWindow->SetScrollRate( 5, 5 );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
38 m_bitmap = new wxStaticBitmap( m_scrolledWindow, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
39 bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 );
4
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
40 //bSizer->Add( m_bitmap, 0, wxALL, 5 );
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
41
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
42 // RightPain ( manip )
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
43 wxBoxSizer* bSizerR;
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
44 bSizerR = new wxBoxSizer( wxVERTICAL );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
45
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
46 m_staticText = new wxStaticText( this, wxID_ANY, wxT("倍率"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
47 bSizerR->Add( m_staticText, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
48 m_textCtrl = new wxTextCtrl( this, ID_MGNFY, wxT("100%"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
49 m_textCtrl->SetMaxLength( 4 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
50 bSizerR->Add( m_textCtrl, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
51 m_staticTextLarge = new wxStaticText( this, wxID_ANY, wxT("[+]"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
52 bSizerR->Add( m_staticTextLarge, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
53 m_slider = new wxSlider( this, ID_SLDR, 0, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_LEFT|wxSL_VERTICAL );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
54 bSizerR->Add( m_slider, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
55 m_staticTextSmall = new wxStaticText( this, wxID_ANY, wxT("[-]"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
56 bSizerR->Add( m_staticTextSmall, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
57
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
58 bSizerR->Add( 0, 0, 1, wxEXPAND, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
59
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
60 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
61 bSizerR->Add( m_buttonPrint, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
62 m_buttonPrintAll = new wxButton( this, ID_PRTALL, wxT("一括印刷"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
63 bSizerR->Add( m_buttonPrintAll, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
64 m_buttonClose = new wxButton( this, ID_CLSFRM, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
65 bSizerR->Add( m_buttonClose, 0, wxALL, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
66
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
67 bSizer->Add( bSizerR, 0, wxEXPAND, 5 );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
68
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
69 this->SetSizer( bSizer );
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
70 this->Layout();
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
71
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
72 this->Centre( wxBOTH );
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
73
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
74 LoadImages( wxEmptyString );
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
75 }
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
76
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
77 // destructor
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
78 FramePreview::~FramePreview()
1
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
79 {
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
80 }
e0cf49906039 start editing preview.cpp / preview.h
pyon@macmini
parents:
diff changeset
81
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
82 // Event Table
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
83 BEGIN_EVENT_TABLE( FramePreview, wxFrame )
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
84 //EVT_BUTTON( ID_PRINT, FramePreview::PrintImage )
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
85 //EVT_BUTTON( ID_PRTALL, FramePreview::PrintAllImages )
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
86 EVT_BUTTON( ID_CLSFRM, FramePreview::CloseFrame )
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
87 END_EVENT_TABLE()
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
88
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
89 // Event Handlers
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
90 void FramePreview::CloseFrame(wxCommandEvent& WXUNUSED(event))
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
91 {
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
92 this->Close();
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
93 return;
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
94 }
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
95
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
96 // Functions
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
97 void FramePreview::LoadImages(wxString path)
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
98 {
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
99 path = wxGetCwd() + wxT("/testdrive"); // now test!
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
100 wxDir dir(path);
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
101 wxString file;
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
102 if ( !dir.IsOpened() ) return;
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
103
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
104 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES );
4
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
105 if ( cout ) {
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
106 wxString mfile = path + wxFILE_SEP_PATH + file;
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
107 wxImage img( mfile, wxBITMAP_TYPE_JPEG );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
108 wxBitmap bmp( img.Scale( 640, 877, wxIMAGE_QUALITY_HIGH ) );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
109 m_bitmap->SetBitmap( bmp);
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
110 }
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
111 int i=0;
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
112 while ( cout ) {
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
113 m_listCtrl->InsertItem( i, file, i );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
114 file = path + wxFILE_SEP_PATH + file;
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
115 wxImage img( file, wxBITMAP_TYPE_JPEG );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
116 wxBitmap bmp( img.Scale( 105, 148, wxIMAGE_QUALITY_HIGH ) );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
117 m_imageList->Add( bmp );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
118 i++;
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
119 cout = dir.GetNext( &file );
d924b09ea2f3 thumbnail by ListCtrl & ImageList.
pyon@macmini
parents: 3
diff changeset
120 }
3
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
121
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
122 return;
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
123 }
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
124
75fefb53d983 update preview.
pyon@macmini
parents: 1
diff changeset
125