Mercurial > mercurial > hgweb_golang.cgi
changeset 49:8384ca56f1b4
small changes.
author | pyon@macmini |
---|---|
date | Thu, 23 Apr 2020 22:54:58 +0900 |
parents | ca00c4a85b98 |
children | 638e1ad05cae |
files | src/kaigo/horori/horori.fbp src/kaigo/horori/merger/include/merger.h src/kaigo/horori/merger/src/merger.cpp src/kaigo/horori/mover/src/mover.cpp src/kaigo/horori/searcher/include/searcher.h src/kaigo/horori/searcher/searcher.conf src/kaigo/horori/searcher/server/searcher.go src/kaigo/horori/searcher/src/main.cpp src/kaigo/horori/searcher/src/searcher.cpp |
diffstat | 9 files changed, 262 insertions(+), 57 deletions(-) [+] |
line wrap: on
line diff
--- a/src/kaigo/horori/horori.fbp Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/horori.fbp Thu Apr 23 22:54:58 2020 +0900 @@ -2021,6 +2021,73 @@ <object class="gbsizeritem" expanded="0"> <property name="border">5</property> <property name="colspan">1</property> + <property name="column">2</property> + <property name="flag">wxALL</property> + <property name="row">0</property> + <property name="rowspan">1</property> + <object class="wxGauge" expanded="0"> + <property name="BottomDockable">1</property> + <property name="LeftDockable">1</property> + <property name="RightDockable">1</property> + <property name="TopDockable">1</property> + <property name="aui_layer"></property> + <property name="aui_name"></property> + <property name="aui_position"></property> + <property name="aui_row"></property> + <property name="best_size"></property> + <property name="bg"></property> + <property name="caption"></property> + <property name="caption_visible">1</property> + <property name="center_pane">0</property> + <property name="close_button">1</property> + <property name="context_help"></property> + <property name="context_menu">1</property> + <property name="default_pane">0</property> + <property name="dock">Dock</property> + <property name="dock_fixed">0</property> + <property name="docking">Left</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="floatable">1</property> + <property name="font"></property> + <property name="gripper">0</property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="max_size"></property> + <property name="maximize_button">0</property> + <property name="maximum_size"></property> + <property name="min_size"></property> + <property name="minimize_button">0</property> + <property name="minimum_size"></property> + <property name="moveable">1</property> + <property name="name">m_gauge</property> + <property name="pane_border">1</property> + <property name="pane_position"></property> + <property name="pane_size"></property> + <property name="permission">protected</property> + <property name="pin_button">1</property> + <property name="pos"></property> + <property name="range">100</property> + <property name="resize">Resizable</property> + <property name="show">1</property> + <property name="size"></property> + <property name="style">wxGA_HORIZONTAL</property> + <property name="subclass">; ; forward_declare</property> + <property name="toolbar_pane">0</property> + <property name="tooltip"></property> + <property name="validator_data_type"></property> + <property name="validator_style">wxFILTER_NONE</property> + <property name="validator_type">wxDefaultValidator</property> + <property name="validator_variable"></property> + <property name="value">0</property> + <property name="window_extra_style"></property> + <property name="window_name"></property> + <property name="window_style"></property> + </object> + </object> + <object class="gbsizeritem" expanded="0"> + <property name="border">5</property> + <property name="colspan">1</property> <property name="column">0</property> <property name="flag">wxALL|wxALIGN_RIGHT</property> <property name="row">1</property> @@ -3528,7 +3595,7 @@ <property name="floatable">1</property> <property name="font"></property> <property name="gripper">0</property> - <property name="hidden">0</property> + <property name="hidden">1</property> <property name="id">wxID_ANY</property> <property name="max_size"></property> <property name="maximize_button">0</property> @@ -3821,11 +3888,11 @@ </object> </object> </object> - <object class="notebookpage" expanded="1"> + <object class="notebookpage" expanded="0"> <property name="bitmap"></property> <property name="label">メンテナンス</property> <property name="select">1</property> - <object class="wxPanel" expanded="1"> + <object class="wxPanel" expanded="0"> <property name="BottomDockable">1</property> <property name="LeftDockable">1</property> <property name="RightDockable">1</property> @@ -3851,7 +3918,7 @@ <property name="floatable">1</property> <property name="font"></property> <property name="gripper">0</property> - <property name="hidden">0</property> + <property name="hidden">1</property> <property name="id">wxID_ANY</property> <property name="max_size"></property> <property name="maximize_button">0</property> @@ -3876,7 +3943,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style">wxTAB_TRAVERSAL</property> - <object class="wxBoxSizer" expanded="1"> + <object class="wxBoxSizer" expanded="0"> <property name="minimum_size"></property> <property name="name">bSizerMainte</property> <property name="orient">wxVERTICAL</property> @@ -3942,11 +4009,11 @@ <property name="wrap">-1</property> </object> </object> - <object class="sizeritem" expanded="1"> + <object class="sizeritem" expanded="0"> <property name="border">15</property> <property name="flag">wxEXPAND|wxLEFT</property> <property name="proportion">0</property> - <object class="wxFlexGridSizer" expanded="1"> + <object class="wxFlexGridSizer" expanded="0"> <property name="cols">5</property> <property name="flexible_direction">wxBOTH</property> <property name="growablecols"></property> @@ -4759,7 +4826,7 @@ <property name="name">m_dataViewListCtrlDrvCcn</property> <property name="permission">protected</property> <property name="pos"></property> - <property name="size">100,-1</property> + <property name="size">150,-1</property> <property name="style"></property> <property name="subclass">; ; forward_declare</property> <property name="tooltip"></property> @@ -4769,6 +4836,17 @@ <event name="OnDataViewListCtrlItemActivated">OnDrvCcnDClicked</event> <event name="OnDataViewListCtrlSelectionChanged">OnDrvCcnSelected</event> <object class="dataViewListColumn" expanded="0"> + <property name="align">wxALIGN_RIGHT</property> + <property name="ellipsize"></property> + <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> + <property name="label">No</property> + <property name="mode">wxDATAVIEW_CELL_INERT</property> + <property name="name">m_dataViewListColumnDrvCcnNo</property> + <property name="permission">protected</property> + <property name="type">Text</property> + <property name="width">50</property> + </object> + <object class="dataViewListColumn" expanded="0"> <property name="align">wxALIGN_CENTER</property> <property name="ellipsize"></property> <property name="flags">wxDATAVIEW_COL_RESIZABLE</property> @@ -5898,14 +5976,14 @@ </object> </object> </object> - <object class="gbsizeritem" expanded="1"> + <object class="gbsizeritem" expanded="0"> <property name="border">5</property> <property name="colspan">1</property> <property name="column">1</property> <property name="flag">wxEXPAND</property> <property name="row">4</property> <property name="rowspan">1</property> - <object class="spacer" expanded="1"> + <object class="spacer" expanded="0"> <property name="height">220</property> <property name="permission">protected</property> <property name="width">0</property> @@ -6318,6 +6396,7 @@ <property name="window_extra_style"></property> <property name="window_name"></property> <property name="window_style"></property> + <event name="OnTextEnter">OnPassword</event> </object> </object> </object>
--- a/src/kaigo/horori/merger/include/merger.h Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/merger/include/merger.h Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : merger.h -// Last Change: 2020-04-16 11:32:33. +// Last Change: 2020-04-23 08:17:25. // #pragma once @@ -52,6 +52,7 @@ wxStaticText* m_staticTextCSV; wxFilePickerCtrl* m_filePicker; + wxGauge* m_gauge; wxStaticText* m_staticTextSpl; LookWindow* m_lookwinSpl;
--- a/src/kaigo/horori/merger/src/merger.cpp Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/merger/src/merger.cpp Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : merger.cpp -// Last Change: 2020-04-21 火 11:16:12. +// Last Change: 2020-04-23 木 08:29:19. // #include <wx/dir.h> #include <wx/textfile.h> @@ -58,6 +58,10 @@ m_filePicker = new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.csv"), wxDefaultPosition, wxSize(400,-1), wxFLP_CHANGE_DIR|wxFLP_FILE_MUST_EXIST|wxFLP_OPEN|wxFLP_SMALL|wxFLP_USE_TEXTCTRL); gbSizer->Add(m_filePicker, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + m_gauge = new wxGauge(this, wxID_ANY, 40, wxDefaultPosition, wxSize(100, 20), wxGA_HORIZONTAL); + m_gauge->SetValue(0); + gbSizer->Add(m_gauge, wxGBPosition(0, 2), wxGBSpan(1, 1), wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_staticTextSpl = new wxStaticText(this, wxID_ANY, wxT("特記"), wxDefaultPosition, wxDefaultSize, 0); gbSizer->Add(m_staticTextSpl, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL|wxALIGN_RIGHT, 5); @@ -81,6 +85,7 @@ gbSizer->Add(m_buttonAclS, wxGBPosition(4, 2), wxGBSpan(1, 1), wxALL, 5); m_buttonSet = new wxButton(this, wxID_ANY, wxT("マスク位置セット"), wxDefaultPosition, wxSize(100, -1), 0); + m_buttonSet->SetBackgroundColour(wxColour(255, 180, 150)); gbSizer->Add(m_buttonSet, wxGBPosition(5, 2), wxGBSpan(1, 1), wxALL|wxALIGN_BOTTOM, 5); m_staticTextMask = new wxStaticText(this, wxID_ANY, wxT("マスク位置"), wxDefaultPosition, wxDefaultSize, 0); @@ -111,14 +116,17 @@ gbSizer->Add(m_dataViewListCtrlParam, wxGBPosition(6, 1), wxGBSpan(4, 1), wxALL|wxEXPAND, 5); m_buttonWrite = new wxButton(this, wxID_ANY, wxT("設定保存"), wxDefaultPosition, wxSize(100, -1), 0); + m_buttonWrite->SetBackgroundColour(wxColour(255, 160, 120)); gbSizer->Add(m_buttonWrite, wxGBPosition(6, 2), wxGBSpan(1, 1), wxALL, 5); gbSizer->Add(0, 60, wxGBPosition(7, 2), wxGBSpan(1, 1), wxEXPAND, 5); m_buttonPrint = new wxButton(this, wxID_ANY, wxT("印刷"), wxDefaultPosition, wxSize(100, -1), 0); + m_buttonPrint->SetBackgroundColour(wxColour(255, 205, 255)); gbSizer->Add(m_buttonPrint, wxGBPosition(8, 2), wxGBSpan(1, 1), wxALL|wxALIGN_LEFT|wxALIGN_BOTTOM, 5); m_buttonPrintAll = new wxButton(this, wxID_ANY, wxT("すべて印刷"), wxDefaultPosition, wxSize(100, -1), 0); + m_buttonPrintAll->SetBackgroundColour(wxColour(255, 175, 255)); gbSizer->Add(m_buttonPrintAll, wxGBPosition(9, 2), wxGBSpan(1, 1), wxALL|wxALIGN_BOTTOM, 5); this->SetSizer(gbSizer); @@ -449,10 +457,13 @@ void MergeFrame::OnPrintAll(wxCommandEvent& WXUNUSED(event)) { - wxString html = wxT("<html><body>\n"); + int n = m_dataViewListCtrlParam->GetItemCount(); + m_gauge->SetRange(n); + m_gauge->SetValue(0); + wxString html = wxT("<html><body>\n"); int page = 1; - for (int r = 0; r < m_dataViewListCtrlParam->GetItemCount(); r++) { + for (int r = 0; r < n; r++) { wxString dirno = m_dataViewListCtrlParam->GetTextValue(r, 0); wxRect mask1, mask2, mask3, mask4; @@ -494,8 +505,11 @@ html += wxString::Format(wxT(" - %02d -"), page++); html += wxT("</p>"); html += wxT("</font>"); + + m_gauge->SetValue(r + 1); } html += wxT("</body></html>"); + m_gauge->SetValue(0); // start printing wxPrintDialogData pd;
--- a/src/kaigo/horori/mover/src/mover.cpp Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/mover/src/mover.cpp Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : mover.cpp -// Last Change: 2020-04-22 水 08:39:38. +// Last Change: 2020-04-23 木 10:57:06. // #include <wx/dir.h> #include <wx/textfile.h> @@ -488,8 +488,10 @@ void MoveFrame::OnHnoChar(wxKeyEvent& event) { - // num-key '-' as BackSpace - if (event.GetKeyCode() == 45) { + int mod = event.GetModifiers(); + int key = event.GetKeyCode(); + + if (key == 45) { // num-key '-' as BackSpace wxString t = m_textCtrlHno->GetStringSelection(); if (t.IsEmpty()) { long p = m_textCtrlHno->GetInsertionPoint(); @@ -499,6 +501,37 @@ } return; } + + switch (key) { + case WXK_UP: { + if (mod == wxMOD_CONTROL) { + MoveLookWin(0, 1); + return; + } + break; + } + case WXK_DOWN: { + if (mod == wxMOD_CONTROL) { + MoveLookWin(0, -1); + return; + } + break; + } + case WXK_RIGHT: { + if (mod == wxMOD_CONTROL) { + MoveLookWin(-1, 0); + return; + } + break; + } + case WXK_LEFT: { + if (mod == wxMOD_CONTROL) { + MoveLookWin(1, 0); + return; + } + break; + } + } event.Skip(); }
--- a/src/kaigo/horori/searcher/include/searcher.h Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/searcher/include/searcher.h Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : searcher.h -// Last Change: 2020-04-22 水 16:26:06. +// Last Change: 2020-04-23 木 16:23:44. // #pragma once @@ -79,6 +79,7 @@ wxRect m_mask1, m_mask2, m_mask3; int m_searchmode; wxArrayString m_hist; + wxString m_user, m_usergroup; MyStaticBitmap* m_staticBitmap1; MyStaticBitmap* m_staticBitmap2; @@ -134,6 +135,7 @@ wxDataViewColumn* m_dataViewListColumnDrvDateNo; wxDataViewColumn* m_dataViewListColumnDrvDate; wxDataViewListCtrl* m_dataViewListCtrlDrvCcn; + wxDataViewColumn* m_dataViewListColumnDrvCcnNo; wxDataViewColumn* m_dataViewListColumnDrvCcn; wxDataViewListCtrl* m_dataViewListCtrlDrv; wxDataViewColumn* m_dataViewListColumnDrvNo; @@ -172,26 +174,34 @@ wxTextCtrl* m_textCtrlPasswd; // Virtual event handlers, overide them in your derived class - virtual void OnChar(wxKeyEvent& event); virtual void OnPageChanged(wxNotebookEvent& event); + virtual void OnFile(wxFileDirPickerEvent& event); virtual void OnRead(wxCommandEvent& event); - virtual void OnHist(wxCommandEvent& event); + virtual void OnSelectBatchListCtrlA(wxKeyEvent& event); virtual void OnSelectBatchDClicked(wxDataViewEvent& event); - virtual void OnSelectListAnyItem(wxDataViewEvent& event); - virtual void OnPrint(wxCommandEvent& event); + virtual void OnIdxYearChoice(wxCommandEvent& event); virtual void OnIdxDateSelected(wxDataViewEvent& event); virtual void OnIdxDClicked(wxDataViewEvent& event); + virtual void OnDrvYearChoice(wxCommandEvent& event); virtual void OnDrvDateSelected(wxDataViewEvent& event); virtual void OnDrvDateDClicked(wxDataViewEvent& event); virtual void OnDrvCcnSelected(wxDataViewEvent& event); virtual void OnDrvCcnDClicked(wxDataViewEvent& event); virtual void OnDrvDClicked(wxDataViewEvent& event); + virtual void OnUploadHhsDB(wxCommandEvent& event); virtual void OnUploadImage(wxCommandEvent& event); + + virtual void OnChar(wxKeyEvent& event); + virtual void OnHist(wxCommandEvent& event); + virtual void OnSelectAnyListItem(wxDataViewEvent& event); + virtual void OnPrint(wxCommandEvent& event); + virtual void OnPassword(wxCommandEvent& event); + virtual void OnClose(wxCloseEvent& event); void CreateControls();
--- a/src/kaigo/horori/searcher/searcher.conf Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/searcher/searcher.conf Thu Apr 23 22:54:58 2020 +0900 @@ -4,6 +4,7 @@ [BatchPrint] file=C:\\Users\\nintei\\Desktop\\test\\資料提供対象者.csv +zoom=99 [Mask] mask1=1080x180+240+190
--- a/src/kaigo/horori/searcher/server/searcher.go Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/searcher/server/searcher.go Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ /* - Last Change: 2020-04-22 水 17:23:42. + Last Change: 2020-04-23 木 14:43:54. */ package main @@ -51,6 +51,7 @@ port string hhsdb string indexdb string + pwdb string server_root string hhash map[string]hhs iymdhash map[string]string @@ -61,12 +62,14 @@ port = ":3910" hhsdb = "hhsdb.csv" indexdb = "index.csv" + pwdb = "passwd" } func main() { server_root = filepath.Dir(os.Args[0]) hhsdb = filepath.Join(server_root, hhsdb) indexdb = filepath.Join(server_root, indexdb) + pwdb = filepath.Join(server_root, pwdb) // setting IP-Address & Port addrs, err := net.InterfaceAddrs() @@ -101,6 +104,7 @@ http.HandleFunc("/u/", uphhsdb_handler) // POST /u/ http.HandleFunc("/ui/", upimage_handler) // POST /ui/20200401/0800012345.tgz http.HandleFunc("/ci/", climage_handler) // Get /ci/20200402 + http.HandleFunc("/pw/", pw_handler) // Get /pw/ -> id1:pw1:id2:pw2:... log.Fatal(http.ListenAndServe(server, nil)) } @@ -402,3 +406,13 @@ os.RemoveAll(dir) } +/* Get /pw/ -> id1:pw1:id2:pw2:... */ +func pw_handler(w http.ResponseWriter, r *http.Request) { + b, err := ioutil.ReadFile(pwdb) + if err != nil { + http.NotFound(w, r) + return + } + w.Write([]byte(strings.ReplaceAll(string(b), "\n", ":"))) +} +
--- a/src/kaigo/horori/searcher/src/main.cpp Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/searcher/src/main.cpp Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : main.cpp -// Last Change: 2020-03-30 月 10:01:47. +// Last Change: 2020-04-23 木 13:59:08. // #include "main.h" #include "searcher.h"
--- a/src/kaigo/horori/searcher/src/searcher.cpp Wed Apr 22 19:00:50 2020 +0900 +++ b/src/kaigo/horori/searcher/src/searcher.cpp Thu Apr 23 22:54:58 2020 +0900 @@ -1,5 +1,5 @@ // Filename : searcher.cpp -// Last Change: 2020-04-22 水 17:51:53. +// Last Change: 2020-04-23 木 17:22:18. // #include <wx/msgdlg.h> #include <wx/dir.h> @@ -156,8 +156,6 @@ InitializeControlsValue(); // Connect Events - m_searchCtrl->Connect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); - m_notebook->Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(SearchFrame::OnPageChanged), NULL, this); m_filePicker->Connect(wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler(SearchFrame::OnFile), NULL, this); @@ -165,10 +163,6 @@ m_dataViewListCtrlBatch->Connect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnSelectBatchListCtrlA), NULL, this); m_dataViewListCtrlBatch->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(SearchFrame::OnSelectBatchDClicked), NULL, this); - m_buttonHist->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); - m_dataViewListCtrlAny->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectListAnyItem), NULL, this); - m_buttonPrint->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnPrint), NULL, this); - m_choiceIdxYear->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SearchFrame::OnIdxYearChoice), NULL, this); m_dataViewListCtrlIdxDate->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnIdxDateSelected), NULL, this); m_dataViewListCtrlIdx->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(SearchFrame::OnIdxDClicked), NULL, this); @@ -183,24 +177,24 @@ m_buttonRegHhs->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadHhsDB), NULL, this); m_buttonRegImg->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadImage), NULL, this); + m_searchCtrl->Connect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); + m_buttonHist->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); + m_dataViewListCtrlAny->Connect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectAnyListItem), NULL, this); + m_buttonPrint->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnPrint), NULL, this); + m_textCtrlPasswd->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearchFrame::OnPassword), NULL, this); + this->Connect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(SearchFrame::OnClose)); } SearchFrame::~SearchFrame() { // Disconnect Events - m_searchCtrl->Disconnect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); - m_notebook->Disconnect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(SearchFrame::OnPageChanged), NULL, this); m_buttonRead->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnRead), NULL, this); m_filePicker->Disconnect(wxEVT_COMMAND_FILEPICKER_CHANGED, wxFileDirPickerEventHandler(SearchFrame::OnFile), NULL, this); - m_buttonHist->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); - m_dataViewListCtrlBatch->Disconnect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnSelectBatchListCtrlA), NULL, this); m_dataViewListCtrlBatch->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(SearchFrame::OnSelectBatchDClicked), NULL, this); - m_dataViewListCtrlAny->Disconnect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectListAnyItem), NULL, this); - m_buttonPrint->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnPrint), NULL, this); m_choiceIdxYear->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(SearchFrame::OnIdxYearChoice), NULL, this); m_dataViewListCtrlIdxDate->Disconnect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnIdxDateSelected), NULL, this); @@ -216,6 +210,12 @@ m_buttonRegHhs->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadHhsDB), NULL, this); m_buttonRegImg->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnUploadImage), NULL, this); + m_searchCtrl->Disconnect(wxEVT_CHAR, wxKeyEventHandler(SearchFrame::OnChar), NULL, this); + m_buttonHist->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnHist), NULL, this); + m_dataViewListCtrlAny->Disconnect(wxEVT_COMMAND_DATAVIEW_SELECTION_CHANGED, wxDataViewEventHandler(SearchFrame::OnSelectAnyListItem), NULL, this); + m_buttonPrint->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(SearchFrame::OnPrint), NULL, this); + m_textCtrlPasswd->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearchFrame::OnPassword), NULL, this); + this->Disconnect(wxEVT_CLOSE_WINDOW, wxCloseEventHandler(SearchFrame::OnClose)); } @@ -233,12 +233,21 @@ wxString hno = m_searchCtrl->GetValue(); m_searchCtrl->SelectAll(); + if (m_user.IsEmpty()) { + wxMessageBox(wxT("input password.")); + this->SetTitle(wxT("Searcher - ")); + m_searchCtrl->SetValue(wxEmptyString); + m_textCtrlPasswd->SelectAll(); + m_textCtrlPasswd->SetFocus(); + return; + } + if (hno.StartsWith(wxT("0"))) { // hno search mode wxString url = wxT("/h/") + hno; wxString h = HttpGetText(m_addr, m_port, url); // Get /h/0800012345 -> name:addr:ymd1#ymd2#... - if (h == wxEmptyString) { + if (h.IsEmpty()) { m_textCtrlName->Clear(); m_textCtrlAddr->Clear(); wxMessageBox(wxT("no data.")); @@ -278,14 +287,14 @@ void SearchFrame::OnPageChanged(wxNotebookEvent& event) { - wxString pw = m_textCtrlPasswd->GetValue(); - - if (pw.IsEmpty()) { + if (!m_usergroup.StartsWith(wxT("star"))) { int n = event.GetSelection(); if (n != 5 && n != 6) return; int m = event.GetOldSelection(); m_notebook->ChangeSelection(m); + + wxMessageBox(wxT("you can't view this page.")); } } @@ -409,6 +418,8 @@ wxVector<wxVariant> data; for (int i = 0; cont; i++) { + wxString n = wxString::Format(wxT("%02d"), i + 1); + data.push_back(wxVariant(n)); data.push_back(wxVariant(dirname)); m_dataViewListCtrlDrvCcn->AppendItem(data); data.clear(); @@ -437,7 +448,7 @@ wxString ccn = wxFILE_SEP_PATH + m_choiceDrvYear->GetString(n); ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvDate->GetTextValue(r1, 1); - ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 0); + ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 1); wxDir dir(ccn); if (!dir.IsOpened()) return; @@ -474,7 +485,7 @@ wxString ccn = wxFILE_SEP_PATH + m_choiceDrvYear->GetString(n); ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvDate->GetTextValue(r1, 1); - ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 0); + ccn += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 1); wxString cmd = wxT("explorer.exe ") + ccn; wxExecute(cmd); @@ -489,7 +500,7 @@ wxString hno = wxFILE_SEP_PATH + m_choiceDrvYear->GetString(n); hno += wxFILE_SEP_PATH + m_dataViewListCtrlDrvDate->GetTextValue(r1, 1); - hno += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 0); + hno += wxFILE_SEP_PATH + m_dataViewListCtrlDrvCcn->GetTextValue(r2, 1); hno += wxFILE_SEP_PATH + m_dataViewListCtrlDrv->GetTextValue(r3, 1); wxString cmd = wxT("explorer.exe ") + hno; @@ -644,15 +655,21 @@ m_notebook->SetSelection(0); } -void SearchFrame::OnSelectListAnyItem(wxDataViewEvent& WXUNUSED(event)) +void SearchFrame::OnSelectAnyListItem(wxDataViewEvent& WXUNUSED(event)) { + RemoveTemp(); + if (m_searchmode == 0) { + SetImages(); m_notebook->SetSelection(0); } } void SearchFrame::OnPrint(wxCommandEvent& WXUNUSED(event)) { + int zoom = m_spinCtrl->GetValue(); + wxString imgsz = wxString::Format(wxT("\" width=\"%d\" height=\"%d\""), 750 * zoom / 100, 1060 * zoom / 100); + switch (m_notebook->GetSelection()) { case 5: {// batch print RemoveTemp(); @@ -693,10 +710,10 @@ html = wxT("<html><body>\n"); for (int i = 0; i < 5; i++) { if (m_dataViewListCtrlBatch->GetToggleValue(r, 4) && i < 3) continue; - html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + wxT("\" width=\"750\" height=\"1060\"/>"); + html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>"); html += wxT("<div align=right><font size=-2><u>") + hno + wxT("</u></font></div>"); if (i == 2 && m_checkBoxBoth->IsChecked()) { - html += wxT("<img src=\"./image/space.tif \" width=\"750\" height=\"1060\"/>"); + html += wxT("<img src=\"./image/space.tif \"") + imgsz + wxT("/>"); } } html += wxT("</body></html>\n"); @@ -730,17 +747,17 @@ if (dlg.ShowModal() == wxID_YES) { if (m_checkBoxMask->IsChecked()) MaskImage1(); for (int i = 0; i < 5; i++) { - html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + wxT("\" width=\"750\" height=\"1060\"/>"); + html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>"); html += wxT("<div align=right><font size=-2><u>") + m_searchCtrl->GetValue() + wxT("</u></font></div>"); if (i == 2 && m_checkBoxBoth->IsChecked()) { - html += wxT("<img src=\"./image/space.tif \" width=\"750\" height=\"1060\"/>"); + html += wxT("<img src=\"./image/space.tif\"") + imgsz + wxT("/>"); } } } else { int i = m_notebook->GetSelection(); if (i == 0 && m_checkBoxMask->IsChecked()) MaskImage1(); - html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, 1) + wxT("\" width=\"750\" height=\"1060\"/>"); + html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>"); html += wxT("<div align=right><font size=-2><u>") + m_searchCtrl->GetValue() + wxT("</u></font></div>"); } html += wxT("</body></html>\n"); @@ -759,6 +776,39 @@ } } +void SearchFrame::OnPassword(wxCommandEvent& WXUNUSED(event)) +{ + if (m_textCtrlPasswd->GetValue() == wxT(".")) { + Close(); + return; + } + + m_user = wxEmptyString; + m_notebook->ChangeSelection(0); + + wxString url = wxT("/pw/"); + wxString buf = HttpGetText(m_addr, m_port, url); + wxArrayString idpw = wxSplit(buf, ':', '\\'); + for (int i = 2; i < idpw.GetCount(); i += 3) { + if (idpw[i].IsSameAs(m_textCtrlPasswd->GetValue())) { + m_user = idpw[i - 1]; + m_usergroup = idpw[i - 2]; + } + } + + if (m_user.IsEmpty()) { + wxMessageBox(wxT("invalid user.")); + this->SetTitle(wxT("Searcher - ")); + m_textCtrlPasswd->SelectAll(); + return; + } + + wxMessageBox(wxString::Format(wxT("%s lonin..."), m_user)); + m_textCtrlPasswd->SetValue(wxT("ora ora ora ora !")); + this->SetTitle(wxString::Format(wxT("Searcher - %s(%s) logined"), m_user, m_usergroup)); + m_searchCtrl->SetFocus(); +} + void SearchFrame::OnClose(wxCloseEvent& WXUNUSED(event)) { RemoveTemp(); @@ -871,8 +921,8 @@ fgSizerIdx->Add(m_staticTextIdxCcn, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5); m_dataViewListCtrlIdx = new wxDataViewListCtrl(m_panelMainte, wxID_ANY, wxDefaultPosition, wxSize(300, -1), wxDV_SINGLE|wxDV_ROW_LINES); - m_dataViewListColumnIdxNo = m_dataViewListCtrlIdx->AppendTextColumn(wxT("No"), wxDATAVIEW_CELL_INERT, 40, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); - m_dataViewListColumnIdxHno = m_dataViewListCtrlIdx->AppendTextColumn(wxT("被保険者番号"), wxDATAVIEW_CELL_INERT, 100, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnIdxNo = m_dataViewListCtrlIdx->AppendTextColumn(wxT("No"), wxDATAVIEW_CELL_INERT, 40, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnIdxHno = m_dataViewListCtrlIdx->AppendTextColumn(wxT("被保険者番号"), wxDATAVIEW_CELL_INERT, 100, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); m_dataViewListColumnIdxName = m_dataViewListCtrlIdx->AppendTextColumn(wxT(" 氏名"), wxDATAVIEW_CELL_INERT, 120, static_cast<wxAlignment>(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); m_dataViewListCtrlIdx->SetAlternateRowColour(wxColour(230, 230, 255)) ; fgSizerIdx->Add(m_dataViewListCtrlIdx, 1, wxALL|wxEXPAND, 5); @@ -892,12 +942,13 @@ m_dataViewListCtrlDrvDate = new wxDataViewListCtrl(m_panelMainte, wxID_ANY, wxDefaultPosition, wxSize(130, 330), wxDV_SINGLE|wxDV_ROW_LINES); m_dataViewListColumnDrvDateNo = m_dataViewListCtrlDrvDate->AppendTextColumn(wxT("No"), wxDATAVIEW_CELL_INERT, 40, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); - m_dataViewListColumnDrvDate = m_dataViewListCtrlDrvDate->AppendTextColumn(wxT("日付"), wxDATAVIEW_CELL_INERT, 80, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnDrvDate = m_dataViewListCtrlDrvDate->AppendTextColumn(wxT("日付"), wxDATAVIEW_CELL_INERT, 80, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); m_dataViewListCtrlDrvDate->SetAlternateRowColour(wxColour(230, 230, 255)) ; fgSizerIdx->Add(m_dataViewListCtrlDrvDate, 1, wxALL|wxEXPAND, 5); - m_dataViewListCtrlDrvCcn = new wxDataViewListCtrl(m_panelMainte, wxID_ANY, wxDefaultPosition, wxSize(80,-1 ), wxDV_SINGLE|wxDV_ROW_LINES); - m_dataViewListColumnDrvCcn = m_dataViewListCtrlDrvCcn->AppendTextColumn(wxT("合議対"), wxDATAVIEW_CELL_INERT, -1, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListCtrlDrvCcn = new wxDataViewListCtrl(m_panelMainte, wxID_ANY, wxDefaultPosition, wxSize(130, -1), wxDV_SINGLE|wxDV_ROW_LINES); + m_dataViewListColumnDrvCcnNo = m_dataViewListCtrlDrvCcn->AppendTextColumn(wxT("No"), wxDATAVIEW_CELL_INERT, 50, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE ); + m_dataViewListColumnDrvCcn = m_dataViewListCtrlDrvCcn->AppendTextColumn(wxT("合議対"), wxDATAVIEW_CELL_INERT, -1, static_cast<wxAlignment>(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); m_dataViewListCtrlDrvCcn->SetAlternateRowColour(wxColour(230, 230, 255)) ; fgSizerIdx->Add(m_dataViewListCtrlDrvCcn, 1, wxALL|wxEXPAND, 5); @@ -1002,7 +1053,7 @@ gbSizer->Add(m_gauge, wxGBPosition(7, 1), wxGBSpan(1, 2), wxALL, 5); m_textCtrlPasswd = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PASSWORD|wxTE_PROCESS_ENTER); - m_textCtrlPasswd->SetMaxLength(4); + m_textCtrlPasswd->SetMaxLength(8); gbSizer->Add(m_textCtrlPasswd, wxGBPosition(8, 1), wxGBSpan(1, 2), wxALL|wxALIGN_BOTTOM, 5); this->SetSizer(gbSizer); @@ -1024,6 +1075,8 @@ conf->SetPath(wxT("/BatchPrint")); conf->Read(wxT("file"), &buf); m_filePicker->SetPath(buf); + conf->Read(wxT("zoom"), &buf); + m_spinCtrl->SetValue(buf); conf->SetPath(wxT("/Mask")); conf->Read(wxT("mask1"), &buf); @@ -1067,9 +1120,9 @@ m_textCtrlLastIndex->SetValue(latest); m_searchmode = 0; + m_textCtrlPasswd->SetFocus(); m_buttonHist->Enable(false); - m_textCtrlPasswd->SetValue("a"); } void SearchFrame::SetHhsInfo(wxString h)