annotate src/dirview.cpp @ 24:5c99c6fa50df v2.2dev v2.2

fix changing selected image color
author pyon@macmini
date Wed, 02 Nov 2011 20:47:18 +0900
parents 868ccd73e238
children 044cc2f5af81
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
1
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
2 // Filename : dirview.cpp
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
3 // Last Change: 24-Oct-2011.
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
4 //
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
5
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
6 #include "dirview.h"
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
7
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
8 // frame constructor
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
9 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
10 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
11 this->SetSizeHints( wxDefaultSize, wxDefaultSize );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
12 this->SetBackgroundColour( wxColour(wxT("WHEAT")) );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
13
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
14 wxBoxSizer* bSizer;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
15 bSizer = new wxBoxSizer( wxHORIZONTAL );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
16
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
17 m_listCtrlAll = new wxListCtrl( this, ID_LISTCTRLALL, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_SINGLE_SEL );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
18 itemCol.SetText( wxT("$BDLHV(B") );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
19 m_listCtrlAll->InsertColumn( 0, itemCol );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
20 m_listCtrlAll->SetColumnWidth( 0, 100 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
21 itemCol.SetText( wxT("$BHoJ]81<THV9f(B") );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
22 m_listCtrlAll->InsertColumn( 1, itemCol );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
23 m_listCtrlAll->SetColumnWidth( 1, 180 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
24 itemCol.SetText( wxT("$B%U%!%$%k?t(B") );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
25 m_listCtrlAll->InsertColumn( 2, itemCol );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
26 m_listCtrlAll->SetColumnWidth( 1, 100 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
27 bSizer->Add( m_listCtrlAll, 0, wxALL|wxEXPAND, 5 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
28
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
29 m_listCtrlThumbnail = new wxListCtrl( this, ID_LISTCTRLTHUMB, wxDefaultPosition, wxDefaultSize, wxLC_ICON );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
30 bSizer->Add( m_listCtrlThumbnail, 0, wxALL|wxEXPAND, 5 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
31
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
32 m_bitmapPreview = new wxStaticBitmap( this, ID_BITMAPPREVIEW, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
33 bSizer->Add( m_bitmapPreview, 1, wxALL|wxEXPAND, 5 );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
34
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
35 this->SetSizer( bSizer );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
36 this->Layout();
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
37
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
38 this->Centre( wxBOTH );
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 // destructor
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
42 DirViewFrame::~DirViewFrame()
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
43 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
44 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
45
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
46 // Event Table
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
47 BEGIN_EVENT_TABLE( MyFrame, wxFrame )
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
48 EVT_LIST_ITEM_SELECTED( ID_LISTCTRLALL, DirViewFrame::OnThumbnail )
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
49 EVT_LIST_ITEM_SELECTED( ID_LISTCTRLTHUMB, DirViewFrame::OnPreview )
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
50 END_EVENT_TABLE()
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
51
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
52 // Event Handlers
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
53 void DirViewFrame::OnThumbnail(wxListEvent& event)
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
54 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
55 m_listCtrlThumbnail->DeleteAllItems();
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
56 /*
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
57 m_imageList->RemoveAll();
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
58 wxDir dir(m_dir);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
59 wxString filename;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
60 if ( !dir.IsOpened() ) return;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
61
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
62 bool cout = dir.GetFirst( &filename, wxT("*.jpg"), wxDIR_FILES );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
63
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
64 int i=0;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
65 wxListItem item;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
66 while ( cout ) {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
67 wxString f = m_dir + wxFILE_SEP_PATH + filename;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
68 wxFile file( f );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
69 long len = file.Length();
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
70 if ( !m_checkBox->IsChecked() && len > 150000 ) {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
71 cout = dir.GetNext( &filename );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
72 continue;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
73 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
74
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
75 item.SetId(i);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
76 item.SetMask(wxLIST_MASK_STATE|wxLIST_MASK_TEXT|wxLIST_MASK_IMAGE);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
77 item.SetStateMask(wxLIST_STATE_SELECTED);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
78 item.SetState(wxLIST_STATE_SELECTED);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
79 item.SetImage(i);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
80 item.SetText(filename);
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
81 m_listCtrl->InsertItem( item );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
82 m_listCtrl->SetItem( item );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
83
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
84 wxImage img( f, wxBITMAP_TYPE_JPEG );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
85 wxBitmap bmp( img.Scale( 63, 89, wxIMAGE_QUALITY_HIGH ) );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
86 m_imageList->Add( bmp );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
87 cout = dir.GetNext( &filename );
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
88 i++;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
89 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
90 */
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
91
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
92 return;
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
93 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
94
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
95 void DirViewFrame::OnPreview(wxListEvent& event)
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
96 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
97 }
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
98
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
99 // Functions
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
100 void DirViewFrame::ListAll(void)
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
101 {
868ccd73e238 directory viewer
pyon@macmini
parents:
diff changeset
102 }