Mercurial > mercurial > hgweb_mover2.cgi
comparison src/dirview.cpp @ 40:ce5b61376fd0 v2.7 tip
complete dirview.
author | pyon@macmini |
---|---|
date | Fri, 25 Nov 2011 22:08:47 +0900 |
parents | 044cc2f5af81 |
children |
comparison
equal
deleted
inserted
replaced
39:e0ebc6a4c4dc | 40:ce5b61376fd0 |
---|---|
1 // Filename : dirview.cpp | 1 // Filename : dirview.cpp |
2 // Last Change: 24-Nov-2011. | 2 // Last Change: 25-Nov-2011. |
3 // | 3 // |
4 | 4 |
5 #include "dirview.h" | 5 #include "dirview.h" |
6 | 6 |
7 #define THUMB_W 160 | 7 #define THUMB_W 240 |
8 #define THUMB_H 226 | 8 #define THUMB_H 340 |
9 | 9 |
10 // frame constructor | 10 // frame constructor |
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 ) | 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 ) |
12 { | 12 { |
13 m_parent = parent; | |
13 this->SetBackgroundColour( wxColour(wxT("WHEAT")) ); | 14 this->SetBackgroundColour( wxColour(wxT("WHEAT")) ); |
14 | 15 |
15 wxBoxSizer* bSizerTop = new wxBoxSizer( wxHORIZONTAL ); | 16 wxBoxSizer* bSizerTop = new wxBoxSizer( wxHORIZONTAL ); |
16 | 17 |
17 m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON ); | 18 m_listCtrl = new wxListCtrl( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_ICON ); |
19 m_listCtrl->SetBackgroundColour(wxT("LIGHT GREY")); | |
18 bSizerTop->Add( m_listCtrl, 1, wxEXPAND|wxALL, 5 ); | 20 bSizerTop->Add( m_listCtrl, 1, wxEXPAND|wxALL, 5 ); |
19 | 21 |
20 wxBoxSizer* bSizerButton = new wxBoxSizer( wxVERTICAL ); | 22 wxBoxSizer* bSizerButton = new wxBoxSizer( wxVERTICAL ); |
21 | 23 |
22 m_buttonExplorer = new wxButton( this, ID_BUTTONEXPLR, wxT("フォルダオープン"), wxDefaultPosition, wxDefaultSize, 0 ); | 24 m_buttonExplorer = new wxButton( this, ID_BUTTONEXPLR, wxT("フォルダオープン"), wxDefaultPosition, wxDefaultSize, 0 ); |
23 bSizerButton->Add( m_buttonExplorer, 1, wxALL, 5 ); | 25 bSizerButton->Add( m_buttonExplorer, 1, wxALL, 5 ); |
24 m_buttonClose = new wxButton( this, ID_BUTTONCLOSE, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); | 26 m_buttonClose = new wxButton( this, ID_BUTTONCLOSE, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); |
25 bSizerButton->Add( m_buttonClose, 1, wxALL, 5 ); | 27 bSizerButton->Add( m_buttonClose, 1, wxALIGN_RIGHT|wxALL, 5 ); |
26 | 28 |
27 bSizerTop->Add( bSizerButton, 0, wxALL, 5 ); | 29 bSizerTop->Add( bSizerButton, 0, wxALIGN_BOTTOM|wxALL, 5 ); |
28 | 30 |
29 this->SetSizer( bSizerTop ); | 31 this->SetSizer( bSizerTop ); |
30 this->Layout(); | 32 this->Layout(); |
31 | 33 |
32 this->Centre( wxBOTH ); | 34 this->Centre( wxBOTH ); |
33 this->LoadListImage(); | |
34 } | 35 } |
35 | 36 |
36 // destructor | 37 // destructor |
37 DirViewFrame::~DirViewFrame() | 38 DirViewFrame::~DirViewFrame() |
38 { | 39 { |
46 | 47 |
47 // Event Handlers | 48 // Event Handlers |
48 void DirViewFrame::OnExplorer(wxCommandEvent& WXUNUSED(event)) | 49 void DirViewFrame::OnExplorer(wxCommandEvent& WXUNUSED(event)) |
49 { | 50 { |
50 wxString execmd = wxT("explorer ") + m_dir; // hhsdir | 51 wxString execmd = wxT("explorer ") + m_dir; // hhsdir |
51 //wxExecute( execmd ); | 52 wxExecute( execmd ); |
52 wxMessageBox( execmd ); | 53 //wxMessageBox( execmd ); |
53 Close(true); | 54 Close(true); |
54 } | 55 } |
55 | 56 |
56 void DirViewFrame::OnClose(wxCommandEvent& WXUNUSED(event)) | 57 void DirViewFrame::OnClose(wxCommandEvent& WXUNUSED(event)) |
57 { | 58 { |
59 } | 60 } |
60 | 61 |
61 // Functions | 62 // Functions |
62 void DirViewFrame::LoadListImage() | 63 void DirViewFrame::LoadListImage() |
63 { | 64 { |
65 SetTitle( m_dir ); | |
66 wxRect rect( m_parent->GetScreenPosition(), wxSize(1800,420) ); | |
67 SetSize( rect ); | |
68 return; | |
69 | |
64 wxImageList* imageList = new wxImageList( THUMB_W, THUMB_H ); | 70 wxImageList* imageList = new wxImageList( THUMB_W, THUMB_H ); |
65 m_listCtrl->AssignImageList( imageList, wxIMAGE_LIST_NORMAL ); | 71 m_listCtrl->AssignImageList( imageList, wxIMAGE_LIST_NORMAL ); |
66 | 72 |
67 wxArrayString filenames; | 73 wxArrayString filenames; |
68 unsigned int n = wxDir::GetAllFiles( m_dir, &filenames, wxT("*.jpg"), wxDIR_FILES ); | 74 unsigned int n = wxDir::GetAllFiles( m_dir, &filenames, wxT("*.jpg"), wxDIR_FILES ); |
69 for ( int i=0; i<n; i++ ) { | 75 for ( int i=0; i<n; i++ ) { |
70 wxImage image( filenames[i], wxBITMAP_TYPE_JPEG ); | 76 wxImage image( filenames[i], wxBITMAP_TYPE_JPEG ); |
71 wxImage thumbnail = image.Scale( THUMB_W, THUMB_H, wxIMAGE_QUALITY_HIGH ); | 77 wxImage thumbnail = image.Scale( THUMB_W, THUMB_H, wxIMAGE_QUALITY_HIGH ); |
72 wxBitmap bmp( thumbnail ); | 78 wxBitmap bmp( thumbnail ); |
73 imageList->Add( bmp ); | 79 imageList->Add( bmp ); |
74 m_listCtrl->InsertItem( i, filenames[i], i ); | 80 wxFileName f( filenames[i] ); |
75 m_listCtrl->SetItem( i, 0, filenames[i], i ); | 81 m_listCtrl->InsertItem( i, f.GetFullName(), i ); |
82 m_listCtrl->SetItem( i, 0, f.GetFullName(), i ); | |
76 } | 83 } |
77 } | 84 } |
78 | 85 |