# HG changeset patch # User pyon@macmini # Date 1573342781 -32400 # Node ID 615a1502960210941e36e42e929523fb48ac9a40 first commit. diff -r 000000000000 -r 615a15029602 LeSearcher.fbp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LeSearcher.fbp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,2519 @@ + + + + + ; + C++ + 1 + source_name + 0 + 0 + res + UTF-8 + connect + + 1000 + none + + + 0 + LeSearcherProject + + . + + 1 + 1 + 1 + 1 + UI + 0 + 1 + 0 + + 0 + wxAUI_MGR_DEFAULT + 227,224,219 + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + SearcherFrame + + 420,440 + wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX + ; ; forward_declare + Le Searcher + + + + wxTAB_TRAVERSAL + 1 + + + + 1 + 1 + + + 0 + wxID_ANY + MyMenuBar + + + m_menubar + protected + + + + ; ; forward_declare + + + + + + ファイル + m_menuFile + protected + + + 0 + 0 + + ID_MN_UPDB + wxITEM_NORMAL + データベース更新 + m_menuItemUpdateDB + none + + + + + + 0 + 0 + + ID_MN_USER + wxITEM_NORMAL + ユーザ管理 + m_menuItemUser + none + + + + + + 0 + 0 + + ID_MN_SETTING + wxITEM_NORMAL + 設定 + m_menuItemSetting + none + + + + + m_separatorFile + none + + + + 0 + 1 + + ID_MN_VERSION + wxITEM_NORMAL + バージョン + m_menuItemVersion + none + + + OnMenuVersion + + + + ツール + m_menuTool + protected + + + 0 + 0 + + ID_MN_KANA + wxITEM_NORMAL + カナ検索 + m_menuItemKana + none + ALT-k + + + + + 0 + 0 + + ID_MN_HIST + wxITEM_NORMAL + 検索履歴 + m_menuItemHist + none + ALT-H + + + + m_separatorTool + none + + + + 0 + 0 + + ID_MN_INDEX + wxITEM_NORMAL + インデックス + m_menuItemIndex + none + + + + + + 0 + 0 + + ID_MN_BPRINT + wxITEM_NORMAL + バッチ印刷 + m_menuItemBPrint + none + + + + + + 0 + 0 + + ID_MN_MRGMV + wxITEM_NORMAL + 資料作成 + m_menuItemMergeMove + none + + + + + + + + wxBOTH + 1 + 2 + 0 + + gbSizer + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 1 + 0 + wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + コマンド? + 0 + + 0 + + + 0 + + 1 + m_staticTextCommand + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + 0 + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_searchCtrl + 1 + + + protected + 1 + + Resizable + 1 + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + OnText + OnSearch + + + + 5 + 1 + 0 + wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + メッセージ + 0 + + 0 + + + 0 + + 1 + m_staticTextMessage + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + + 0 + + 1 + m_textCtrlMessage + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + + 5 + 1 + 0 + wxALL|wxALIGN_RIGHT + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 検索結果 + 0 + + 0 + + + 0 + + 1 + m_staticTextResult + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + 1 + 1 + wxALL|wxEXPAND + 2 + 2 + + + + 1 + 1 + + + 0 + wxID_ANY + + + m_dataViewListCtrlResult + protected + + + wxDV_HORIZ_RULES|wxDV_ROW_LINES|wxDV_SINGLE + ; ; forward_declare + + + + + OnDclickResult + + wxALIGN_RIGHT + + + No + wxDATAVIEW_CELL_INERT + m_dataViewListColumnNo + protected + Text + 40 + + + wxALIGN_CENTER + + + 日付 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnDate + protected + Text + 80 + + + wxALIGN_LEFT + + + 場所 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnDir + protected + Text + 200 + + + + + 5 + 1 + 0 + wxALL|wxALIGN_BOTTOM + 3 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_bitmapLogo + 1 + + + protected + 1 + + Resizable + 1 + + ; ; forward_declare + 0 + + + + + + + + + + 0 + wxAUI_MGR_DEFAULT + 180,209,143 + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + PreviewFrame + + 500,700 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + プレビュー + + + + wxTAB_TRAVERSAL + 1 + + + wxBOTH + 0 + 3 + 0 + + gbSizer + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 1 + 0 + wxEXPAND | wxALL + 0 + 9 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_scrolledWindowCanvas + 1 + + + protected + 1 + + Resizable + 5 + 5 + 1 + + ; ; forward_declare + 0 + + + + wxHSCROLL|wxVSCROLL + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_PRV_DATE + + 0 + + + 0 + + 1 + m_choiceDate + 1 + + + protected + 1 + + Resizable + 0 + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + + + + 5 + 1 + 1 + wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_PRV_PRIV + < 前へ + + 0 + + 0 + + + 0 + + 1 + m_buttonPriv + 1 + + + protected + 1 + + + + Resizable + 1 + 50,-1 + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPriv + + + + 5 + 1 + 2 + wxALL|wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_PRV_NEXT + 次へ > + + 0 + + 0 + + + 0 + + 1 + m_buttonNext + 1 + + + protected + 1 + + + + Resizable + 1 + 50,-1 + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnNext + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_HORIZONTAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_PRV_ZOOM + 100 + + 0 + + 0 + + 0 + + 1 + m_sliderZoom + 1 + + + protected + 1 + + Resizable + 1 + 100,-1 + wxSL_HORIZONTAL + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + 0 + + + + OnScroll + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 4 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "マスクしない" "マスクする" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + ID_PRV_MASK + + 0 + + + 0 + + 1 + m_choiceMask + 1 + + + protected + 1 + + Resizable + 0 + 1 + 100,-1 + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnMaskChoice + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 5 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + "すべて" "表示ページのみ" + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + + 0 + + 1 + m_choicePage + 1 + + + protected + 1 + + Resizable + 0 + 1 + 100,-1 + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPageChoice + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 6 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 100 + 150 + + 0 + + 50 + + 0 + + 1 + m_spinCtrlPZoom + 1 + + + protected + 1 + + Fixed + 1 + 50,-1 + wxSP_ARROW_KEYS + ; ; forward_declare + 0 + + + + + + + + + 5 + 2 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 7 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_PRV_PRINT + 印刷 + + 0 + + 0 + + + 0 + + 1 + m_buttonPrint + 1 + + + protected + 1 + + + + Resizable + 1 + 100,-1 + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPrint + + + + + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + SettingFrame + + 500,300 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + 設定 + + + + wxTAB_TRAVERSAL + 1 + + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + IndexFrame + + 500,300 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + インデックス + + + + wxTAB_TRAVERSAL + 1 + + + 0 + wxAUI_MGR_DEFAULT + 171,171,209 + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + UpdateDBFrame + + 430,130 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + DB更新 + + + + wxTAB_TRAVERSAL + 1 + + 2 + wxBOTH + + + 0 + + fgSizer + wxFLEX_GROWMODE_SPECIFIED + none + 0 + 0 + + 5 + wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 被保険者CSV + 0 + + 0 + + + 0 + + 1 + m_staticTextHhs + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + Select a file + + 0 + + 1 + m_filePickerHhs + 1 + + + protected + 1 + + Resizable + 1 + 300,-1 + wxFLP_CHANGE_DIR|wxFLP_FILE_MUST_EXIST|wxFLP_SMALL|wxFLP_USE_TEXTCTRL + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + *.* + + + + + + + 5 + wxALL|wxALIGN_RIGHT + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + 居宅介護支援CSV + 0 + + 0 + + + 0 + + 1 + m_staticText5 + 1 + + + protected + 1 + + Resizable + 1 + + + ; ; forward_declare + 0 + + + + + -1 + + + + 5 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + 1 + 0 + 1 + + 1 + 0 + Dock + 0 + Left + 1 + + 1 + + 0 + 0 + wxID_ANY + + 0 + + Select a file + + 0 + + 1 + m_filePickerCM + 1 + + + protected + 1 + + Resizable + 1 + 300,-1 + wxFLP_CHANGE_DIR|wxFLP_SMALL|wxFLP_USE_TEXTCTRL + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + *.* + + + + + + + 5 + wxEXPAND + 1 + + 0 + protected + 0 + + + + 5 + wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL + 0 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_UPDB + 更新処理 + + 0 + + 0 + + + 0 + + 1 + m_buttonUpdate + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnUpdate + + + + + + 0 + wxAUI_MGR_DEFAULT + 168,206,249 + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + UserFrame + + 422,300 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + ユーザ管理 + + + + wxTAB_TRAVERSAL + 1 + + + wxBOTH + 0 + 1 + 0 + + gbSizer + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 1 + 0 + wxALL|wxEXPAND + 0 + 3 + + + + 1 + 1 + + + 0 + wxID_ANY + + + m_dataViewListCtrlUser + protected + + + wxDV_HORIZ_RULES|wxDV_NO_HEADER|wxDV_ROW_LINES|wxDV_SINGLE + ; ; forward_declare + + + + + + wxALIGN_LEFT + + wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE + ID + wxDATAVIEW_CELL_INERT + m_dataViewListColumnId + protected + Text + 80 + + + wxALIGN_CENTER_HORIZONTAL + + wxDATAVIEW_COL_SORTABLE + グループ + wxDATAVIEW_CELL_INERT + m_dataViewListColumnGroup + protected + Text + 60 + + + wxALIGN_LEFT + + wxDATAVIEW_COL_RESIZABLE + 氏名 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnName + protected + Text + 120 + + + + + 5 + 1 + 1 + wxALL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_USR_ADD + 追加 + + 0 + + 0 + + + 0 + + 1 + m_buttonAdd + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnAdd + + + + 5 + 1 + 1 + wxALL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_USR_DEL + 削除 + + 0 + + 0 + + + 0 + + 1 + m_buttonDel + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnDelete + + + + 5 + 1 + 1 + wxALL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_USR_SAVE + 保存 + + 0 + + 0 + + + 0 + + 1 + m_buttonSave + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnSave + + + + + + 0 + wxAUI_MGR_DEFAULT + 244,196,241 + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + BPrintFrame + + 500,300 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + バッチ印刷 + + + + wxTAB_TRAVERSAL + 1 + + + wxBOTH + 0 + 2 + 0 + + gbSizer + wxFLEX_GROWMODE_SPECIFIED + none + 0 + + 5 + 1 + 0 + wxALL|wxEXPAND + 0 + 3 + + + + 1 + 1 + + + 0 + wxID_ANY + + + m_dataViewListCtrl + protected + + + + ; ; forward_declare + + + + + + wxALIGN_RIGHT + + wxDATAVIEW_COL_RESIZABLE + No + wxDATAVIEW_CELL_INERT + m_dataViewListColumnNo + protected + Text + 40 + + + wxALIGN_CENTER + + wxDATAVIEW_COL_RESIZABLE + 被保番 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnHhs + protected + Text + 80 + + + wxALIGN_LEFT + + wxDATAVIEW_COL_RESIZABLE + 氏名 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnName + protected + Text + 120 + + + wxALIGN_LEFT + + wxDATAVIEW_COL_RESIZABLE + 場所 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnDir + protected + Text + 200 + + + wxALIGN_CENTER + + wxDATAVIEW_COL_RESIZABLE + 設定 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnSet + protected + Text + 20 + + + wxALIGN_CENTER + + wxDATAVIEW_COL_RESIZABLE + マスク + wxDATAVIEW_CELL_INERT + m_dataViewListColumnMask + protected + Toggle + 20 + + + wxALIGN_LEFT + + wxDATAVIEW_COL_RESIZABLE + 状態 + wxDATAVIEW_CELL_INERT + m_dataViewListColumnStat + protected + Progress + 80 + + + + + 5 + 1 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 0 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_BP_ADD + 追加 + + 0 + + 0 + + + 0 + + 1 + m_buttonAdd + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnAdd + + + + 5 + 1 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 1 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_BP_DEL + 削除 + + 0 + + 0 + + + 0 + + 1 + m_buttonDel + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnDelete + + + + 5 + 1 + 1 + wxALL|wxALIGN_CENTER_VERTICAL + 2 + 1 + + 1 + 1 + 1 + 1 + + + + + + + + + 1 + 0 + 1 + + 1 + + 0 + 0 + + Dock + 0 + Left + 1 + + 1 + + + 0 + 0 + ID_BP_PRINT + 印刷 + + 0 + + 0 + + + 0 + + 1 + m_buttonPrint + 1 + + + protected + 1 + + + + Resizable + 1 + + + ; ; forward_declare + 0 + + + wxFILTER_NONE + wxDefaultValidator + + + + + OnPrint + + + + + + 0 + wxAUI_MGR_DEFAULT + + wxBOTH + + 1 + 1 + impl_virtual + + + + 0 + wxID_ANY + + + MergeMoveFrame + + 500,300 + wxDEFAULT_FRAME_STYLE + ; ; forward_declare + 資料作成 + + + + wxTAB_TRAVERSAL + 1 + + + diff -r 000000000000 -r 615a15029602 Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,150 @@ +# Makefile for wxWidgets Application +# Last Change: 2019-11-08 金 14:26:27. +# by Takayuki Mutoh +# + +PROGNAME = lesearcher + +### Variables ### +CXX = g++ +#ARCH = 32 +ARCH = 64 +LOCAL = C:/msys64/home/CL0137/local$(ARCH) +OBJDIR = ./obj$(ARCH) +vpath %.cpp ./src +vpath %.h ./include + +# For Microsoft Windows +ifdef COMSPEC +WXCXXFLAGS = -I$(LOCAL)/lib/wx/include/msw-unicode-static-3.1 -I$(LOCAL)/include/wx-3.1 -D_LARGEFILE_SOURCE=unknown -D__WXMSW__ -mthreads +WXLIBS = -L$(LOCAL)/lib -Wl,--subsystem,windows -mwindows -lwx_mswu_xrc-3.1 -lwx_mswu_qa-3.1 -lwx_baseu_net-3.1 -lwx_mswu_html-3.1 -lwx_mswu_adv-3.1 -lwx_mswu_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu-3.1 -lwxtiff-3.1 -lwxjpeg-3.1 -lwxpng-3.1 -lwxregexu-3.1 -lwxscintilla-3.1 -lwxexpat-3.1 -lwxzlib-3.1 -lrpcrt4 -loleaut32 -lole32 -luuid -luxtheme -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lcomdlg32 -ladvapi32 -lversion -lwsock32 -lgdi32 -loleacc +LIBS = $(WXLIBS) -static + +EXECUTABLE = $(PROGNAME).exe + +# For Apple OSX +else +WXCXXFLAGS = -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib/wx/include/osx_cocoa-unicode-3.1 -I/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ +WXLIBS = -L/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3.1/lib -framework IOKit -framework Carbon -framework Cocoa -framework AudioToolbox -framework System -framework OpenGL -lwx_osx_cocoau_xrc-3.1 -lwx_osx_cocoau_html-3.1 -lwx_osx_cocoau_qa-3.1 -lwx_osx_cocoau_adv-3.1 -lwx_osx_cocoau_core-3.1 -lwx_baseu_xml-3.1 -lwx_baseu_net-3.1 -lwx_baseu-3.1 +LIBS = $(WXLIBS) + +EXECUTABLE = $(PROGNAME).app/Contents/PkgInfo + +endif + +CXXFLAGS = $(WXCXXFLAGS) -I./include -I./image + + +OBJ = $(OBJDIR)/main.o \ + $(OBJDIR)/search.o \ + $(OBJDIR)/preview.o \ + $(OBJDIR)/setting.o \ + $(OBJDIR)/index.o \ + $(OBJDIR)/update.o \ + $(OBJDIR)/user.o \ + $(OBJDIR)/bprint.o \ + $(OBJDIR)/mmove.o + #$(OBJDIR)/appconf.o \ + #$(OBJDIR)/util.o \ + +ifdef COMSPEC +OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o +endif + + +### Targets ### + +all: $(EXECUTABLE) + @ echo "----------------------------" + @ echo " making $(ARCH) bit program " + @ echo "----------------------------" + +$(PROGNAME): $(OBJ) $(OBJMSW) + $(call process-message, $(EXECUTABLE)) + $(CXX) $^ -o $@ $(LIBS) + +$(OBJDIR)/main.o: main.cpp main.h search.h + $(call process-message, "main.o") + -mkdir -p $(OBJDIR) + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/search.o: search.cpp search.h + $(call process-message, "search.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/preview.o: preview.cpp preview.h + $(call process-message, "preview.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/setting.o: setting.cpp setting.h + $(call process-message, "setting.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/index.o: index.cpp index.h + $(call process-message, "index.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/update.o: update.cpp update.h + $(call process-message, "update.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/user.o: user.cpp user.h + $(call process-message, "user.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/bprint.o: bprint.cpp bprint.h + $(call process-message, "bprint.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + +$(OBJDIR)/mmove.o: mmove.cpp mmove.h + $(call process-message, "mmove.o") + $(CXX) -c $< -o $@ $(CXXFLAGS) + + +# for icon +ifdef COMSPEC +$(OBJDIR)/sample_rc.o: sample.rc + windres -i sample.rc -o $@ -I$(LOCAL)/include/wx-3.1 +endif + +$(EXECUTABLE): $(PROGNAME) +ifdef COMSPEC + strip --strip-all $(EXECUTABLE) + ./$(PROGNAME).exe +else + -mkdir -p $(PROGNAME).app/Contents + -mkdir -p $(PROGNAME).app/Contents/MacOS + -mkdir -p $(PROGNAME).app/Contents/Resources + + sed -e "s/IDENTIFIER/$(PROGNAME)/" \ + -e "s/EXECUTABLE/$(PROGNAME)/" \ + -e "s/VERSION/0.0/" \ + Info.plist.in > $(PROGNAME).app/Contents/Info.plist + + echo "APPL????" > $(EXECUTABLE) + + ln -f $(PROGNAME) $(PROGNAME).app/Contents/MacOS/$(PROGNAME) + cp -f wxmac.icns $(PROGNAME).app/Contents/Resources/wxmac.icns + + open $(PROGNAME).app +endif + +# for archive +TARFILE=$(shell date "+del_%Y%m%d.tgz") +tgz: + tar cvfz $(TARFILE) src include Makefile TODO app.conf + +# clean +clean: + rm -f $(PROGNAME) $(PROGNAME).exe + rm -f $(OBJDIR)/*.o + rm -rf $(PROGNAME).app + +# user function +define process-message + @ echo "" + @ echo "===> $1 <===" +endef + +.PHONY: all tgz clean + diff -r 000000000000 -r 615a15029602 app.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app.conf Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,47 @@ +[Search] +geometry=111x222+11+22 + +[Preview] +geometry=111x222+11+22 +printzoom=100 + +[Index] +geometry=111x222+11+22 + +[Mask] +;name:cm-no:barcode +set1=111x222+11+22:112x222+11+22:113x222+11+22 +set2=111x222+11+22:112x222+11+22:113x222+11+22 +set3=111x222+11+22:112x222+11+22:113x222+11+22 +;;600dpi +mask1=2180x90+1880+180 +mask2=1955x200+2545+180 +mask3=890x120+1970+330 +mask4=3910x1130+800+510 + +[Marksheet] +;name:hhsno:hhsno-mark +set1=111x222+11+22:112x222+11+22:113x222+11+22 +set2=111x222+11+22:112x222+11+22:113x222+11+22 +set3=111x222+11+22:112x222+11+22:113x222+11+22 +;;600dpi +hno=1200x200+2700+440 +name=1400x380+480+1040 +mhno=1200x1020+2700+620 + +[UpdateDB] +hhscsv=F:\\hhs.csv +cmcsv=F:\\cm.csv + +[BatchPrint] +geometry=111x222+11+22 +csv=F:\\hoge.csv + +[Net] +server=192.168.21.5:80 +proxy=192.168.21.5:80 + +[Ccn] +ccn=pقP:pقQ:pقR:P:Q:R:用P:用Q:用R:ȂP:ȂQ:ȂR:ȂS:ȂT:ȂU +sss=0000000031:0000000032:0000000033:0000000021:0000000022:0000000023:0000000041:0000000042:0000000043:0000000001:0000000002:0000000003:0000000004:0000000005:0000000006 + diff -r 000000000000 -r 615a15029602 doc/TODO.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/TODO.txt Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,54 @@ +TODO List + Last Change: 2019-11-10 Sun 08:20:14. + +======================================= += クライアント側 +======================================= + +--------------------------------- += le:seaarcher = +--------------------------------- +<介護保険事務所 & 出先> +* パスワード(id)は そのつどサーバで確認. +* 対象のインデックスもそのつどサーバで取得. + +GET http://server:8080/search/userid:hhsno:date + > userid がバッドなら戻り値 '' + > n=00000000 でリスト & 氏名/住所(暗号化どうするか?) + n>00000000で画像(tif) + +* ユーザ/PC の権限により UpdateDB,Index,M&M,BPrint, UserMng のメニュー トグル +GET http://server:8080/auth/userid + > 0. 管理者(7moon) 1,1,1,1, 1 + > 1.事務所員(IPaddress) 0,1,1,1, 0 + > 2. 調査員(userid) 0,0,0,0, 0 + +<介護保険事務所のみ> +* User Manager は双方向txt(utf8,圧縮なし)で送受信 + +--------------------------------- += merger & mover = +--------------------------------- +<介護保険事務所のみ> +* 審査会資料を残す tif 1ファイル + ビューワ作製必要 +* 申請書も tif 1ファイル + ビューワ作製必要 + +* インデックス(差分)はtxtで送付,サーバで結合(ungzip & gzip) + +--------------------------------- += index = +--------------------------------- +<介護保険事務所のみ> +* サーバで hhsdb と indexdb を紐付けし,gz にして送信 + + GET http://server:8080/index/ + +======================================= += サーバ側 (Go) +======================================= +* userid をロード +* index.gz をロード +* hhsdb.gz をロード + diff -r 000000000000 -r 615a15029602 image/logo.png Binary file image/logo.png has changed diff -r 000000000000 -r 615a15029602 image/logo.xcf Binary file image/logo.xcf has changed diff -r 000000000000 -r 615a15029602 include/bprint.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/bprint.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,45 @@ +/* Filename : bprint.h + Last Change: 2019-11-08 金 14:19:58. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +#include + +class BPrintFrame : public wxFrame +{ + private: + + protected: + enum + { + ID_BP_ADD = 1000, + ID_BP_DEL, + ID_BP_PRINT + }; + + wxDataViewListCtrl* m_dataViewListCtrl; + wxDataViewColumn* m_dataViewListColumnNo; + wxDataViewColumn* m_dataViewListColumnHhs; + wxDataViewColumn* m_dataViewListColumnName; + wxDataViewColumn* m_dataViewListColumnDir; + wxDataViewColumn* m_dataViewListColumnSet; + wxDataViewColumn* m_dataViewListColumnMask; + wxDataViewColumn* m_dataViewListColumnStat; + wxButton* m_buttonAdd; + wxButton* m_buttonDel; + wxButton* m_buttonPrint; + + // Virtual event handlers, overide them in your derived class + virtual void OnAdd( wxCommandEvent& event ) { event.Skip(); } + virtual void OnDelete( wxCommandEvent& event ) { event.Skip(); } + virtual void OnPrint( wxCommandEvent& event ) { event.Skip(); } + + public: + BPrintFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("バッチ印刷"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~BPrintFrame(); +}; + diff -r 000000000000 -r 615a15029602 include/index.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/index.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,21 @@ +/* Filename : index.h + Last Change: 2019-11-08 金 14:16:06. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +class IndexFrame : public wxFrame +{ + private: + + protected: + + public: + IndexFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("インデックス"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~IndexFrame(); +}; + + diff -r 000000000000 -r 615a15029602 include/main.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/main.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,25 @@ +/* Filename : main.h + Last Change: 2019-11-08 金 14:16:12. + by Takayuki Mutoh +*/ +#pragma once + +#include + +// private classes +// Define a new application type, each program should derive a class from wxApp +class MyApp : public wxApp +{ + DECLARE_CLASS( MyApp ) + private: + + public: + MyApp(); + ~MyApp(); + + virtual bool OnInit(); + virtual int OnExit(); +}; + +DECLARE_APP( MyApp ) + diff -r 000000000000 -r 615a15029602 include/mmove.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/mmove.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,21 @@ +/* Filename : mmover.h + Last Change: 2019-11-08 金 14:16:26. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include + +class MergeMoveFrame : public wxFrame +{ + private: + + protected: + + public: + MergeMoveFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("資料作成"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~MergeMoveFrame(); +}; + diff -r 000000000000 -r 615a15029602 include/preview.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/preview.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,54 @@ +/* Filename : preview.h + Last Change: 2019-11-08 金 14:18:50. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class PreviewFrame : public wxFrame +{ + private: + + protected: + enum + { + ID_PRV_DATE = 1000, + ID_PRV_PRIV, + ID_PRV_NEXT, + ID_PRV_ZOOM, + ID_PRV_MASK, + ID_PRV_PRINT + }; + + wxScrolledWindow* m_scrolledWindowCanvas; + wxChoice* m_choiceDate; + wxButton* m_buttonPriv; + wxButton* m_buttonNext; + wxSlider* m_sliderZoom; + wxChoice* m_choiceMask; + wxChoice* m_choicePage; + wxSpinCtrl* m_spinCtrlPZoom; + wxButton* m_buttonPrint; + + // Virtual event handlers, overide them in your derived class + virtual void OnPriv( wxCommandEvent& event ) { event.Skip(); } + virtual void OnNext( wxCommandEvent& event ) { event.Skip(); } + virtual void OnScroll( wxScrollEvent& event ) { event.Skip(); } + virtual void OnMaskChoice( wxCommandEvent& event ) { event.Skip(); } + virtual void OnPageChoice( wxCommandEvent& event ) { event.Skip(); } + virtual void OnPrint( wxCommandEvent& event ) { event.Skip(); } + + public: + PreviewFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("プレビュー"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,700 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~PreviewFrame(); +}; + diff -r 000000000000 -r 615a15029602 include/search.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/search.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,71 @@ +/* Filename : search.h + Last Change: 2019-11-08 金 14:16:50. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class SearcherFrame : public wxFrame +{ + private: + + protected: + enum + { + ID_MN_UPDB = 1000, + ID_MN_USER, + ID_MN_SETTING, + ID_MN_VERSION, + ID_MN_KANA, + ID_MN_HIST, + ID_MN_INDEX, + ID_MN_BPRINT, + ID_MN_MRGMV + }; + + wxMenuBar* m_menubar; + wxMenu* m_menuFile; + wxMenu* m_menuTool; + wxStaticText* m_staticTextCommand; + wxSearchCtrl* m_searchCtrl; + wxStaticText* m_staticTextMessage; + wxTextCtrl* m_textCtrlMessage; + wxStaticText* m_staticTextResult; + wxDataViewListCtrl* m_dataViewListCtrlResult; + wxDataViewColumn* m_dataViewListColumnNo; + wxDataViewColumn* m_dataViewListColumnDate; + wxDataViewColumn* m_dataViewListColumnDir; + wxStaticBitmap* m_bitmapLogo; + + // Virtual event handlers, overide them in your derived class + virtual void OnMenuVersion( wxCommandEvent& event ) { event.Skip(); } + virtual void OnText( wxCommandEvent& event ) { event.Skip(); } + virtual void OnSearch( wxCommandEvent& event ) { event.Skip(); } + virtual void OnDclickResult( wxDataViewEvent& event ) { event.Skip(); } + + public: + SearcherFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("Le Searcher"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 420,440 ), long style = wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxTAB_TRAVERSAL ); + ~SearcherFrame(); +}; + + diff -r 000000000000 -r 615a15029602 include/setting.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/setting.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,20 @@ +/* Filename : setting.h + Last Change: 2019-11-08 金 14:17:07. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include + + +class SettingFrame : public wxFrame +{ + private: + + protected: + + public: + SettingFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("設定"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~SettingFrame(); +}; diff -r 000000000000 -r 615a15029602 include/update.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/update.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,35 @@ +/* Filename : update.h + Last Change: 2019-11-08 金 14:19:19. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +#include + +class UpdateDBFrame : public wxFrame +{ + private: + + protected: + enum + { + ID_UPDB = 1000 + }; + + wxStaticText* m_staticTextHhs; + wxFilePickerCtrl* m_filePickerHhs; + wxStaticText* m_staticText5; + wxFilePickerCtrl* m_filePickerCM; + wxButton* m_buttonUpdate; + + // Virtual event handlers, overide them in your derived class + virtual void OnUpdate( wxCommandEvent& event ) { event.Skip(); } + + public: + UpdateDBFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("DB更新"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 430,130 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~UpdateDBFrame(); +}; + diff -r 000000000000 -r 615a15029602 include/user.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/user.h Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,42 @@ +/* Filename : user.h + Last Change: 2019-11-08 金 14:19:40. + by Takayuki Mutoh +*/ +#pragma once + +#include +#include +#include +#include + +class UserFrame : public wxFrame +{ + private: + + protected: + enum + { + ID_USR_ADD = 1000, + ID_USR_DEL, + ID_USR_SAVE + }; + + wxDataViewListCtrl* m_dataViewListCtrlUser; + wxDataViewColumn* m_dataViewListColumnId; + wxDataViewColumn* m_dataViewListColumnGroup; + wxDataViewColumn* m_dataViewListColumnName; + wxButton* m_buttonAdd; + wxButton* m_buttonDel; + wxButton* m_buttonSave; + + // Virtual event handlers, overide them in your derived class + virtual void OnAdd( wxCommandEvent& event ) { event.Skip(); } + virtual void OnDelete( wxCommandEvent& event ) { event.Skip(); } + virtual void OnSave( wxCommandEvent& event ) { event.Skip(); } + + public: + UserFrame( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxT("ユーザ管理"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 422,300 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL ); + ~UserFrame(); +}; + + diff -r 000000000000 -r 615a15029602 lsserver.go --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lsserver.go Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,189 @@ +/* + server.go : server-program. + Version : 0.1 + Last Change: 2019-11-08 金 17:47:26. +*/ +package main + +import ( + "bufio" + "fmt" + "log" + "net/http" + "os" + "strconv" + "strings" +) + +const ( + version = "0.1" + + userdb = "user.gz.txt" + hhsdb = "hhsdb.gz.txt" + indexdb = "indexdb.gz.txt" +) + +var ( + server string + + userhash map[string]user + hhshash map[string]hhs +) + +type user struct { + id string + group int + name string +} + +type hhs struct { + no string + name string + kana string + addr string + birth string + sex string + dates []string +} + +func (h *hhs) Info() string { + dates := "" + for _, d := range h.dates { + dates += ":" + d + } + s := []string{h.name, h.addr, dates} + return strings.Join(s, ",") +} + +func init() { + server = "localhost:80" +} + +func main() { + load_user() + load_hhs() + load_index() + + // start Web-server + fmt.Println("Le:Searcher-Server start [", server, "] ( version", version, ")") + http.HandleFunc("/auth/", auth_handler) + http.HandleFunc("/search/", search_handler) + http.HandleFunc("/index/", index_handler) + log.Fatal(http.ListenAndServe(server, nil)) +} + +// DB-Load Functions +func load_user() error { + // userid:n + userhash = make(map[string]user) + + f, err := os.OpenFile(userdb, os.O_RDONLY, 0644) + if err != nil { + return err + } + scanner := bufio.NewScanner(f) + for scanner.Scan() { + s := strings.Split(scanner.Text(), ":") + g, _ := strconv.Atoi(s[1]) + u := user{id: s[0], group: g, name: s[2]} + userhash[s[0]] = u + } + if err := scanner.Err(); err != nil { + fmt.Fprintln(os.Stderr, "reading userdb", err) + } + if err := f.Close(); err != nil { + return err + } + return nil +} + +func load_hhs() error { + hhshash = make(map[string]hhs) + + f, err := os.OpenFile(hhsdb, os.O_RDONLY, 0644) + if err != nil { + return err + } + scanner := bufio.NewScanner(f) + for scanner.Scan() { + s := strings.Split(scanner.Text(), ",") + h := hhs{no: s[0], name: s[1]} + hhshash[s[0]] = h + } + if err := scanner.Err(); err != nil { + fmt.Fprintln(os.Stderr, "reading hhsdb", err) + } + if err := f.Close(); err != nil { + return err + } + return nil +} + +func load_index() error { + // hhsno:date + f, err := os.OpenFile(indexdb, os.O_RDONLY, 0644) + if err != nil { + return err + } + scanner := bufio.NewScanner(f) + for scanner.Scan() { + s := strings.Split(scanner.Text(), ":") + h := hhshash[s[0]] + h.dates = append(h.dates, s[1]) + hhshash[s[0]] = h + } + if err := scanner.Err(); err != nil { + fmt.Fprintln(os.Stderr, "reading indexdb", err) + } + if err := f.Close(); err != nil { + return err + } + return nil +} + +// HTTP Handlers +func auth_handler(w http.ResponseWriter, r *http.Request) { + // Toggle Le:Searcher-Client menu + // userid : UpdateDB, Index, M&M, BPrint, UserMng + // 7moon : 1, 1, 1, 1, 1 => manager :0 + // kaigo : 0, 1, 1, 1, 0 => staff :1 # acl by IPaddress + // chosha : 0, 0, 0, 0, 0 => chosa :2 + fmt.Println("auth") + + id := r.URL.Path[len("/auth/"):] + fmt.Println(id) + g := 0 + switch g { + case 0: + w.Write([]byte("0")) + case 1: + w.Write([]byte("1")) + default: + w.Write([]byte("2")) + } +} + +func search_handler(w http.ResponseWriter, r *http.Request) { + // /search/userid:hhsno:date + // n=00000000 -> name & address & dates + // n>00000000 -> tif image + fmt.Println("search") + + p := r.URL.Path[len("/search/"):] + s := strings.Split(p, ":") + if false { // invalid user + http.NotFound(w, r) + return + } + if strings.Compare(s[1], "00000000") == 0 { + h := hhshash[s[1]] + w.Write([]byte(h.Info())) + return + } + +} + +func index_handler(w http.ResponseWriter, r *http.Request) { + fmt.Println("index") +} + diff -r 000000000000 -r 615a15029602 sample.ico Binary file sample.ico has changed diff -r 000000000000 -r 615a15029602 sample.rc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sample.rc Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,32 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: samples/samples.rc +// Purpose: a standard Win32 .rc file for the wxWindows samples +// Author: Vadim Zeitlin +// Modified by: +// Created: 04.08.03 +// RCS-ID: $Id: sample.rc 22863 2003-08-14 14:08:53Z VS $ +// Copyright: (c) 2003 Vadim Zeitlin +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// this minimal resource file is all what is needed for most of the wxWindows +// samples + +// note that the icon used by the Explorer (i.e. the programs icon) is the +// first icon in the executable and the icons are sorted both by their order +// (Win9x) and by alphabetically (!) (NT), so put this icon first and give it +// a name starting with "a" +aaaaaaaa ICON "sample.ico" + +// this icon is used with wxFrame::SetIcon() +sample ICON "sample.ico" + +// set this to 1 if you don't want to use manifest resource (manifest resource +// is needed to enable visual styles on Windows XP - see docs/msw/winxp.txt +// for more information) +#define wxUSE_NO_MANIFEST 0 + +// this is not always needed but doesn't hurt (except making the executable +// very slightly larger): this file contains the standard icons, cursors, ... +#include "wx/msw/wx.rc" + diff -r 000000000000 -r 615a15029602 src/bprint.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/bprint.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,61 @@ +/* Filename : bprint.cpp + Last Change: 2019-11-08 金 14:22:36. + by Takayuki Mutoh +*/ +#include "bprint.h" + +BPrintFrame::BPrintFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(245, 195, 240)); + + wxGridBagSizer* gbSizer; + gbSizer = new wxGridBagSizer(0, 0); + gbSizer->SetFlexibleDirection(wxBOTH); + gbSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); + + m_dataViewListCtrl = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0); + m_dataViewListColumnNo = m_dataViewListCtrl->AppendTextColumn(wxT("No "), wxDATAVIEW_CELL_INERT, 40, static_cast(wxALIGN_RIGHT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnHhs = m_dataViewListCtrl->AppendTextColumn(wxT("被保番"), wxDATAVIEW_CELL_INERT, 80, static_cast(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnName = m_dataViewListCtrl->AppendTextColumn(wxT(" 氏名"), wxDATAVIEW_CELL_INERT, 120, static_cast(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnDir = m_dataViewListCtrl->AppendTextColumn(wxT(" 場所"), wxDATAVIEW_CELL_INERT, 200, static_cast(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnSet = m_dataViewListCtrl->AppendTextColumn(wxT("設定"), wxDATAVIEW_CELL_INERT, 20, static_cast(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnMask = m_dataViewListCtrl->AppendToggleColumn(wxT("マスク"), wxDATAVIEW_CELL_INERT, 20, static_cast(wxALIGN_CENTER), wxDATAVIEW_COL_RESIZABLE); + m_dataViewListColumnStat = m_dataViewListCtrl->AppendProgressColumn(wxT("状態"), wxDATAVIEW_CELL_INERT, 80, static_cast(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + gbSizer->Add(m_dataViewListCtrl, wxGBPosition(0, 0), wxGBSpan(3, 1), wxALL|wxEXPAND, 5); + + m_buttonAdd = new wxButton(this, ID_BP_ADD, wxT("追加"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonAdd, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_buttonDel = new wxButton(this, ID_BP_DEL, wxT("削除"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonDel, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_buttonPrint = new wxButton(this, ID_BP_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonPrint, wxGBPosition(2, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + + gbSizer->AddGrowableCol(0); + gbSizer->AddGrowableRow(2); + + this->SetSizer(gbSizer); + this->Layout(); + + this->Centre(wxBOTH); + + // Connect Events + m_buttonAdd->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnAdd), NULL, this); + m_buttonDel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnDelete), NULL, this); + m_buttonPrint->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnPrint), NULL, this); +} + +BPrintFrame::~BPrintFrame() +{ + // Disconnect Events + m_buttonAdd->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnAdd), NULL, this); + m_buttonDel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnDelete), NULL, this); + m_buttonPrint->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(BPrintFrame::OnPrint), NULL, this); + +} + + diff -r 000000000000 -r 615a15029602 src/index.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/index.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,20 @@ +/* Filename : index.cpp + Last Change: 2019-11-08 金 14:22:42. + by Takayuki Mutoh +*/ +#include "index.h" + +IndexFrame::IndexFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + + + this->Centre(wxBOTH); +} + +IndexFrame::~IndexFrame() +{ +} + + diff -r 000000000000 -r 615a15029602 src/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,44 @@ +/* Filename : main.cpp + Last Change: 2019-11-08 金 13:50:16. + by Takayuki Mutoh +*/ + +#include "main.h" +#include "search.h" + +IMPLEMENT_APP(MyApp) + +IMPLEMENT_CLASS(MyApp, wxApp) + +MyApp::MyApp() +{ +} +MyApp::~MyApp() +{ +} + +bool MyApp::OnInit() +{ + if ( !wxApp::OnInit() ) return false; + + wxImage::AddHandler( new wxJPEGHandler ); + /* + wxImage::AddHandler( new wxPNGHandler ); + + AppConf appconf; + wxRect rect = appconf.LoadRect(); + */ + // Main Window + SearcherFrame *searchframe = new SearcherFrame(NULL, wxID_ANY, "Le Searcher", wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE); + //MainFrame *mainframe = new MainFrame(NULL, wxID_ANY, "Le Searcher", wxPoint( rect.x, rect.y ), rect.GetSize(), wxDEFAULT_FRAME_STYLE ); + searchframe->Show(true); + searchframe->Raise(); + + return true; +} + +int MyApp::OnExit() +{ + return 0; +} + diff -r 000000000000 -r 615a15029602 src/mmove.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/mmove.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,19 @@ +/* Filename : mmove.cpp + Last Change: 2019-11-08 金 14:22:28. + by Takayuki Mutoh +*/ +#include "mmove.h" + +MergeMoveFrame::MergeMoveFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + + + this->Centre(wxBOTH); +} + +MergeMoveFrame::~MergeMoveFrame() +{ +} + diff -r 000000000000 -r 615a15029602 src/preview.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/preview.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,99 @@ +/* Filename : preview.cpp + Last Change: 2019-11-08 金 14:25:42. + by Takayuki Mutoh +*/ +#include "preview.h" + +PreviewFrame::PreviewFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(180, 200, 140)); + + wxGridBagSizer* gbSizer; + gbSizer = new wxGridBagSizer(0, 0); + gbSizer->SetFlexibleDirection(wxBOTH); + gbSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); + + m_scrolledWindowCanvas = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL); + m_scrolledWindowCanvas->SetScrollRate(5, 5); + gbSizer->Add(m_scrolledWindowCanvas, wxGBPosition(0, 0), wxGBSpan(9, 1), wxEXPAND | wxALL, 5); + + wxArrayString m_choiceDateChoices; + m_choiceDate = new wxChoice(this, ID_PRV_DATE, wxDefaultPosition, wxDefaultSize, m_choiceDateChoices, 0); + m_choiceDate->SetSelection(0); + gbSizer->Add(m_choiceDate, wxGBPosition(0, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5); + + m_buttonPriv = new wxButton(this, ID_PRV_PRIV, wxT("< 前へ"), wxDefaultPosition, wxSize(50,-1), 0); + gbSizer->Add(m_buttonPriv, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); + + m_buttonNext = new wxButton(this, ID_PRV_NEXT, wxT("次へ >"), wxDefaultPosition, wxSize(50,-1), 0); + gbSizer->Add(m_buttonNext, wxGBPosition(1, 2), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_sliderZoom = new wxSlider(this, ID_PRV_ZOOM, 0, 0, 100, wxDefaultPosition, wxSize(100,-1), wxSL_HORIZONTAL); + gbSizer->Add(m_sliderZoom, wxGBPosition(2, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_HORIZONTAL, 5); + + wxString m_choiceMaskChoices[] = { wxT("マスクしない"), wxT("マスクする") }; + int m_choiceMaskNChoices = sizeof(m_choiceMaskChoices) / sizeof(wxString); + m_choiceMask = new wxChoice(this, ID_PRV_MASK, wxDefaultPosition, wxSize(100,-1), m_choiceMaskNChoices, m_choiceMaskChoices, 0); + m_choiceMask->SetSelection(0); + gbSizer->Add(m_choiceMask, wxGBPosition(4, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + wxString m_choicePageChoices[] = { wxT("すべて"), wxT("表示ページのみ") }; + int m_choicePageNChoices = sizeof(m_choicePageChoices) / sizeof(wxString); + m_choicePage = new wxChoice(this, wxID_ANY, wxDefaultPosition, wxSize(100,-1), m_choicePageNChoices, m_choicePageChoices, 0); + m_choicePage->SetSelection(0); + gbSizer->Add(m_choicePage, wxGBPosition(5, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_spinCtrlPZoom = new wxSpinCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(50,-1), wxSP_ARROW_KEYS, 50, 150, 100); + gbSizer->Add(m_spinCtrlPZoom, wxGBPosition(6, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_buttonPrint = new wxButton(this, ID_PRV_PRINT, wxT("印刷"), wxDefaultPosition, wxSize(100,-1), 0); + gbSizer->Add(m_buttonPrint, wxGBPosition(7, 1), wxGBSpan(1, 2), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + + gbSizer->AddGrowableCol(0); + gbSizer->AddGrowableRow(3); + + this->SetSizer(gbSizer); + this->Layout(); + + this->Centre(wxBOTH); + + // Connect Events + m_buttonPriv->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnPriv), NULL, this); + m_buttonNext->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnNext), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_TOP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_BOTTOM, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_LINEUP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_PAGEUP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Connect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_choiceMask->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(PreviewFrame::OnMaskChoice), NULL, this); + m_choicePage->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(PreviewFrame::OnPageChoice), NULL, this); + m_buttonPrint->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnPrint), NULL, this); +} + +PreviewFrame::~PreviewFrame() +{ + // Disconnect Events + m_buttonPriv->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnPriv), NULL, this); + m_buttonNext->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnNext), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_TOP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_BOTTOM, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_LINEUP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_LINEDOWN, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_PAGEUP, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_PAGEDOWN, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_THUMBTRACK, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_THUMBRELEASE, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_sliderZoom->Disconnect(wxEVT_SCROLL_CHANGED, wxScrollEventHandler(PreviewFrame::OnScroll), NULL, this); + m_choiceMask->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(PreviewFrame::OnMaskChoice), NULL, this); + m_choicePage->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(PreviewFrame::OnPageChoice), NULL, this); + m_buttonPrint->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(PreviewFrame::OnPrint), NULL, this); + +} + diff -r 000000000000 -r 615a15029602 src/search.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/search.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,126 @@ +/* Filename : search.cpp + Last Change: 2019-11-08 金 14:23:23. + by Takayuki Mutoh +*/ +#include "search.h" + +SearcherFrame::SearcherFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(225, 225, 225)); + + m_menubar = new wxMenuBar(0); + m_menuFile = new wxMenu(); + wxMenuItem* m_menuItemUpdateDB; + m_menuItemUpdateDB = new wxMenuItem(m_menuFile, ID_MN_UPDB, wxString(wxT("データベース更新")) , wxEmptyString, wxITEM_NORMAL); + m_menuFile->Append(m_menuItemUpdateDB); + m_menuItemUpdateDB->Enable(false); + + wxMenuItem* m_menuItemUser; + m_menuItemUser = new wxMenuItem(m_menuFile, ID_MN_USER, wxString(wxT("ユーザ管理")) , wxEmptyString, wxITEM_NORMAL); + m_menuFile->Append(m_menuItemUser); + m_menuItemUser->Enable(false); + + wxMenuItem* m_menuItemSetting; + m_menuItemSetting = new wxMenuItem(m_menuFile, ID_MN_SETTING, wxString(wxT("設定")) , wxEmptyString, wxITEM_NORMAL); + m_menuFile->Append(m_menuItemSetting); + m_menuItemSetting->Enable(false); + + m_menuFile->AppendSeparator(); + + wxMenuItem* m_menuItemVersion; + m_menuItemVersion = new wxMenuItem(m_menuFile, ID_MN_VERSION, wxString(wxT("バージョン")) , wxEmptyString, wxITEM_NORMAL); + m_menuFile->Append(m_menuItemVersion); + + m_menubar->Append(m_menuFile, wxT("ファイル")); + + m_menuTool = new wxMenu(); + wxMenuItem* m_menuItemKana; + m_menuItemKana = new wxMenuItem(m_menuTool, ID_MN_KANA, wxString(wxT("カナ検索")) + wxT('\t') + wxT("ALT-k"), wxEmptyString, wxITEM_NORMAL); + m_menuTool->Append(m_menuItemKana); + m_menuItemKana->Enable(false); + + wxMenuItem* m_menuItemHist; + m_menuItemHist = new wxMenuItem(m_menuTool, ID_MN_HIST, wxString(wxT("検索履歴")) + wxT('\t') + wxT("ALT-H"), wxEmptyString, wxITEM_NORMAL); + m_menuTool->Append(m_menuItemHist); + m_menuItemHist->Enable(false); + + m_menuTool->AppendSeparator(); + + wxMenuItem* m_menuItemIndex; + m_menuItemIndex = new wxMenuItem(m_menuTool, ID_MN_INDEX, wxString(wxT("インデックス")) , wxEmptyString, wxITEM_NORMAL); + m_menuTool->Append(m_menuItemIndex); + m_menuItemIndex->Enable(false); + + wxMenuItem* m_menuItemBPrint; + m_menuItemBPrint = new wxMenuItem(m_menuTool, ID_MN_BPRINT, wxString(wxT("バッチ印刷")) , wxEmptyString, wxITEM_NORMAL); + m_menuTool->Append(m_menuItemBPrint); + m_menuItemBPrint->Enable(false); + + wxMenuItem* m_menuItemMergeMove; + m_menuItemMergeMove = new wxMenuItem(m_menuTool, ID_MN_MRGMV, wxString(wxT("資料作成")) , wxEmptyString, wxITEM_NORMAL); + m_menuTool->Append(m_menuItemMergeMove); + m_menuItemMergeMove->Enable(false); + + m_menubar->Append(m_menuTool, wxT("ツール")); + + this->SetMenuBar(m_menubar); + + wxGridBagSizer* gbSizer; + gbSizer = new wxGridBagSizer(0, 0); + gbSizer->SetFlexibleDirection(wxBOTH); + gbSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); + + m_staticTextCommand = new wxStaticText(this, wxID_ANY, wxT("コマンド?"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_staticTextCommand, wxGBPosition(0, 0), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5); + + m_searchCtrl = new wxSearchCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); + #ifndef __WXMAC__ + m_searchCtrl->ShowSearchButton(true); + #endif + m_searchCtrl->ShowCancelButton(false); + gbSizer->Add(m_searchCtrl, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_staticTextMessage = new wxStaticText(this, wxID_ANY, wxT("メッセージ"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_staticTextMessage, wxGBPosition(1, 0), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5); + + m_textCtrlMessage = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_textCtrlMessage, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5); + + m_staticTextResult = new wxStaticText(this, wxID_ANY, wxT("検索結果"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_staticTextResult, wxGBPosition(2, 0), wxGBSpan(1, 1), wxALL|wxALIGN_RIGHT, 5); + + m_dataViewListCtrlResult = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_HORIZ_RULES|wxDV_ROW_LINES|wxDV_SINGLE); + m_dataViewListColumnNo = m_dataViewListCtrlResult->AppendTextColumn(wxT("No "), wxDATAVIEW_CELL_INERT, 40, static_cast(wxALIGN_RIGHT), 0); + m_dataViewListColumnDate = m_dataViewListCtrlResult->AppendTextColumn(wxT("日付"), wxDATAVIEW_CELL_INERT, 80, static_cast(wxALIGN_CENTER), 0); + m_dataViewListColumnDir = m_dataViewListCtrlResult->AppendTextColumn(wxT("場所"), wxDATAVIEW_CELL_INERT, 200, static_cast(wxALIGN_LEFT), 0); + gbSizer->Add(m_dataViewListCtrlResult, wxGBPosition(2, 1), wxGBSpan(2, 1), wxALL|wxEXPAND, 5); + + m_bitmapLogo = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_bitmapLogo, wxGBPosition(3, 0), wxGBSpan(1, 1), wxALL|wxALIGN_BOTTOM, 5); + + gbSizer->AddGrowableCol(1); + gbSizer->AddGrowableRow(2); + + this->SetSizer(gbSizer); + this->Layout(); + + this->Centre(wxBOTH); + + // Connect Events + m_menuFile->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(SearcherFrame::OnMenuVersion), this, m_menuItemVersion->GetId()); + m_searchCtrl->Connect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(SearcherFrame::OnText), NULL, this); + m_searchCtrl->Connect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearcherFrame::OnSearch), NULL, this); + m_dataViewListCtrlResult->Connect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(SearcherFrame::OnDclickResult), NULL, this); +} + +SearcherFrame::~SearcherFrame() +{ + // Disconnect Events + m_searchCtrl->Disconnect(wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler(SearcherFrame::OnText), NULL, this); + m_searchCtrl->Disconnect(wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler(SearcherFrame::OnSearch), NULL, this); + m_dataViewListCtrlResult->Disconnect(wxEVT_COMMAND_DATAVIEW_ITEM_ACTIVATED, wxDataViewEventHandler(SearcherFrame::OnDclickResult), NULL, this); +} + + diff -r 000000000000 -r 615a15029602 src/setting.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/setting.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,18 @@ +/* Filename : setting.cpp + Last Change: 2019-11-08 金 14:23:14. + by Takayuki Mutoh +*/ +#include "setting.h" + +SettingFrame::SettingFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + + this->Centre(wxBOTH); +} + +SettingFrame::~SettingFrame() +{ +} + diff -r 000000000000 -r 615a15029602 src/update.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/update.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,50 @@ +/* Filename : update.cpp + Last Change: 2019-11-08 金 14:23:08. + by Takayuki Mutoh +*/ +#include "update.h" + +UpdateDBFrame::UpdateDBFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(170, 170, 200)); + + wxFlexGridSizer* fgSizer; + fgSizer = new wxFlexGridSizer(0, 2, 0, 0); + fgSizer->SetFlexibleDirection(wxBOTH); + fgSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); + + m_staticTextHhs = new wxStaticText(this, wxID_ANY, wxT("被保険者CSV"), wxDefaultPosition, wxDefaultSize, 0); + fgSizer->Add(m_staticTextHhs, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5); + + m_filePickerHhs = new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxSize(300,-1), wxFLP_CHANGE_DIR|wxFLP_FILE_MUST_EXIST|wxFLP_SMALL|wxFLP_USE_TEXTCTRL); + fgSizer->Add(m_filePickerHhs, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); + + m_staticText5 = new wxStaticText(this, wxID_ANY, wxT("居宅介護支援CSV"), wxDefaultPosition, wxDefaultSize, 0); + fgSizer->Add(m_staticText5, 0, wxALL|wxALIGN_RIGHT, 5); + + m_filePickerCM = new wxFilePickerCtrl(this, wxID_ANY, wxEmptyString, wxT("Select a file"), wxT("*.*"), wxDefaultPosition, wxSize(300,-1), wxFLP_CHANGE_DIR|wxFLP_SMALL|wxFLP_USE_TEXTCTRL); + fgSizer->Add(m_filePickerCM, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); + + fgSizer->Add(0, 0, 1, wxEXPAND, 5); + + m_buttonUpdate = new wxButton(this, ID_UPDB, wxT("更新処理"), wxDefaultPosition, wxDefaultSize, 0); + fgSizer->Add(m_buttonUpdate, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); + + + this->SetSizer(fgSizer); + this->Layout(); + + this->Centre(wxBOTH); + + // Connect Events + m_buttonUpdate->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UpdateDBFrame::OnUpdate), NULL, this); +} + +UpdateDBFrame::~UpdateDBFrame() +{ + // Disconnect Events + m_buttonUpdate->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UpdateDBFrame::OnUpdate), NULL, this); + +} diff -r 000000000000 -r 615a15029602 src/user.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/user.cpp Sun Nov 10 08:39:41 2019 +0900 @@ -0,0 +1,57 @@ +/* Filename : user.cpp + Last Change: 2019-11-08 金 14:22:49. + by Takayuki Mutoh +*/ +#include "user.h" + +UserFrame::UserFrame(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) + : wxFrame(parent, id, title, pos, size, style) +{ + this->SetSizeHints(wxDefaultSize, wxDefaultSize); + this->SetBackgroundColour(wxColour(170, 200, 250)); + + wxGridBagSizer* gbSizer; + gbSizer = new wxGridBagSizer(0, 0); + gbSizer->SetFlexibleDirection(wxBOTH); + gbSizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED); + + m_dataViewListCtrlUser = new wxDataViewListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxDV_HORIZ_RULES|wxDV_NO_HEADER|wxDV_ROW_LINES|wxDV_SINGLE); + m_dataViewListColumnId = m_dataViewListCtrlUser->AppendTextColumn(wxT(" ID"), wxDATAVIEW_CELL_INERT, 80, static_cast(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE|wxDATAVIEW_COL_SORTABLE); + m_dataViewListColumnGroup = m_dataViewListCtrlUser->AppendTextColumn(wxT("グループ"), wxDATAVIEW_CELL_INERT, 60, static_cast(wxALIGN_CENTER_HORIZONTAL), wxDATAVIEW_COL_SORTABLE); + m_dataViewListColumnName = m_dataViewListCtrlUser->AppendTextColumn(wxT(" 氏名"), wxDATAVIEW_CELL_INERT, 120, static_cast(wxALIGN_LEFT), wxDATAVIEW_COL_RESIZABLE); + gbSizer->Add(m_dataViewListCtrlUser, wxGBPosition(0, 0), wxGBSpan(3, 1), wxALL|wxEXPAND, 5); + + m_buttonAdd = new wxButton(this, ID_USR_ADD, wxT("追加"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonAdd, wxGBPosition(0, 1), wxGBSpan(1, 1), wxALL, 5); + + m_buttonDel = new wxButton(this, ID_USR_DEL, wxT("削除"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonDel, wxGBPosition(1, 1), wxGBSpan(1, 1), wxALL, 5); + + m_buttonSave = new wxButton(this, ID_USR_SAVE, wxT("保存"), wxDefaultPosition, wxDefaultSize, 0); + gbSizer->Add(m_buttonSave, wxGBPosition(2, 1), wxGBSpan(1, 1), wxALL, 5); + + + gbSizer->AddGrowableCol(0); + gbSizer->AddGrowableRow(1); + + this->SetSizer(gbSizer); + this->Layout(); + + this->Centre(wxBOTH); + + // Connect Events + m_buttonAdd->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnAdd), NULL, this); + m_buttonDel->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnDelete), NULL, this); + m_buttonSave->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnSave), NULL, this); +} + +UserFrame::~UserFrame() +{ + // Disconnect Events + m_buttonAdd->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnAdd), NULL, this); + m_buttonDel->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnDelete), NULL, this); + m_buttonSave->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(UserFrame::OnSave), NULL, this); + +} + +