annotate src/iklist.cpp @ 2:c0f76f8e67fa draft v1.0

ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
author pyon <pyon@macmini>
date Sat, 28 Aug 2021 09:56:40 +0900
parents 520044113ef0
children d3e201c48ff8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
1 // Filename : iklist.cpp
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
2 // Last Change: 2021-08-27 金 14:20:56.
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
3 //
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
4 #include <wx/textfile.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
5 #include <wx/utils.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
6 #include <wx/dir.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
7 #include <wx/filefn.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
8 #include <wx/wfstream.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
9 #include <wx/txtstrm.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
10 #include <wx/fs_zip.h>
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
11 #include <wx/filesys.h>
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
12 #include <wx/datetime.h>
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
13 #include <wx/msgdlg.h>
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
14 #include <wx/fileconf.h>
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
15
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
16 #include "iklist.h"
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
17
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
18 ///////////////////////////////////////////////////////////////////////////
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
19
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
20 MainFrame::MainFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style)
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
21 : wxFrame(parent, id, title, pos, size, style)
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
22 {
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
23 // Check Limit Date
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
24 wxDateTime today = wxDateTime::Today();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
25 wxDateTime limit(30, wxDateTime::Month::Sep, 2022);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
26 if (today.IsLaterThan(limit)) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
27 wxMessageBox(wxT("使用期限が過ぎています."));
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
28 Close();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
29 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
30
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
31 CreateControls();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
32 LoadConfig();
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
33 m_statusBar->SetStatusText(wxString::Format(wxT(" Welcome to I.K.List - version %s"), m_version), 0);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
34
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
35 // Connect Events
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
36 m_searchCtrl->Connect(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, wxCommandEventHandler(MainFrame::OnCancel), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
37 m_searchCtrl->Connect(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, wxCommandEventHandler(MainFrame::OnSearch), NULL, this);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
38 m_searchCtrl->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(MainFrame::OnText), NULL, this);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
39 m_searchCtrl->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrame::OnSearch), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
40 m_textCtrl->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrame::OnTextEnter), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
41 m_button->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrame::OnClick), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
42 m_choiceCity->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MainFrame::OnCityChoice), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
43 m_choiceKind->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MainFrame::OnKindChoice), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
44 m_dataViewListCtrl->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(MainFrame::OnListItemActivated), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
45 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
46
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
47 MainFrame::~MainFrame()
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
48 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
49 // Clean TempFile
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
50 wxString tmpdir, filename;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
51 wxGetEnv(wxT("TEMP"), &tmpdir);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
52 wxDir dir(tmpdir);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
53 dir.IsOpened();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
54 bool cont = dir.GetFirst(&filename, wxT("iklist-*"), wxDIR_FILES);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
55 while (cont) {
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
56 wxString file = tmpdir + wxFILE_SEP_PATH + filename;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
57 if (wxFileName::IsFileWritable(file))
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
58 wxRemoveFile(file);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
59 cont = dir.GetNext(&filename);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
60 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
61
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
62 // Disconnect Events
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
63 m_searchCtrl->Disconnect(wxEVT_COMMAND_SEARCHCTRL_CANCEL_BTN, wxCommandEventHandler(MainFrame::OnCancel), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
64 m_searchCtrl->Disconnect(wxEVT_COMMAND_SEARCHCTRL_SEARCH_BTN, wxCommandEventHandler(MainFrame::OnSearch), NULL, this);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
65 m_searchCtrl->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(MainFrame::OnText), NULL, this);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
66 m_searchCtrl->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrame::OnSearch), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
67 m_choiceCity->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MainFrame::OnCityChoice), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
68 m_choiceKind->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(MainFrame::OnKindChoice), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
69 m_dataViewListCtrl->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(MainFrame::OnListItemActivated), NULL, this);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
70 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
71
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
72 // Event Handlers
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
73 void MainFrame::OnSearch(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
74 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
75 SetList();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
76 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
77
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
78 void MainFrame::OnCancel(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
79 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
80 m_searchCtrl->Clear();
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
81 SetList();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
82 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
83
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
84 void MainFrame::OnText(wxCommandEvent& WXUNUSED(event))
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
85 {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
86 SetList();
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
87 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
88
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
89 void MainFrame::OnTextEnter(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
90 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
91 CheckPassword();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
92 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
93
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
94 void MainFrame::OnClick(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
95 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
96 CheckPassword();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
97 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
98
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
99 void MainFrame::OnCityChoice(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
100 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
101 SetList();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
102 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
103
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
104 void MainFrame::OnKindChoice(wxCommandEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
105 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
106 SetList();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
107 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
108
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
109 void MainFrame::OnListItemActivated(wxDataViewEvent& WXUNUSED(event))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
110 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
111 int n = m_dataViewListCtrl->GetSelectedRow();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
112 wxString index = m_dataViewListCtrl->GetTextValue(n, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
113 wxString pdf = MakePDF(index);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
114
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
115 wxString cmd = wxT("cmd /c start ") + pdf;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
116 wxArrayString output, error;
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
117 wxExecute(cmd, output, error, wxEXEC_ASYNC|wxEXEC_HIDE_CONSOLE);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
118 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
119
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
120 // Functions
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
121 void MainFrame::SetList()
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
122 {
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
123 wxString text = m_searchCtrl->GetValue();
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
124 wxString city = m_choiceCity->GetString(m_choiceCity->GetSelection());
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
125 wxString kind = m_choiceKind->GetString(m_choiceKind->GetSelection());
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
126
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
127 m_dataViewListCtrl->DeleteAllItems();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
128 wxVector<wxVariant> data;
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
129 unsigned int n = 0;
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
130 for (int i = 0; i < m_data.GetCount(); i++) {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
131 wxArrayString str = wxSplit(m_data[i], ':');
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
132
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
133 data.push_back(wxVariant(wxString::Format(wxT("%04d"), i + 1))); // ID
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
134 data.push_back(wxVariant(str[0])); // Name
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
135 data.push_back(wxVariant(str[1])); // City
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
136 data.push_back(wxVariant(str[2])); // Kind
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
137
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
138 bool matched = true;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
139 if (!text.IsEmpty() && str[0].Find(text) == wxNOT_FOUND) matched =false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
140 if (!city.IsEmpty() && !str[1].IsSameAs(city)) matched =false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
141 if (!kind.IsEmpty() && !str[2].IsSameAs(kind)) matched =false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
142
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
143 if (!m_inarea && str.GetCount() == 4 && str[3].IsSameAs(wxT("*"))) matched =false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
144
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
145 if (matched) {
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
146 m_dataViewListCtrl->AppendItem(data);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
147 n++;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
148 }
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
149
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
150 data.clear();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
151 }
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
152 //m_dataViewListCtrl->SetScrollPos(wxVERTICAL, 0, true);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
153 m_dataViewListCtrl->Scroll(0, 0);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
154 m_statusBar->SetStatusText(wxString::Format(wxT(" %d found."), n), 0);
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
155 }
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
156 #include <wx/sstream.h>
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
157 wxString MainFrame::MakePDF(wxString index)
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
158 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
159 wxString tmpdir;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
160 wxGetEnv(wxT("TEMP"), &tmpdir);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
161 wxString pdf = tmpdir + "/iklist-" + index + ".pdf";
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
162 if (wxFile::Exists(pdf)) return pdf;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
163
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
164 wxStringInputStream si0(wxT("%PDF"));
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
165
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
166 wxString file;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
167 file = SearchFile(wxT("data/03"), index);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
168 wxFileInputStream si1(file);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
169 file = SearchFile(wxT("data/04"), index);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
170 wxFileInputStream si2(file);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
171 file = SearchFile(wxT("data/08"), index);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
172 wxFileInputStream si3(file);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
173
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
174 wxFileOutputStream so(pdf);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
175 so << si0;
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
176 so << si1 << si2 << si3; // use chunk buffer to copy if file is big.
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
177
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
178 return pdf;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
179 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
180
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
181 wxString MainFrame::SearchFile(wxString directory, wxString index)
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
182 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
183 wxDir dir(directory);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
184 if (!dir.IsOpened())
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
185 return wxEmptyString;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
186
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
187 wxString filename;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
188 bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_FILES);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
189 while (cont) {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
190 if (filename.Mid(8, 4).IsSameAs(index, false))
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
191 break;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
192 cont = dir.GetNext(&filename);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
193 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
194 return directory + wxT("/") + filename;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
195 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
196
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
197 void MainFrame::LoadConfig()
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
198 {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
199 wxFileSystem::AddHandler(new wxZipFSHandler);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
200 wxFileSystem* fs = new wxFileSystem;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
201 wxString archive = wxT("iklist.lib");
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
202
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
203 // Load Password
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
204 wxString pwfn = wxT("p8wypswd5c0x");
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
205 wxFSFile* pwfile = fs->OpenFile(archive + wxT("#zip:") + pwfn);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
206 wxString buf;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
207 if (pwfile) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
208 wxInputStream *zstream = pwfile->GetStream();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
209 wxTextInputStream tstream(*zstream);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
210 buf = tstream.ReadLine();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
211 delete pwfile;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
212 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
213 for (int i = 0; i < buf.Len(); i++) { // XOR 17
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
214 m_pswd += wxString::Format(wxT("%c"), buf[i].GetValue() ^ 17);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
215 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
216
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
217 pwfn = wxT("_p8wypswd5c0x");
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
218 wxFSFile* gpwfile = fs->OpenFile(archive + wxT("#zip:") + pwfn);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
219 if (gpwfile) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
220 wxInputStream *zstream = gpwfile->GetStream();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
221 wxTextInputStream tstream(*zstream);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
222 buf = tstream.ReadLine();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
223 delete gpwfile;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
224 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
225 for (int i = 0; i < buf.Len(); i++) { // XOR 17
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
226 m_gpswd += wxString::Format(wxT("%c"), buf[i].GetValue() ^ 17);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
227 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
228
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
229 // Load List
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
230 wxString listfn = wxT("q534list8mor");
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
231 wxFSFile* listfile = fs->OpenFile(archive + wxT("#zip:") + listfn);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
232 if (listfile) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
233 wxInputStream *zstream = listfile->GetStream();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
234 wxTextInputStream tstream(*zstream);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
235 for (int i = 0; i < 543; i++) { //#########################
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
236 //while (!zstream->Eof()) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
237 m_data.Add(tstream.ReadLine());
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
238 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
239 delete listfile;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
240 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
241
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
242 // Load config
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
243 wxString conf_file = wxGetCwd() + wxFILE_SEP_PATH + wxT("app.conf");
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
244 wxFileConfig* conf = new wxFileConfig(wxT("MyApp"), wxT("T.Mutoh"), conf_file, wxEmptyString, wxCONFIG_USE_LOCAL_FILE);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
245 conf->SetPath(wxT("/Misc"));
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
246 conf->Read(wxT("version"), &m_version);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
247 delete conf;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
248
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
249 // Set Filter
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
250 wxArrayString filter = GetChoiceArray(1);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
251 for (int i = 0; i < filter.GetCount(); i++) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
252 m_choiceCity->Append(filter[i]);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
253 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
254 m_choiceCity->SetSelection(0);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
255
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
256 filter = GetChoiceArray(2);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
257 for (int i = 0; i < filter.GetCount(); i++) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
258 m_choiceKind->Append(filter[i]);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
259 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
260 m_choiceKind->SetSelection(0);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
261
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
262 delete fs;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
263 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
264
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
265 wxArrayString MainFrame::GetChoiceArray(int n)
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
266 {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
267 wxArrayString filter;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
268 filter.Add(wxEmptyString);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
269 for (int i = 0; i < m_data.GetCount(); i++) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
270 wxArrayString str = wxSplit(m_data[i], ':');
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
271 bool seen;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
272 for (int j = 0; j < filter.GetCount(); j++) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
273 if (filter[j].IsSameAs(str[n])) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
274 seen = true;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
275 break;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
276 } else {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
277 seen = false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
278 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
279 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
280 if (!seen) filter.Add(str[n]);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
281 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
282 return filter;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
283 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
284
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
285 void MainFrame::CheckPassword()
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
286 {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
287 m_inarea = false;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
288 if (m_textCtrl->GetValue().IsSameAs(m_pswd, true)) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
289 m_inarea = true;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
290 } else if (m_textCtrl->GetValue().IsSameAs(m_gpswd, true)) {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
291 //;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
292 } else {
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
293 m_textCtrl->SetBackgroundColour(wxColour(255, 160, 160));
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
294 m_textCtrl->SelectAll();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
295 return;
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
296 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
297 m_staticTextWord->SetLabel(wxT("キーワード:"));
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
298
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
299 m_textCtrl->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(MainFrame::OnTextEnter), NULL, this);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
300 m_button->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(MainFrame::OnClick), NULL, this);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
301 m_textCtrl->Destroy();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
302 m_button->Destroy();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
303 m_searchCtrl->Show();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
304 this->Layout();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
305
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
306 SetList();
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
307 }
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
308
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
309 void MainFrame::CreateControls()
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
310 {
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
311 this->SetIcon(wxIcon(wxT("sample")));
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
312 this->SetSizeHints(wxDefaultSize, wxDefaultSize);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
313 this->SetBackgroundColour(wxColour(130, 170, 210));
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
314
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
315 wxBoxSizer* bSizerTop = new wxBoxSizer(wxVERTICAL);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
316
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
317 //--
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
318 wxBoxSizer* bSizerWord = new wxBoxSizer(wxHORIZONTAL);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
319
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
320 m_staticTextWord = new wxStaticText(this, wxID_ANY, wxT("パスワード:"), wxDefaultPosition, wxDefaultSize, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
321 bSizerWord->Add(m_staticTextWord, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
322
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
323 m_textCtrl = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1), wxTE_PASSWORD|wxTE_PROCESS_ENTER);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
324 bSizerWord->Add(m_textCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
325 m_textCtrl->SetFocus();
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
326
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
327 m_button = new wxButton(this, wxID_ANY, wxT("OK"), wxDefaultPosition, wxSize(60, -1), 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
328 bSizerWord->Add(m_button, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
329
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
330 m_searchCtrl = new wxSearchCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, -1), 0);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
331 #ifndef __WXMAC__
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
332 m_searchCtrl->ShowSearchButton(true);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
333 #endif
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
334 m_searchCtrl->ShowCancelButton(true);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
335 bSizerWord->Add(m_searchCtrl, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
336
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
337 bSizerTop->Add(bSizerWord, 0, wxEXPAND, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
338
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
339 //--
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
340 wxBoxSizer* bSizerFilter = new wxBoxSizer(wxHORIZONTAL);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
341
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
342 m_staticTextFilter = new wxStaticText(this, wxID_ANY, wxT("フィルター:"), wxDefaultPosition, wxDefaultSize, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
343 bSizerFilter->Add(m_staticTextFilter, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
344
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
345 m_staticTextCity = new wxStaticText(this, wxID_ANY, wxT("市町村"), wxDefaultPosition, wxDefaultSize, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
346 bSizerFilter->Add(m_staticTextCity, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
347
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
348 wxArrayString m_choiceCityChoices;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
349 m_choiceCity = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceCityChoices, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
350 m_choiceCity->SetSelection(0);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
351 m_choiceCity->SetBackgroundColour(wxColour(220, 255, 255));
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
352 bSizerFilter->Add(m_choiceCity, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
353
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
354 m_staticTextKind = new wxStaticText(this, wxID_ANY, wxT("区分"), wxDefaultPosition, wxDefaultSize, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
355 bSizerFilter->Add(m_staticTextKind, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
356
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
357 wxArrayString m_choiceKindChoices;
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
358 m_choiceKind = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceKindChoices, 0);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
359 m_choiceKind->SetSelection(0);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
360 m_choiceKind->SetBackgroundColour(wxColour(220, 255, 255));
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
361 bSizerFilter->Add(m_choiceKind, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
362
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
363 bSizerTop->Add(bSizerFilter, 0, wxEXPAND, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
364
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
365 //--
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
366 m_dataViewListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_SINGLE|wxDV_VERT_RULES|wxDV_ROW_LINES);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
367 m_dataViewListColumnID = m_dataViewListCtrl->AppendTextColumn(wxT("ID"), wxDATAVIEW_CELL_INERT, 40, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
368 m_dataViewListColumnName = m_dataViewListCtrl->AppendTextColumn(wxT(" 名称"), wxDATAVIEW_CELL_INERT, 280, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
369 m_dataViewListColumnCity = m_dataViewListCtrl->AppendTextColumn(wxT("市町村"), wxDATAVIEW_CELL_INERT, -1, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
370 m_dataViewListColumnKind = m_dataViewListCtrl->AppendTextColumn(wxT(" 区分"), wxDATAVIEW_CELL_INERT, -1, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
371 bSizerTop->Add(m_dataViewListCtrl, 1, wxALL|wxEXPAND, 5);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
372
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
373 this->SetSizer(bSizerTop);
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
374 this->Layout();
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
375 m_statusBar = this->CreateStatusBar(1, wxSTB_SIZEGRIP, wxID_ANY);
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
376 m_statusBar->SetBackgroundColour(wxColour(130, 170, 210));
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
377
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
378 this->Centre(wxBOTH);
2
c0f76f8e67fa ver 1.0.0 release (add 2 items, time-limit@2022-09-30. & bug fix.)
pyon <pyon@macmini>
parents: 0
diff changeset
379 m_searchCtrl->Hide();
0
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
380 }
520044113ef0 beta release.
pyon <pyon@macmini>
parents:
diff changeset
381