annotate src/dirview.cpp @ 39:e0ebc6a4c4dc v2.7

Added tag v2.7 for changeset 044cc2f5af81
author pyon@macmini
date Fri, 25 Nov 2011 22:08:10 +0900
parents 044cc2f5af81
children ce5b61376fd0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
1 // Filename : dirview.cpp
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
2 // Last Change: 24-Nov-2011.
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
3 //
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
4
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
5 #include "dirview.h"
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
6
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
7 #define THUMB_W 160
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
8 #define THUMB_H 226
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
9
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
10 // frame constructor
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
11 DirViewFrame::DirViewFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
12 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
13 this->SetBackgroundColour( wxColour(wxT("WHEAT")) );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
14
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
15 wxBoxSizer* bSizerTop = new wxBoxSizer( wxHORIZONTAL );
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
16
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
17 m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
18 bSizerTop->Add( m_listCtrl, 1, wxEXPAND|wxALL, 5 );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
19
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
20 wxBoxSizer* bSizerButton = new wxBoxSizer( wxVERTICAL );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
21
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
22 m_buttonExplorer = new wxButton( this, ID_BUTTONEXPLR, wxT("フォルダオープン"), wxDefaultPosition, wxDefaultSize, 0 );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
23 bSizerButton->Add( m_buttonExplorer, 1, wxALL, 5 );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
24 m_buttonClose = new wxButton( this, ID_BUTTONCLOSE, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
25 bSizerButton->Add( m_buttonClose, 1, wxALL, 5 );
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
26
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
27 bSizerTop->Add( bSizerButton, 0, wxALL, 5 );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
28
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
29 this->SetSizer( bSizerTop );
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
30 this->Layout();
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
31
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
32 this->Centre( wxBOTH );
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
33 this->LoadListImage();
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
34 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
35
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
36 // destructor
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
37 DirViewFrame::~DirViewFrame()
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
38 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
39 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
40
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
41 // Event Table
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
42 BEGIN_EVENT_TABLE( DirViewFrame, wxFrame )
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
43 EVT_BUTTON( ID_BUTTONEXPLR, DirViewFrame::OnExplorer )
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
44 EVT_BUTTON( ID_BUTTONCLOSE, DirViewFrame::OnClose )
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
45 END_EVENT_TABLE()
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
46
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
47 // Event Handlers
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
48 void DirViewFrame::OnExplorer(wxCommandEvent& WXUNUSED(event))
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
49 {
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
50 wxString execmd = wxT("explorer ") + m_dir; // hhsdir
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
51 //wxExecute( execmd );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
52 wxMessageBox( execmd );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
53 Close(true);
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
54 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
55
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
56 void DirViewFrame::OnClose(wxCommandEvent& WXUNUSED(event))
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
57 {
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
58 Close(true);
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
59 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
60
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
61 // Functions
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
62 void DirViewFrame::LoadListImage()
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
63 {
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
64 wxImageList* imageList = new wxImageList( THUMB_W, THUMB_H );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
65 m_listCtrl->AssignImageList( imageList, wxIMAGE_LIST_NORMAL );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
66
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
67 wxArrayString filenames;
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
68 unsigned int n = wxDir::GetAllFiles( m_dir, &filenames, wxT("*.jpg"), wxDIR_FILES );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
69 for ( int i=0; i<n; i++ ) {
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
70 wxImage image( filenames[i], wxBITMAP_TYPE_JPEG );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
71 wxImage thumbnail = image.Scale( THUMB_W, THUMB_H, wxIMAGE_QUALITY_HIGH );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
72 wxBitmap bmp( thumbnail );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
73 imageList->Add( bmp );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
74 m_listCtrl->InsertItem( i, filenames[i], i );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
75 m_listCtrl->SetItem( i, 0, filenames[i], i );
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
76 }
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
77 }
38
044cc2f5af81 small fix.
pyon@macmini
parents: 19
diff changeset
78