Mercurial > mercurial > hgweb_searcher2.cgi
comparison src/preview.cpp @ 3:75fefb53d983
update preview.
author | pyon@macmini |
---|---|
date | Sat, 09 Apr 2011 12:48:20 +0900 |
parents | e0cf49906039 |
children | d924b09ea2f3 |
comparison
equal
deleted
inserted
replaced
2:0830b0d7c550 | 3:75fefb53d983 |
---|---|
1 // Filename : preview.cpp | 1 // Filename : preview.cpp |
2 // Last Change: 07-Apr-2011. | 2 // Last Change: 09-Apr-2011. |
3 // | 3 // |
4 | 4 |
5 #include "preview.h" | 5 #include "preview.h" |
6 | 6 |
7 // for all others, include the necessary headers (this file is usually all you | 7 // for all others, include the necessary headers (this file is usually all you |
8 // need because it includes almost all "standard" wxWidgets headers) | 8 // need because it includes almost all "standard" wxWidgets headers) |
9 #ifndef WX_PRECOMP | 9 #ifndef WX_PRECOMP |
10 #include "wx/utils.h" | 10 #include "wx/utils.h" |
11 #include "wx/dir.h" | |
11 #endif | 12 #endif |
12 | 13 |
13 | 14 |
14 | 15 // constructor |
15 MyFramePreview::MyFramePreview( 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 ) |
16 { | 17 { |
17 this->SetSizeHints( wxDefaultSize, wxDefaultSize ); | 18 this->SetSize( 1600, 900 ); |
18 | 19 |
19 wxBoxSizer* bSizer; | 20 wxBoxSizer* bSizer; |
20 bSizer = new wxBoxSizer( wxHORIZONTAL ); | 21 bSizer = new wxBoxSizer( wxHORIZONTAL ); |
21 | 22 |
23 // LeftPain ( thumbnail ) | |
22 wxBoxSizer* bSizerL; | 24 wxBoxSizer* bSizerL; |
23 bSizerL = new wxBoxSizer( wxVERTICAL ); | 25 bSizerL = new wxBoxSizer( wxVERTICAL ); |
24 | 26 |
25 m_staticText1 = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); | 27 m_staticText1 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); |
26 m_staticText1->Wrap( -1 ); | 28 bSizerL->Add( m_staticText1, 0, wxTOP|wxALIGN_CENTRE, 5 ); |
27 bSizerL->Add( m_staticText1, 0, wxALL, 5 ); | |
28 | |
29 m_bitmap1 = new wxStaticBitmap( this, ID_IMG1, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 29 m_bitmap1 = new wxStaticBitmap( this, ID_IMG1, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
30 bSizerL->Add( m_bitmap1, 0, wxALL, 5 ); | 30 bSizerL->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTRE, 5 ); |
31 | 31 m_staticText2 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); |
32 m_staticText2 = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); | 32 bSizerL->Add( m_staticText2, 0, wxTOP|wxALIGN_CENTRE, 5 ); |
33 m_staticText2->Wrap( -1 ); | |
34 bSizerL->Add( m_staticText2, 0, wxALL, 5 ); | |
35 | |
36 m_bitmap2 = new wxStaticBitmap( this, ID_IMG2, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 33 m_bitmap2 = new wxStaticBitmap( this, ID_IMG2, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
37 bSizerL->Add( m_bitmap2, 0, wxALL, 5 ); | 34 bSizerL->Add( m_bitmap2, 0, wxALL|wxALIGN_CENTRE, 5 ); |
38 | 35 m_staticText3 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); |
39 m_staticText3 = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); | 36 bSizerL->Add( m_staticText3, 0, wxTOP|wxALIGN_CENTRE, 5 ); |
40 m_staticText3->Wrap( -1 ); | |
41 bSizerL->Add( m_staticText3, 0, wxALL, 5 ); | |
42 | |
43 m_bitmap3 = new wxStaticBitmap( this, ID_IMG3, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 37 m_bitmap3 = new wxStaticBitmap( this, ID_IMG3, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
44 bSizerL->Add( m_bitmap3, 0, wxALL, 5 ); | 38 bSizerL->Add( m_bitmap3, 0, wxALL|wxALIGN_CENTRE, 5 ); |
45 | 39 m_staticText4 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); |
46 m_staticText4 = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); | 40 bSizerL->Add( m_staticText4, 0, wxTOP|wxALIGN_CENTRE, 5 ); |
47 m_staticText4->Wrap( -1 ); | |
48 bSizerL->Add( m_staticText4, 0, wxALL, 5 ); | |
49 | |
50 m_bitmap4 = new wxStaticBitmap( this, ID_IMG4, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 41 m_bitmap4 = new wxStaticBitmap( this, ID_IMG4, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
51 bSizerL->Add( m_bitmap4, 0, wxALL, 5 ); | 42 bSizerL->Add( m_bitmap4, 0, wxALL|wxALIGN_CENTRE, 5 ); |
52 | 43 m_staticText5 = new wxStaticText( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); |
53 m_staticText5 = new wxStaticText( this, wxID_ANY, wxT("MyLabel"), wxDefaultPosition, wxDefaultSize, 0 ); | 44 bSizerL->Add( m_staticText5, 0, wxTOP|wxALIGN_CENTRE, 5 ); |
54 m_staticText5->Wrap( -1 ); | |
55 bSizerL->Add( m_staticText5, 0, wxALL, 5 ); | |
56 | |
57 m_bitmap5 = new wxStaticBitmap( this, ID_IMG5, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 45 m_bitmap5 = new wxStaticBitmap( this, ID_IMG5, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
58 bSizerL->Add( m_bitmap5, 0, wxALL, 5 ); | 46 bSizerL->Add( m_bitmap5, 0, wxALL|wxALIGN_CENTRE, 5 ); |
59 | 47 |
60 bSizer->Add( bSizerL, 0, wxEXPAND, 5 ); | 48 bSizer->Add( bSizerL, 0, wxEXPAND, 5 ); |
61 | 49 |
50 // MainPain ( preview ) | |
62 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); | 51 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL ); |
63 m_scrolledWindow->SetScrollRate( 5, 5 ); | 52 m_scrolledWindow->SetScrollRate( 5, 5 ); |
64 bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); | 53 bSizer->Add( m_scrolledWindow, 1, wxEXPAND | wxALL, 5 ); |
65 | |
66 m_bitmap = new wxStaticBitmap( this, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); | 54 m_bitmap = new wxStaticBitmap( this, ID_IMG, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 ); |
67 bSizer->Add( m_bitmap, 0, wxALL, 5 ); | 55 bSizer->Add( m_bitmap, 0, wxALL, 5 ); |
68 | 56 |
57 // RightPain ( manip ) | |
69 wxBoxSizer* bSizerR; | 58 wxBoxSizer* bSizerR; |
70 bSizerR = new wxBoxSizer( wxVERTICAL ); | 59 bSizerR = new wxBoxSizer( wxVERTICAL ); |
71 | 60 |
72 m_staticText = new wxStaticText( this, wxID_ANY, wxT("倍率"), wxDefaultPosition, wxDefaultSize, 0 ); | 61 m_staticText = new wxStaticText( this, wxID_ANY, wxT("倍率"), wxDefaultPosition, wxDefaultSize, 0 ); |
73 m_staticText->Wrap( -1 ); | |
74 bSizerR->Add( m_staticText, 0, wxALL, 5 ); | 62 bSizerR->Add( m_staticText, 0, wxALL, 5 ); |
75 | |
76 m_textCtrl = new wxTextCtrl( this, ID_MGNFY, wxT("100%"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); | 63 m_textCtrl = new wxTextCtrl( this, ID_MGNFY, wxT("100%"), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER ); |
77 m_textCtrl->SetMaxLength( 4 ); | 64 m_textCtrl->SetMaxLength( 4 ); |
78 bSizerR->Add( m_textCtrl, 0, wxALL, 5 ); | 65 bSizerR->Add( m_textCtrl, 0, wxALL, 5 ); |
79 | |
80 m_staticTextLarge = new wxStaticText( this, wxID_ANY, wxT("[+]"), wxDefaultPosition, wxDefaultSize, 0 ); | 66 m_staticTextLarge = new wxStaticText( this, wxID_ANY, wxT("[+]"), wxDefaultPosition, wxDefaultSize, 0 ); |
81 m_staticTextLarge->Wrap( -1 ); | |
82 bSizerR->Add( m_staticTextLarge, 0, wxALL, 5 ); | 67 bSizerR->Add( m_staticTextLarge, 0, wxALL, 5 ); |
83 | |
84 m_slider = new wxSlider( this, ID_SLDR, 0, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_LEFT|wxSL_VERTICAL ); | 68 m_slider = new wxSlider( this, ID_SLDR, 0, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_LEFT|wxSL_VERTICAL ); |
85 bSizerR->Add( m_slider, 0, wxALL, 5 ); | 69 bSizerR->Add( m_slider, 0, wxALL, 5 ); |
86 | |
87 m_staticTextSmall = new wxStaticText( this, wxID_ANY, wxT("[-]"), wxDefaultPosition, wxDefaultSize, 0 ); | 70 m_staticTextSmall = new wxStaticText( this, wxID_ANY, wxT("[-]"), wxDefaultPosition, wxDefaultSize, 0 ); |
88 m_staticTextSmall->Wrap( -1 ); | |
89 bSizerR->Add( m_staticTextSmall, 0, wxALL, 5 ); | 71 bSizerR->Add( m_staticTextSmall, 0, wxALL, 5 ); |
90 | |
91 | 72 |
92 bSizerR->Add( 0, 0, 1, wxEXPAND, 5 ); | 73 bSizerR->Add( 0, 0, 1, wxEXPAND, 5 ); |
93 | 74 |
94 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 ); | 75 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 ); |
95 bSizerR->Add( m_buttonPrint, 0, wxALL, 5 ); | 76 bSizerR->Add( m_buttonPrint, 0, wxALL, 5 ); |
96 | |
97 m_buttonPrintAll = new wxButton( this, ID_PRTALL, wxT("一括印刷"), wxDefaultPosition, wxDefaultSize, 0 ); | 77 m_buttonPrintAll = new wxButton( this, ID_PRTALL, wxT("一括印刷"), wxDefaultPosition, wxDefaultSize, 0 ); |
98 bSizerR->Add( m_buttonPrintAll, 0, wxALL, 5 ); | 78 bSizerR->Add( m_buttonPrintAll, 0, wxALL, 5 ); |
99 | |
100 m_buttonClose = new wxButton( this, ID_CLSFRM, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); | 79 m_buttonClose = new wxButton( this, ID_CLSFRM, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); |
101 bSizerR->Add( m_buttonClose, 0, wxALL, 5 ); | 80 bSizerR->Add( m_buttonClose, 0, wxALL, 5 ); |
102 | 81 |
103 bSizer->Add( bSizerR, 0, wxEXPAND, 5 ); | 82 bSizer->Add( bSizerR, 0, wxEXPAND, 5 ); |
104 | 83 |
105 this->SetSizer( bSizer ); | 84 this->SetSizer( bSizer ); |
106 this->Layout(); | 85 this->Layout(); |
107 | 86 |
108 this->Centre( wxBOTH ); | 87 this->Centre( wxBOTH ); |
88 | |
89 LoadImages( wxEmptyString ); | |
109 } | 90 } |
110 | 91 |
111 MyFramePreview::~MyFramePreview() | 92 // destructor |
93 FramePreview::~FramePreview() | |
112 { | 94 { |
113 } | 95 } |
114 | 96 |
97 // Event Table | |
98 BEGIN_EVENT_TABLE( FramePreview, wxFrame ) | |
99 //EVT_BUTTON( ID_PRINT, FramePreview::PrintImage ) | |
100 //EVT_BUTTON( ID_PRTALL, FramePreview::PrintAllImages ) | |
101 EVT_BUTTON( ID_CLSFRM, FramePreview::CloseFrame ) | |
102 END_EVENT_TABLE() | |
103 | |
104 // Event Handlers | |
105 void FramePreview::CloseFrame(wxCommandEvent& WXUNUSED(event)) | |
106 { | |
107 this->Close(); | |
108 return; | |
109 } | |
110 | |
111 // Functions | |
112 void FramePreview::LoadImages(wxString path) | |
113 { | |
114 path = wxGetCwd() + wxT("/testdrive"); // now test! | |
115 wxDir dir(path); | |
116 wxString file; | |
117 if ( !dir.IsOpened() ) return; | |
118 | |
119 bool cout = dir.GetFirst( &file, wxT("*.jpg"), wxDIR_FILES ); | |
120 SetThumbnail( this->m_staticText1, this->m_bitmap1, path, file ); | |
121 dir.GetNext( &file ); | |
122 SetThumbnail( this->m_staticText2, this->m_bitmap2, path, file ); | |
123 dir.GetNext( &file ); | |
124 SetThumbnail( this->m_staticText3, this->m_bitmap3, path, file ); | |
125 dir.GetNext( &file ); | |
126 SetThumbnail( this->m_staticText4, this->m_bitmap4, path, file ); | |
127 dir.GetNext( &file ); | |
128 SetThumbnail( this->m_staticText5, this->m_bitmap5, path, file ); | |
129 | |
130 return; | |
131 } | |
132 | |
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 | |
141 return; | |
142 } |