diff src/search.cpp @ 0:615a15029602 default tip

first commit.
author pyon@macmini
date Sun, 10 Nov 2019 08:39:41 +0900
parents
children
line wrap: on
line diff
--- /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<wxAlignment>(wxALIGN_RIGHT), 0);
+	m_dataViewListColumnDate = m_dataViewListCtrlResult->AppendTextColumn(wxT("日付"), wxDATAVIEW_CELL_INERT, 80, static_cast<wxAlignment>(wxALIGN_CENTER), 0);
+	m_dataViewListColumnDir  = m_dataViewListCtrlResult->AppendTextColumn(wxT("場所"), wxDATAVIEW_CELL_INERT, 200, static_cast<wxAlignment>(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);
+}
+
+