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 }